From cce590e9f09a7e69a8b3eb073243ff5f7e81db29 Mon Sep 17 00:00:00 2001 From: "shuwen.wu" Date: Fri, 25 Sep 2026 11:56:58 +0800 Subject: [PATCH 01/22] fix: handle None return from error handler in no-output background callbacks When a background callback with no outputs raises an exception, the error handler is called. If the error handler returns None, the code was incorrectly setting output_value = NoUpdate(), which then triggered an InvalidCallbackReturnValue exception at the output validation step. This change adds the same output_spec check that exists in the non-background callback path (line 866) to the background callback path (line 635), ensuring that NoUpdate() is only set when there are actual outputs to update. Fixes plotly/dash#3628 --- dash/_callback.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/dash/_callback.py b/dash/_callback.py index 1a24bdf621..c400a3c3a1 100644 --- a/dash/_callback.py +++ b/dash/_callback.py @@ -574,6 +574,7 @@ def _update_background_callback( kwargs, background, multi, + output_spec, cache_key=None, job_id=None, ): @@ -602,6 +603,7 @@ def _update_background_callback( error_handler, callback_ctx, multi, + output_spec, cache_key=cache_key, job_id=job_id, ) @@ -614,6 +616,7 @@ def _handle_rest_background_callback( error_handler, callback_ctx, multi, + output_spec, has_update=False, cache_key=None, job_id=None, @@ -632,7 +635,7 @@ def _handle_rest_background_callback( if error_handler: output_value = error_handler(exc) - if output_value is None: + if output_value is None and output_spec: output_value = NoUpdate() # set_props from the error handler uses the original ctx # instead of manager.get_updated_props since it runs in the @@ -852,7 +855,7 @@ def add_context(*args, **kwargs): ) output_value, has_update, skip = _update_background_callback( - error_handler, callback_ctx, response, kwargs, background, multi + error_handler, callback_ctx, response, kwargs, background, multi, output_spec ) if skip: return output_value @@ -923,7 +926,7 @@ async def async_add_context(*args, **kwargs): callback_ctx, ) output_value, has_update, skip = _update_background_callback( - error_handler, callback_ctx, response, kwargs, background, multi + error_handler, callback_ctx, response, kwargs, background, multi, output_spec ) if skip: return output_value From 38bd0e7c45e300cf45aebcc4ee81c3e66dd8a7b3 Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Wed, 30 Sep 2026 16:02:06 +0800 Subject: [PATCH 02/22] fix: pass output_spec to MCP background task handler --- dash/mcp/tasks/tasks.py | 1 + .../tools/test_mcp_background_callbacks.py | 51 +++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/dash/mcp/tasks/tasks.py b/dash/mcp/tasks/tasks.py index 5f0ac3faf2..1b0e713855 100644 --- a/dash/mcp/tasks/tasks.py +++ b/dash/mcp/tasks/tasks.py @@ -162,6 +162,7 @@ def get_task_result(task_id: str) -> Any: kwargs={"background_callback_manager": manager}, background=background, multi=multi, + output_spec=output_spec, cache_key=cache_key, job_id=job_id, ) diff --git a/tests/unit/mcp/tools/test_mcp_background_callbacks.py b/tests/unit/mcp/tools/test_mcp_background_callbacks.py index 8a9b96bbb8..509ff26d50 100644 --- a/tests/unit/mcp/tools/test_mcp_background_callbacks.py +++ b/tests/unit/mcp/tools/test_mcp_background_callbacks.py @@ -10,6 +10,7 @@ import json import time +from types import SimpleNamespace import diskcache from dash import Dash, Input, Output, html, _callback_signing @@ -298,3 +299,53 @@ def test_mcpbg011_task_id_encodes_tool_name_job_id_cache_key(): assert job_id.isdigit() assert len(cache_key) == 64 # SHA256 hex assert created_epoch.isdigit() + + +def test_mcpbg012_tasks_result_passes_output_spec(monkeypatch): + from dash.mcp.tasks import tasks + + output_spec = [{"id": "output", "property": "children"}] + adapter = SimpleNamespace( + _cb_info={"background": object(), "no_output": False}, + output_id="output.children", + as_callback_body=lambda _params: {"outputs": output_spec}, + ) + app = SimpleNamespace( + mcp_callback_map=SimpleNamespace(find_by_tool_name=lambda _name: adapter) + ) + manager = object() + captured = {} + + def update_background_callback( + error_handler, + callback_ctx, + response, + kwargs, + background, + multi, + output_spec, + cache_key=None, + job_id=None, + ): + captured["output_spec"] = output_spec + return None, False, False + + monkeypatch.setattr( + tasks, + "parse_task_id", + lambda _task_id: ("tool", "job", "cache", None), + ) + monkeypatch.setattr(tasks, "get_app", lambda: app) + monkeypatch.setattr(tasks, "_get_callback_manager", lambda _tool_name: manager) + monkeypatch.setattr( + tasks, "_update_background_callback", update_background_callback + ) + monkeypatch.setattr(tasks, "_prepare_response", lambda *args, **kwargs: None) + monkeypatch.setattr( + tasks, + "format_callback_response", + lambda _response, _adapter: "formatted", + ) + + assert tasks.get_task_result("task-id") == "formatted" + assert captured["output_spec"] is output_spec From f267f5868295fed4e44f3b77fcb235876e0c29c5 Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Wed, 30 Sep 2026 17:00:25 +0800 Subject: [PATCH 03/22] style: format callback error handling --- dash/_callback.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/dash/_callback.py b/dash/_callback.py index 534e770bf0..2fe197766b 100644 --- a/dash/_callback.py +++ b/dash/_callback.py @@ -312,12 +312,10 @@ def _validate_stream_callback(callback_id, background, kwargs, is_sync_gen): def validate_background_inputs(deps): for dep in deps: if dep.has_wildcard(): - raise WildcardInLongCallback( - f""" + raise WildcardInLongCallback(f""" background callbacks does not support dependencies with pattern-matching ids - Received: {repr(dep)}\n""" - ) + Received: {repr(dep)}\n""") ClientsideFuncType = Union[str, ClientsideFunction] @@ -930,7 +928,13 @@ def add_context(*args, **kwargs): ) output_value, has_update, skip = _update_background_callback( - error_handler, callback_ctx, response, kwargs, background, multi, output_spec + error_handler, + callback_ctx, + response, + kwargs, + background, + multi, + output_spec, ) if skip: return output_value @@ -1001,7 +1005,13 @@ async def async_add_context(*args, **kwargs): callback_ctx, ) output_value, has_update, skip = _update_background_callback( - error_handler, callback_ctx, response, kwargs, background, multi, output_spec + error_handler, + callback_ctx, + response, + kwargs, + background, + multi, + output_spec, ) if skip: return output_value From c0be071fd7559ade83e5718981285fb77911bf91 Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Wed, 30 Sep 2026 18:15:02 +0800 Subject: [PATCH 04/22] style: match pinned Black formatting --- dash/_callback.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dash/_callback.py b/dash/_callback.py index 2fe197766b..fb1952f762 100644 --- a/dash/_callback.py +++ b/dash/_callback.py @@ -312,10 +312,12 @@ def _validate_stream_callback(callback_id, background, kwargs, is_sync_gen): def validate_background_inputs(deps): for dep in deps: if dep.has_wildcard(): - raise WildcardInLongCallback(f""" + raise WildcardInLongCallback( + f""" background callbacks does not support dependencies with pattern-matching ids - Received: {repr(dep)}\n""") + Received: {repr(dep)}\n""" + ) ClientsideFuncType = Union[str, ClientsideFunction] From 054249f8312771a3abe604d03b2cfada498d0629 Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Wed, 30 Sep 2026 18:29:06 +0800 Subject: [PATCH 05/22] test: cover no-output background callback errors --- tests/background_callback/app_bg_on_error.py | 16 ++++++++++++++++ .../test_basic_long_callback019.py | 11 +++++++++++ 2 files changed, 27 insertions(+) create mode 100644 tests/background_callback/test_basic_long_callback019.py diff --git a/tests/background_callback/app_bg_on_error.py b/tests/background_callback/app_bg_on_error.py index 724531f092..3945695e53 100644 --- a/tests/background_callback/app_bg_on_error.py +++ b/tests/background_callback/app_bg_on_error.py @@ -20,6 +20,8 @@ def global_error_handler(err): html.Div(id="cb-output"), html.Button("global on_error", id="start-global-onerror"), html.Div(id="global-output"), + html.Button("no-output callback on_error", id="start-no-output-cb-onerror"), + html.Div(id="no-output-cb-onerror-output"), ] @@ -48,5 +50,19 @@ def on_click_global(_): raise Exception("global error") +def no_output_callback_on_error(err): + set_props("no-output-cb-onerror-output", {"children": f"callback: {err}"}) + + +@app.callback( + Input("start-no-output-cb-onerror", "n_clicks"), + prevent_initial_call=True, + background=True, + on_error=no_output_callback_on_error, +) +def on_click_no_output(_): + raise Exception("no output callback error") + + if __name__ == "__main__": app.run(debug=True) diff --git a/tests/background_callback/test_basic_long_callback019.py b/tests/background_callback/test_basic_long_callback019.py new file mode 100644 index 0000000000..dd3b89ff53 --- /dev/null +++ b/tests/background_callback/test_basic_long_callback019.py @@ -0,0 +1,11 @@ +from tests.background_callback.utils import setup_background_callback_app + + +def test_lcbc019_background_callback_on_error_without_output(dash_duo, manager): + with setup_background_callback_app(manager, "app_bg_on_error") as app: + dash_duo.start_server(app) + + dash_duo.find_element("#start-no-output-cb-onerror").click() + dash_duo.wait_for_text_to_equal( + "#no-output-cb-onerror-output", "callback: no output callback error" + ) From ebf5f954316e3d87de185739bc1b5d66f16a3d59 Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Wed, 30 Sep 2026 19:50:57 +0800 Subject: [PATCH 06/22] test: assert no-output callback error handling --- tests/background_callback/test_basic_long_callback019.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/background_callback/test_basic_long_callback019.py b/tests/background_callback/test_basic_long_callback019.py index dd3b89ff53..c90731a71b 100644 --- a/tests/background_callback/test_basic_long_callback019.py +++ b/tests/background_callback/test_basic_long_callback019.py @@ -6,6 +6,7 @@ def test_lcbc019_background_callback_on_error_without_output(dash_duo, manager): dash_duo.start_server(app) dash_duo.find_element("#start-no-output-cb-onerror").click() - dash_duo.wait_for_text_to_equal( - "#no-output-cb-onerror-output", "callback: no output callback error" + dash_duo.wait_for_contains_text( + "#no-output-cb-onerror-output", + "callback: An error occurred inside a background callback: no output callback error", ) From 7a0bac1538a8c0899433d9d48148054da470c8b4 Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Wed, 30 Sep 2026 19:59:04 +0800 Subject: [PATCH 07/22] Fix combined commit status API call --- .github/workflows/post-test-status.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/post-test-status.yml b/.github/workflows/post-test-status.yml index 5be78d009b..250ecbf8ec 100644 --- a/.github/workflows/post-test-status.yml +++ b/.github/workflows/post-test-status.yml @@ -82,7 +82,7 @@ jobs: const sha = context.payload.workflow_run.head_sha; const statusContext = 'percy/dash'; - const { data: { statuses } } = await github.rest.repos.getCombinedStatus({ + const { data: { statuses } } = await github.rest.repos.getCombinedStatusForRef({ owner, repo, ref: sha, From fc7f0616cde479a03c56b8e39b2142a7025fa4c4 Mon Sep 17 00:00:00 2001 From: "shuwen.wu" Date: Wed, 7 Oct 2026 18:01:26 +0800 Subject: [PATCH 08/22] fix: apply output_spec guard to cancel branch and simplify tests - The cancelled-job branch in _handle_rest_background_callback now sets NoUpdate() only when output_spec is truthy (callbacks with outputs), matching the error-handler guard added earlier. Without outputs, output_value stays None so _prepare_response does not raise InvalidCallbackReturnValue. - Replace the heavily-mocked test_mcpbg012 with two integration-style tests that register a real no-output background callback via @app.callback and exercise both the completed and cancelled paths through the actual MCP tasks/result endpoint. - Add CHANGELOG entry for #3628 / #4012. --- CHANGELOG.md | 1 + dash/_callback.py | 5 +- .../tools/test_mcp_background_callbacks.py | 96 ++++++++++--------- 3 files changed, 58 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f31991146e..28325c7bb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). - [#3881](https://github.com/plotly/dash/pull/3881) Fix components rendered as props (eg. `dcc.Dropdown` option labels, `dcc.Tab` labels) crashing or failing to update when the host subtree was replaced by a callback; out-of-tree `ExternalWrapper` components now re-insert themselves and update in place. - [#3929](https://github.com/plotly/dash/issues/3929) Fix components that set their own initial state on mount (eg. `dash-bootstrap-components` `Tabs`) not applying it on first render, because descendant layout hashes were reset on the first fresh render (regression introduced in 4.2.0 by [#3570](https://github.com/plotly/dash/pull/3570)). - [#3948](https://github.com/plotly/dash/issues/3948) Fix page getting progressively slower as callbacks append children +- [#4012](https://github.com/plotly/dash/pull/4012) Fix `InvalidCallbackReturnValue` raised when a no-output background callback's error handler returns `None` (or the job is cancelled), by treating `None` returns from error handlers and the cancelled-job branch the same way — as `NoUpdate()` only when there are outputs, `None` otherwise. Fixes [#3628](https://github.com/plotly/dash/issues/3628). ## [4.4.1] - 2026-07-21 diff --git a/dash/_callback.py b/dash/_callback.py index fb1952f762..800b5db2e8 100644 --- a/dash/_callback.py +++ b/dash/_callback.py @@ -686,7 +686,10 @@ def _handle_rest_background_callback( job_running = callback_manager.job_running(job_id) if job_id is not None else False if not job_running and output_value is callback_manager.UNDEFINED: # Job canceled -> no output to close the loop. - output_value = NoUpdate() + if output_spec: + output_value = NoUpdate() + else: + output_value = None elif isinstance(output_value, dict) and "background_callback_error" in output_value: error = output_value.get("background_callback_error", {}) diff --git a/tests/unit/mcp/tools/test_mcp_background_callbacks.py b/tests/unit/mcp/tools/test_mcp_background_callbacks.py index 509ff26d50..95354ce4dd 100644 --- a/tests/unit/mcp/tools/test_mcp_background_callbacks.py +++ b/tests/unit/mcp/tools/test_mcp_background_callbacks.py @@ -10,7 +10,6 @@ import json import time -from types import SimpleNamespace import diskcache from dash import Dash, Input, Output, html, _callback_signing @@ -301,51 +300,62 @@ def test_mcpbg011_task_id_encodes_tool_name_job_id_cache_key(): assert created_epoch.isdigit() -def test_mcpbg012_tasks_result_passes_output_spec(monkeypatch): - from dash.mcp.tasks import tasks +def _make_no_output_background_app(): + cache = diskcache.Cache() + manager = DiskcacheManager(cache) - output_spec = [{"id": "output", "property": "children"}] - adapter = SimpleNamespace( - _cb_info={"background": object(), "no_output": False}, - output_id="output.children", - as_callback_body=lambda _params: {"outputs": output_spec}, - ) - app = SimpleNamespace( - mcp_callback_map=SimpleNamespace(find_by_tool_name=lambda _name: adapter) + app = Dash(__name__) + app.layout = html.Div( + [ + html.Div(id="trigger-no-output"), + html.Div(id="side-effect-target"), + ] ) - manager = object() - captured = {} - - def update_background_callback( - error_handler, - callback_ctx, - response, - kwargs, - background, - multi, - output_spec, - cache_key=None, - job_id=None, - ): - captured["output_spec"] = output_spec - return None, False, False - - monkeypatch.setattr( - tasks, - "parse_task_id", - lambda _task_id: ("tool", "job", "cache", None), + + @app.callback( + Input("trigger-no-output", "children"), + background=True, + manager=manager, ) - monkeypatch.setattr(tasks, "get_app", lambda: app) - monkeypatch.setattr(tasks, "_get_callback_manager", lambda _tool_name: manager) - monkeypatch.setattr( - tasks, "_update_background_callback", update_background_callback + def no_output_slow_callback(value): + time.sleep(0.5) + + return app + + +def test_mcpbg012_no_output_task_result_does_not_raise(): + app = _make_no_output_background_app() + create_result = _mcp( + app, + "tools/call", + { + "name": "no_output_slow_callback", + "arguments": {"value": "hello"}, + "task": {"ttl": 60000}, + }, ) - monkeypatch.setattr(tasks, "_prepare_response", lambda *args, **kwargs: None) - monkeypatch.setattr( - tasks, - "format_callback_response", - lambda _response, _adapter: "formatted", + task_id = create_result["result"]["task"]["taskId"] + _wait_for_completion(app, task_id) + + result = _mcp(app, "tasks/result", {"taskId": task_id}) + assert "error" not in result + + +def test_mcpbg013_cancel_no_output_task_does_not_raise(): + app = _make_no_output_background_app() + create_result = _mcp( + app, + "tools/call", + { + "name": "no_output_slow_callback", + "arguments": {"value": "hello"}, + "task": {"ttl": 60000}, + }, ) + task_id = create_result["result"]["task"]["taskId"] - assert tasks.get_task_result("task-id") == "formatted" - assert captured["output_spec"] is output_spec + cancel_result = _mcp(app, "tasks/cancel", {"taskId": task_id}) + assert "error" not in cancel_result + + result = _mcp(app, "tasks/result", {"taskId": task_id}) + assert "error" not in result From f5cde05aa48f3f02db6ebf398c2437207de72b3b Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Fri, 16 Oct 2026 03:01:54 +0800 Subject: [PATCH 09/22] Fix MCP task results for no-output background callbacks --- dash/mcp/tasks/tasks.py | 36 ++++++++++-------- .../mcp/test_mcp_background_tasks.py | 37 +++++++++++++++++++ .../tools/test_mcp_background_callbacks.py | 4 +- 3 files changed, 59 insertions(+), 18 deletions(-) diff --git a/dash/mcp/tasks/tasks.py b/dash/mcp/tasks/tasks.py index 1b0e713855..f200ce3abf 100644 --- a/dash/mcp/tasks/tasks.py +++ b/dash/mcp/tasks/tasks.py @@ -12,6 +12,7 @@ from dash._callback import _update_background_callback, _prepare_response from dash._utils import AttributeDict, split_callback_id from dash.development.base_component import ComponentRegistry +from dash.exceptions import PreventUpdate from dash.mcp.primitives.tools.results import format_callback_response from dash.mcp.types import MCPError from dash.types import CallbackExecutionResponse @@ -146,7 +147,7 @@ def get_task_result(task_id: str) -> Any: background = cb_info.get("background") has_output = not cb_info.get("no_output") multi = adapter.output_id.startswith("..") - output = split_callback_id(adapter.output_id) + output = split_callback_id(adapter.output_id) if has_output else [] # Build the body to get output_spec, same as as_callback_body body = adapter.as_callback_body({}) @@ -173,21 +174,24 @@ def get_task_result(task_id: str) -> Any: "Task result not ready. Poll tasks/get until status is 'completed'." ) - _prepare_response( - output_value, - output_spec, - multi, - response, - callback_ctx, - app, - set(ComponentRegistry.registry), - background, - has_update, - has_output, - output, - adapter.output_id, - cb_info.get("allow_dynamic_callbacks"), - ) + try: + _prepare_response( + output_value, + output_spec, + multi, + response, + callback_ctx, + app, + set(ComponentRegistry.registry), + background, + has_update, + has_output, + output, + adapter.output_id, + cb_info.get("allow_dynamic_callbacks"), + ) + except PreventUpdate: + return format_callback_response(response, adapter) return format_callback_response(response, adapter) diff --git a/tests/integration/mcp/test_mcp_background_tasks.py b/tests/integration/mcp/test_mcp_background_tasks.py index 3bbfcfebef..c3967dae6f 100644 --- a/tests/integration/mcp/test_mcp_background_tasks.py +++ b/tests/integration/mcp/test_mcp_background_tasks.py @@ -17,6 +17,8 @@ from dash import Dash, Input, Output, html, _callback_signing from dash.background_callback.managers.diskcache_manager import DiskcacheManager +from tests.integration.mcp.conftest import _mcp_method + MCP_PATH = "_mcp" @@ -89,6 +91,41 @@ def _post(client, method, params=None, request_id=1): # --------------------------------------------------------------------------- +def test_mcpbg_cancel_no_output_task_result(dash_duo): + manager = DiskcacheManager(diskcache.Cache()) + app = Dash(__name__) + app.layout = html.Div(id="trigger") + + @app.callback( + Input("trigger", "children"), + background=True, + manager=manager, + prevent_initial_call=True, + ) + def no_output_callback(value): + time.sleep(0.5) + + dash_duo.start_server(app) + created = _mcp_method( + dash_duo.server_url, + "tools/call", + { + "name": "no_output_callback", + "arguments": {"value": "hello"}, + "task": {"ttl": 60000}, + }, + ) + task_id = created["result"]["task"]["taskId"] + job_id, _ = _unwrap_handles(app, task_id) + cancelled = _mcp_method(dash_duo.server_url, "tasks/cancel", {"taskId": task_id}) + assert cancelled["result"]["status"] == "cancelled" + assert not manager.job_running(job_id) + + result = _mcp_method(dash_duo.server_url, "tasks/result", {"taskId": task_id}) + assert result["result"]["structuredContent"] == {"multi": True} + assert dash_duo.get_logs() == [] + + def test_mcpbg012_trigger_poll_and_retrieve(): app = _make_background_app() client = app.server.test_client() diff --git a/tests/unit/mcp/tools/test_mcp_background_callbacks.py b/tests/unit/mcp/tools/test_mcp_background_callbacks.py index 0b27f844c1..aee3dcf3d5 100644 --- a/tests/unit/mcp/tools/test_mcp_background_callbacks.py +++ b/tests/unit/mcp/tools/test_mcp_background_callbacks.py @@ -340,7 +340,7 @@ def test_mcpbg012_no_output_task_result_does_not_raise(): _wait_for_completion(app, task_id) result = _mcp(app, "tasks/result", {"taskId": task_id}) - assert "error" not in result + assert result["result"]["structuredContent"] == {"multi": True} def test_mcpbg013_cancel_no_output_task_does_not_raise(): @@ -360,4 +360,4 @@ def test_mcpbg013_cancel_no_output_task_does_not_raise(): assert "error" not in cancel_result result = _mcp(app, "tasks/result", {"taskId": task_id}) - assert "error" not in result + assert result["result"]["structuredContent"] == {"multi": True} From ba28a776e34ba75e631fdd1ec863b142e77b00ab Mon Sep 17 00:00:00 2001 From: b84330808 Date: Tue, 20 Oct 2026 22:59:05 +0900 Subject: [PATCH 10/22] Decode the pathname in the pages router dcc.Location reports window.location.pathname, which the browser percent-encodes. The pages router matched that raw value, so path variables reached layout() and title() still encoded ("hello%20world") and pages whose path has spaces or non-ASCII characters fell through to the 404 page. The server-side meta tags already use the decoded request.path, so the two disagreed. Decode the pathname before stripping the prefix and matching it. Also let a path variable hold a decoded newline: fnmatch already accepts one, but the regex that extracts the variables did not. Fixes #2360 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + dash/_pages.py | 2 +- dash/dash.py | 10 ++++--- tests/unit/pages/test_pages.py | 48 +++++++++++++++++++++++++++++++++- 4 files changed, 56 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ed4634415..6b810f2b9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). - [#4023](https://github.com/plotly/dash/pull/4023) Fix extra callback registrations when an app runs from the parent directory: `python app/app.py`, where the script shares its folder's name, registered its callbacks twice, and `python app/main.py` imported a sibling `app/app.py` as the parent package and registered its callbacks too (regression introduced in 4.4.1 by [#3883](https://github.com/plotly/dash/pull/3883)). Fixes [#4011](https://github.com/plotly/dash/issues/4011). - [#4057](https://github.com/plotly/dash/pull/4057) Fixed background callbacks to update `set_props` instead of replacing. Fixes [#3104](https://github.com/plotly/dash/issues/3104). - [#3923](https://github.com/plotly/dash/pull/3923) Fix a blank page and `SyntaxError` in the browser when a dict component ID has a dot in one of its values. Fixes [#3480](https://github.com/plotly/dash/issues/3480). +- [#2360](https://github.com/plotly/dash/issues/2360) Fix Pages passing percent-encoded path variables to `layout` and `title` (`hello%20world` instead of `hello world`), and showing the 404 page for pages whose `path` has spaces or non-ASCII characters. The pages router now decodes the `pathname` it gets from the browser before matching it, like the server already does for the meta tags. ## [4.4.1] - 2026-07-21 diff --git a/dash/_pages.py b/dash/_pages.py index b63d37c669..793ecaa962 100644 --- a/dash/_pages.py +++ b/dash/_pages.py @@ -142,7 +142,7 @@ def _parse_path_variables(pathname, path_template): var_names = re.findall("<(.*?)>", path_template) # parse variables from path - variables = re.findall(var_pattern, pathname) + variables = re.findall(var_pattern, pathname, re.DOTALL) variables = variables[0] if isinstance(variables[0], tuple) else variables return dict(zip(var_names, variables)) diff --git a/dash/dash.py b/dash/dash.py index 0b37862157..d9149a0a24 100644 --- a/dash/dash.py +++ b/dash/dash.py @@ -16,7 +16,7 @@ import mimetypes import hashlib import base64 -from urllib.parse import urlparse +from urllib.parse import unquote, urlparse from typing import ( Any, Callable, @@ -2836,7 +2836,9 @@ async def router_async(): async def update(pathname_, search_, **states): query_parameters = _parse_query_string(search_) page, path_variables = _path_to_page( - self.strip_relative_path(pathname_) + self.strip_relative_path( + unquote(pathname_) if pathname_ else pathname_ + ) ) if page == {}: for module, page in _pages.PAGE_REGISTRY.items(): @@ -2924,7 +2926,9 @@ def router_sync(): def update(pathname_, search_, **states): query_parameters = _parse_query_string(search_) page, path_variables = _path_to_page( - self.strip_relative_path(pathname_) + self.strip_relative_path( + unquote(pathname_) if pathname_ else pathname_ + ) ) if page == {}: for module, page in _pages.PAGE_REGISTRY.items(): diff --git a/tests/unit/pages/test_pages.py b/tests/unit/pages/test_pages.py index df943c8f9b..f06308532c 100644 --- a/tests/unit/pages/test_pages.py +++ b/tests/unit/pages/test_pages.py @@ -2,7 +2,7 @@ import pytest import dash -from dash import Dash, _pages +from dash import Dash, _pages, html from mock import patch @@ -76,3 +76,49 @@ def test_import_layouts_from_pages( page_entry = list(dash.page_registry.values())[0] assert page_entry["module"] == expected_module_name + + +def _route(client, pathname): + response = client.post( + "/_dash-update-component", + json={ + "output": ".._pages_content.children..._pages_store.data..", + "outputs": [ + {"id": "_pages_content", "property": "children"}, + {"id": "_pages_store", "property": "data"}, + ], + "inputs": [ + {"id": "_pages_location", "property": "pathname", "value": pathname}, + {"id": "_pages_location", "property": "search", "value": ""}, + ], + "state": [], + "changedPropIds": ["_pages_location.pathname"], + }, + ) + return response.get_json()["response"]["_pages_content"]["children"] + + +@pytest.mark.parametrize("use_async", [False, True]) +def test_router_decodes_pathname(clear_pages_state, use_async): + if use_async: + pytest.importorskip("asgiref") + app = Dash(__name__, use_pages=True, pages_folder="", use_async=use_async) + dash.register_page( + "report", + path_template="/report/", + layout=lambda name=None, **_: html.Div(name, id="name"), + ) + dash.register_page("cafe", path="/caf\u00e9", layout=html.Div(id="cafe")) + app.layout = html.Div(dash.page_container) + client = app.server.test_client() + client.get("/") + + # dcc.Location sends window.location.pathname, which browsers percent-encode + assert _route(client, "/report/hello%20world")["props"]["children"] == ( + "hello world" + ) + assert _route(client, "/report/%E6%97%A5%E6%9C%AC")["props"]["children"] == ( + "\u65e5\u672c" + ) + assert _route(client, "/report/a%0Ab")["props"]["children"] == "a\nb" + assert _route(client, "/caf%C3%A9")["props"]["id"] == "cafe" From d62f7312d215aeebc3629e592d44c720ef6dbcde Mon Sep 17 00:00:00 2001 From: Wleeaf <179125857+wleeaf@users.noreply.github.com> Date: Fri, 23 Oct 2026 22:52:05 +0000 Subject: [PATCH 11/22] Test WebSocket callbacks before the first HTTP request --- .../test_fastapi_before_request.py | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/tests/backend_tests/test_fastapi_before_request.py b/tests/backend_tests/test_fastapi_before_request.py index b094bbcd7f..3215ae4f46 100644 --- a/tests/backend_tests/test_fastapi_before_request.py +++ b/tests/backend_tests/test_fastapi_before_request.py @@ -2,7 +2,7 @@ and Quart.""" import pytest -from dash import Dash, Input, Output, _get_app, hooks, html +from dash import Dash, Input, Output, _get_app, callback, hooks, html pytest.importorskip("fastapi") @@ -187,3 +187,36 @@ def broken(): ): pass assert "hook bug" in caplog.text + + +def test_fabr006_websocket_callback_before_any_http_request(): + # dash.callback is only copied into callback_map by _setup_server, a + # before_request hook, so the handshake must run it too (gh-4082). + from starlette.testclient import TestClient + + app = Dash(__name__, backend="fastapi") + app.layout = html.Div([html.Button(id="ws-btn"), html.Div(id="ws-out")]) + + @callback(Output("ws-out", "children"), Input("ws-btn", "n_clicks"), websocket=True) + def echo(n_clicks): + return f"ws {n_clicks}" + + request = { + "type": "callback_request", + "requestId": "1", + "rendererId": "r", + "payload": { + "output": "ws-out.children", + "outputs": {"id": "ws-out", "property": "children"}, + "inputs": [{"id": "ws-btn", "property": "n_clicks", "value": 1}], + "changedPropIds": ["ws-btn.n_clicks"], + }, + } + with TestClient(app.server) as client: + with client.websocket_connect( + "/_dash-ws-callback", headers={"origin": "http://testserver"} + ) as ws: + ws.send_json(request) + payload = ws.receive_json()["payload"] + assert payload["status"] == "ok" + assert payload["data"]["response"] == {"ws-out": {"children": "ws 1"}} From ae8048f2b65ae15b9491b741402801744286a7bc Mon Sep 17 00:00:00 2001 From: b84330808 Date: Mon, 26 Oct 2026 23:23:59 +0900 Subject: [PATCH 12/22] Shorten the CHANGELOG entry and link the PR Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b7a66da26..34b787a308 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,7 +59,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). - [#4023](https://github.com/plotly/dash/pull/4023) Fix extra callback registrations when an app runs from the parent directory: `python app/app.py`, where the script shares its folder's name, registered its callbacks twice, and `python app/main.py` imported a sibling `app/app.py` as the parent package and registered its callbacks too (regression introduced in 4.4.1 by [#3883](https://github.com/plotly/dash/pull/3883)). Fixes [#4011](https://github.com/plotly/dash/issues/4011). - [#4057](https://github.com/plotly/dash/pull/4057) Fixed background callbacks to update `set_props` instead of replacing. Fixes [#3104](https://github.com/plotly/dash/issues/3104). - [#3923](https://github.com/plotly/dash/pull/3923) Fix a blank page and `SyntaxError` in the browser when a dict component ID has a dot in one of its values. Fixes [#3480](https://github.com/plotly/dash/issues/3480). -- [#2360](https://github.com/plotly/dash/issues/2360) Fix Pages passing percent-encoded path variables to `layout` and `title` (`hello%20world` instead of `hello world`), and showing the 404 page for pages whose `path` has spaces or non-ASCII characters. The pages router now decodes the `pathname` it gets from the browser before matching it, like the server already does for the meta tags. +- [#4074](https://github.com/plotly/dash/pull/4074) Fix Pages passing percent-encoded path variables to `layout` and `title`, and the 404 page for paths with spaces or non-ASCII characters. Fixes [#2360](https://github.com/plotly/dash/issues/2360). ## [4.4.1] - 2026-07-21 From 0d0fc1dc598901b236e200af6a35e9b57b5a434d Mon Sep 17 00:00:00 2001 From: Wleeaf <179125857+wleeaf@users.noreply.github.com> Date: Tue, 27 Oct 2026 00:05:31 +0000 Subject: [PATCH 13/22] Remove the test callback from the global registry if the test fails --- .../test_fastapi_before_request.py | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/tests/backend_tests/test_fastapi_before_request.py b/tests/backend_tests/test_fastapi_before_request.py index 3215ae4f46..af9e8c6e0d 100644 --- a/tests/backend_tests/test_fastapi_before_request.py +++ b/tests/backend_tests/test_fastapi_before_request.py @@ -2,7 +2,7 @@ and Quart.""" import pytest -from dash import Dash, Input, Output, _get_app, callback, hooks, html +from dash import Dash, Input, Output, _callback, _get_app, callback, hooks, html pytest.importorskip("fastapi") @@ -212,11 +212,21 @@ def echo(n_clicks): "changedPropIds": ["ws-btn.n_clicks"], }, } - with TestClient(app.server) as client: - with client.websocket_connect( - "/_dash-ws-callback", headers={"origin": "http://testserver"} - ) as ws: - ws.send_json(request) - payload = ws.receive_json()["payload"] - assert payload["status"] == "ok" - assert payload["data"]["response"] == {"ws-out": {"children": "ws 1"}} + try: + with TestClient(app.server) as client: + with client.websocket_connect( + "/_dash-ws-callback", headers={"origin": "http://testserver"} + ) as ws: + ws.send_json(request) + payload = ws.receive_json()["payload"] + assert payload["status"] == "ok" + assert payload["data"]["response"] == {"ws-out": {"children": "ws 1"}} + finally: + # Without _setup_server, the callback stays in the global registry and + # would be added to the app of the next test. + _callback.GLOBAL_CALLBACK_MAP.pop("ws-out.children", None) + _callback.GLOBAL_CALLBACK_LIST[:] = [ + spec + for spec in _callback.GLOBAL_CALLBACK_LIST + if spec["output"] != "ws-out.children" + ] From 70af4cad1e1c0e5c03f7073a71aca4342e131faa Mon Sep 17 00:00:00 2001 From: philippe Date: Tue, 27 Oct 2026 10:22:18 -0400 Subject: [PATCH 14/22] Hold linters and @plotly majors in Dependabot, bump selenium cap to 4.51.0 --- .github/dependabot.yml | 21 ++++++++++++++------- requirements/testing.txt | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7ec562e55c..a56fa7e332 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -217,6 +217,14 @@ updates: patterns: - "*" ignore: + # Majors across these build helpers and fixtures (eslint 10, prettier 3, + # webpack-cli 7, react-jsx-parser 2, ...) break the build or the pinned + # eslint 8 / prettier 2 toolchain. Take minors and patches only. + - dependency-name: "*" + update-types: ["version-update:semver-major"] + # dash-jupyterlab supports JupyterLab 2, 3 and 4 via a wide range; + # Dependabot narrows it to the latest 4.x and the lockfile bump breaks tsc. + - dependency-name: "@jupyterlab/*" # react-docgen is pinned for legacy metadata extraction (extract-meta.js uses # the react-docgen 5 API) and must never be updated. - dependency-name: "react-docgen" @@ -260,15 +268,14 @@ updates: # jupyterlab is pinned <4.0.0: jupyterlab 4.x ships jlpm as Yarn Berry, which # cannot consume @plotly/dash-jupyterlab's Yarn 1 lockfile and breaks the build. # - # black >=25.12.0 and pylint >=4.0.0 require Python >=3.10 and cannot install - # on the 3.9 CI jobs (Dash still supports Python 3.9). Upgrading either past - # its last 3.9-compatible release (black 25.11.0, pylint 3.3.9) also forces a - # repo-wide reformat / lint-fix pass, so linter bumps are done deliberately, - # not via Dependabot. + # Linters are held entirely. black >=25.12.0, pylint >=4.0.0 and flake8 + # >=7.4.0 require Python >=3.10 and cannot install on the 3.9 CI jobs (Dash + # still supports Python 3.9). Even the last 3.9-compatible black / pylint + # force a repo-wide reformat / lint-fix pass, so linter bumps are done + # deliberately, not via Dependabot. ignore: - dependency-name: "jupyterlab" versions: [">=4.0.0"] - dependency-name: "black" - versions: [">=25.12.0"] - dependency-name: "pylint" - versions: [">=4.0.0"] + - dependency-name: "flake8" diff --git a/requirements/testing.txt b/requirements/testing.txt index 65f2866db0..4cc843fe18 100644 --- a/requirements/testing.txt +++ b/requirements/testing.txt @@ -5,7 +5,7 @@ lxml>=4.6.2 percy-python-selenium>=1.0.0 pytest>=6.0.2 requests[security]>=2.21.0 -selenium>=4.11.0,<=4.50.0 +selenium>=4.11.0,<=4.51.0 waitress>=1.4.4 multiprocess>=0.70.12 psutil>=5.8.0 From c2d94e337acc8bc4c78c10fa2f64fb89c43b3306 Mon Sep 17 00:00:00 2001 From: philippe Date: Wed, 28 Oct 2026 10:56:45 -0400 Subject: [PATCH 15/22] Make shared storage opt-in, move msgspec to extras Dash() no longer starts shared storage or the multiplexed streaming downlink unless shared_storage= or DASH_SHARED_STORAGE is set. Streaming callbacks still work on a per-callback connection without it. msgspec moves from install requirements to the new dash[shared_storage] extra (persistent LocalSharedStorage modes) and to dash[diskcache] and dash[redis]. Without it, in-memory LocalSharedStorage falls back to JSON on its socket transport. --- .ai/ARCHITECTURE.md | 64 ++++++----- CHANGELOG.md | 3 +- dash/_callback_context.py | 2 +- dash/_shared_storage/__init__.py | 2 +- dash/_shared_storage/_codec.py | 52 ++++++--- dash/_shared_storage/_env.py | 6 +- dash/_shared_storage/_persistence.py | 4 +- dash/_shared_storage/_transport.py | 6 +- dash/_shared_storage/diskcache.py | 3 +- dash/_shared_storage/local.py | 4 + dash/_shared_storage/redis.py | 3 +- dash/backends/_fastapi.py | 2 +- dash/backends/_flask.py | 2 +- dash/backends/_quart.py | 2 +- dash/dash.py | 23 ++-- requirements/ci.txt | 1 + requirements/diskcache.txt | 1 + requirements/install.txt | 1 - requirements/redis.txt | 3 +- requirements/shared_storage.txt | 1 + setup.py | 3 +- tests/shared_storage/test_env_config.py | 8 +- tests/shared_storage/test_no_msgspec.py | 103 ++++++++++++++++++ .../test_stream_callbacks_integration.py | 8 +- tests/streaming/test_stream_transport.py | 34 ++++++ tests/streaming/test_stream_wsgi.py | 22 +++- 26 files changed, 285 insertions(+), 78 deletions(-) create mode 100644 requirements/shared_storage.txt create mode 100644 tests/shared_storage/test_no_msgspec.py diff --git a/.ai/ARCHITECTURE.md b/.ai/ARCHITECTURE.md index 1ad587e2c4..deb28e15d4 100644 --- a/.ai/ARCHITECTURE.md +++ b/.ai/ARCHITECTURE.md @@ -727,7 +727,7 @@ Special handling for Colab: - `prevent_initial_callbacks` - Skip callbacks on load (default: `False`) - `background_callback_manager` - DiskcacheManager or CeleryManager - `on_error` - Global callback error handler -- `shared_storage` - Cross-process state + pub/sub backend (default: `LocalSharedStorage`). Pass `None` to disable, or a `BaseSharedStorage` subclass/instance to swap. See [Shared Storage](#shared-storage). +- `shared_storage` - Cross-process state + pub/sub backend (default: off). Pass `LocalSharedStorage` to enable, or a `BaseSharedStorage` subclass/instance to swap. See [Shared Storage](#shared-storage). **WebSocket Callbacks:** - `websocket_callbacks` - Enable WebSocket for all callbacks (default: `False`). Requires FastAPI backend. @@ -820,7 +820,9 @@ channel. Unlike `dcc.Store` (which lives in the browser), shared storage lives on the server and lets callbacks running in different workers see the same keys and topics without standing up an external service like Redis. -Enabled by default on every app. It starts lazily on first use, so it costs +Opt-in: off unless the app passes `shared_storage=` or `DASH_SHARED_STORAGE` +is set, so existing deployments do not grow a socket owner or a streaming +downlink on upgrade. Once enabled it starts lazily on first use, so it costs nothing until touched. ### Accessing It @@ -836,13 +838,21 @@ def handler(n): return store.get("clicks", 0) # Or off the app directly: -app = dash.Dash() +app = dash.Dash(shared_storage=dash.LocalSharedStorage) app.shared_storage.set("key", {"any": "json-compatible value"}) ``` Values (and published messages) must be **JSON-compatible** — dict / list / str / int / float / bool / None — the same constraint as `dcc.Store` and callback -outputs. Messages are encoded with `msgspec` (msgpack), a hard dependency. +outputs. Messages are encoded with `msgspec` (msgpack) from the +`dash[shared_storage]` extra (also pulled in by `dash[diskcache]` and +`dash[redis]`). Without it, `LocalSharedStorage` in `"memory"` mode still works +and its socket transport falls back to stdlib JSON (both ends run the same +install, so they always agree). JSON turns non-string dict keys into strings and +cannot carry `bytes`, so keep values strictly JSON-shaped. Everything that +writes encoded bytes somewhere lasting (the persistent modes, Diskcache, Redis) +raises an `ImportError` naming the extra that brings it instead, so a stored +format never depends on what happens to be installed. ### API @@ -895,7 +905,7 @@ more than one container/pod (see [Deployment Topology](#deployment-topology-and- | Backend | Backing store | Reaches | Extra | |---------|---------------|---------|-------| -| `LocalSharedStorage` *(default)* | in-memory, owner-elected socket | one **container** (all its workers) | none | +| `LocalSharedStorage` | in-memory, owner-elected socket | one **container** (all its workers) | none (`dash[shared_storage]` for the persistent modes) | | `DiskcacheSharedStorage` | a `diskcache.Cache` | one **host** (all processes sharing the dir) | `dash[diskcache]` | | `RedisSharedStorage` | Redis (Streams for pub/sub) | **any** process/container/pod | `dash[redis]` | @@ -909,14 +919,15 @@ from dash._shared_storage import ( LocalSharedStorage, DiskcacheSharedStorage, RedisSharedStorage, ) -Dash(shared_storage=LocalSharedStorage) # default +Dash() # disabled (default) +Dash(shared_storage=LocalSharedStorage) Dash(shared_storage=DiskcacheSharedStorage(directory="/tmp/ss")) Dash(shared_storage=RedisSharedStorage(url="redis://host:6379")) -Dash(shared_storage=None) # disabled ``` When disabled, accessing `app.shared_storage` / `dash.ctx.shared_storage` -raises `SharedStorageError`. +raises `SharedStorageError`, and streaming callbacks still work, each on its own +connection instead of the multiplexed downlink. **`LocalSharedStorage`** — in-memory, no external service. On first use every worker races to become the single **owner** for the machine by binding a stable @@ -993,7 +1004,7 @@ subscriptions likewise poll without blocking and sleep on the loop. ### Deployment Topology and Shared Storage -The default `LocalSharedStorage` is **per-container**: its socket/loopback +`LocalSharedStorage` is **per-container**: its socket/loopback election only reaches processes in the same network + filesystem namespace. - **Single process / single pod** (e.g. Plotly Cloud apps): fine — one owner, @@ -1009,16 +1020,16 @@ election only reaches processes in the same network + filesystem namespace. A hosting platform can switch the backend without editing the app through `DASH_SHARED_STORAGE` (`_shared_storage/_env.py`), read only when the app did not pass `shared_storage=` (the default is a sentinel, so an explicit argument, -`None` included, always wins): `local`, `none`, `diskcache:///abs/path`, or a -`redis://` / `rediss://` URL. A `key_prefix` query parameter on the Redis URL -(`redis://host/0?key_prefix=myapp`) sets `RedisSharedStorage(key_prefix=)` and -is stripped before the URL reaches redis-py; the diskcache path is -percent-decoded. `cluster://` is reserved and raises; anything else raises -`InvalidConfig` at construction, without echoing the value (it can hold -credentials). The value becomes a zero-argument -factory, so nothing is built or connected until `app.shared_storage` is first -read, but a missing extra (`dash[redis]`, `dash[diskcache]`) fails at -construction with the backend's own `ImportError`. +`None` included, always wins): `local`, `none` (same as unset or empty), +`diskcache:///abs/path`, or a `redis://` / `rediss://` URL. A `key_prefix` query +parameter on the Redis URL (`redis://host/0?key_prefix=myapp`) sets +`RedisSharedStorage(key_prefix=)` and is stripped before the URL reaches +redis-py; the diskcache path is percent-decoded. `cluster://` is reserved and +raises; anything else raises `InvalidConfig` at construction, without echoing +the value (it can hold credentials). The value becomes a zero-argument factory, +so nothing is built or connected until `app.shared_storage` is first read, but a +missing extra (`dash[redis]`, `dash[diskcache]`, `dash[shared_storage]`) fails +at construction with the backend's own `ImportError`. ### Custom and Out-of-Tree Backends @@ -1039,12 +1050,13 @@ and returns a `Subscription` (`__iter__` / `__aiter__` / `close`) that raises top-level `dash`; the poll-loop helpers (`PollResult`, the polling subscription) are private and not part of the contract. -Core only ships backends whose dependency is already a Dash extra (`msgspec` -base; `dash[diskcache]`; `dash[redis]`). Anything needing a heavier dependency -belongs **out of tree** behind this same interface — e.g. a Postgres backend -(`LISTEN`/`NOTIFY` for push pub/sub + a table for KV and replay) lives in its own -package so a `psycopg` connection is never pulled into Dash core. It plugs in the -same way as a built-in: `Dash(shared_storage=PostgresSharedStorage(...))`. +Core only ships backends whose dependency is already a Dash extra +(`dash[shared_storage]`; `dash[diskcache]`; `dash[redis]`). Anything needing a +heavier dependency belongs **out of tree** behind this same interface — e.g. a +Postgres backend (`LISTEN`/`NOTIFY` for push pub/sub + a table for KV and +replay) lives in its own package so a `psycopg` connection is never pulled into +Dash core. It plugs in the same way as a built-in: +`Dash(shared_storage=PostgresSharedStorage(...))`. ### Module Layout @@ -1412,7 +1424,7 @@ with an empty result on the terminal frame. ### Multiplexed downlink and the stream SharedWorker -When the app has a shared-storage backend (the default `LocalSharedStorage`), +When the app has a shared-storage backend (opt-in, see Shared Storage), HTTP streams do not each hold their own response. The callback's POST carries `streamConnection: {requestId}` and returns a fast ack; a *pump* (`dash/_stream_hub.py`) drives the generator as an asyncio task and publishes diff --git a/CHANGELOG.md b/CHANGELOG.md index 62f302b6f9..14ca695428 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,13 @@ This project adheres to [Semantic Versioning](https://semver.org/). ## [Unreleased] ### Added +- [#](https://github.com/plotly/dash/pull/) Make shared storage and the multiplexed streaming downlink opt-in (`shared_storage=` or `DASH_SHARED_STORAGE`), and move `msgspec` to a new `dash[shared_storage]` extra for the persistent `LocalSharedStorage` modes (`dash[diskcache]` and `dash[redis]` include it). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SECRET_KEY` so a hosting platform can give every worker and pod the same signing secret for page, background and stream tokens without editing the app (`server.secret_key` still wins and is not changed). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SHARED_STORAGE` to pick the shared-storage backend when the app does not pass `shared_storage=`: `local`, `none`, `diskcache:///abs/path`, or a `redis://` / `rediss://` URL. - [#4024](https://github.com/plotly/dash/pull/4024) Add support for social media meta tags in regular Dash apps using `app.title`, `app.description`, and `app.image`. - [#3976](https://github.com/plotly/dash/pull/3976) Add a new `scrollToTop` prop to `dcc.Link` to control whether the page scrolls to the top after client-side navigation. It defaults to `True` to preserve the existing behavior. Fixes [#3974](https://github.com/plotly/dash/issues/3974). - [#3947](https://github.com/plotly/dash/pull/3947) Make `plotly-cloud` a default install dependency of Dash instead of an optional extra, so the `plotly` CLI and Dash's cloud integration work out of the box. The `dash[cloud]` extra is kept for backward compatibility. -- [#3930](https://github.com/plotly/dash/pull/3930) Add shared storage: a backend-agnostic cross-process state manager (key/value with optional TTL, plus ordered replayable pub/sub) on every app via `dash.ctx.shared_storage`, started lazily and disabled with `shared_storage=None`. Ships `LocalSharedStorage` (default, in-memory with optional disk persistence), `DiskcacheSharedStorage`, and `RedisSharedStorage` for horizontally-scaled deployments; see `.ai/ARCHITECTURE.md`. +- [#3930](https://github.com/plotly/dash/pull/3930) Add shared storage: a backend-agnostic cross-process state manager (key/value with optional TTL, plus ordered replayable pub/sub) via `dash.ctx.shared_storage`, started lazily. Ships `LocalSharedStorage` (in-memory with optional disk persistence), `DiskcacheSharedStorage`, and `RedisSharedStorage` for horizontally-scaled deployments; see `.ai/ARCHITECTURE.md`. - [#3931](https://github.com/plotly/dash/pull/3931) Add streaming callbacks: an `async def` generator callback streams its yields to the browser as they are produced (`dash.Patch` yields apply incrementally). A browser's streams share one SharedWorker-hosted connection so they do not count against the per-host connection limit; closing a tab cancels its streams. - [#3977](https://github.com/plotly/dash/pull/3977) Add partial WebSocket prop reads with `get_prop(..., path=...)`. Closes [#3975](https://github.com/plotly/dash/issues/3975). - [#3765](https://github.com/plotly/dash/pull/3765) Add opt-in partial pattern matching for callback `Input`, `Output`, and `State` via `partial_pattern=True`, so dictionary ID patterns can match component IDs with extra keys and combine with `ALL`/`MATCH` wildcards. Fixes [#3764](https://github.com/plotly/dash/issues/3764). diff --git a/dash/_callback_context.py b/dash/_callback_context.py index 430d04591a..2245ddad76 100644 --- a/dash/_callback_context.py +++ b/dash/_callback_context.py @@ -216,7 +216,7 @@ def shared_storage(self): A backend-agnostic key/value + publish/subscribe store shared across worker processes -- for cross-callback or session state without an - external service. Requires ``Dash(shared_storage=...)`` (on by default). + external service. Requires ``Dash(shared_storage=...)`` (off by default). """ return get_app().shared_storage diff --git a/dash/_shared_storage/__init__.py b/dash/_shared_storage/__init__.py index 2dba0ac90c..a26079595c 100644 --- a/dash/_shared_storage/__init__.py +++ b/dash/_shared_storage/__init__.py @@ -2,7 +2,7 @@ Exposes the ``BaseSharedStorage`` interface and its backends: -- ``LocalSharedStorage`` (default): in-memory, owner-elected -- one container. +- ``LocalSharedStorage``: in-memory, owner-elected -- one container. - ``DiskcacheSharedStorage``: on a ``diskcache.Cache`` -- one machine, not pods. - ``RedisSharedStorage``: on Redis -- across processes and containers. """ diff --git a/dash/_shared_storage/_codec.py b/dash/_shared_storage/_codec.py index 4884c1625f..f2191f0280 100644 --- a/dash/_shared_storage/_codec.py +++ b/dash/_shared_storage/_codec.py @@ -1,27 +1,53 @@ -"""Codec for the shared-storage socket transport. +"""Codec for the shared-storage transport and the persistent backends. -Uses ``msgspec`` (msgpack: fast, compact), a hard dependency of Dash. The -format is data-only, so bytes read off the socket cannot execute code. +Uses ``msgspec`` (msgpack: fast, compact) from the ``dash[shared_storage]`` +extra, also part of ``dash[diskcache]`` and ``dash[redis]``. Without it, only the in-memory transport works and it falls back to +stdlib JSON; the backends that write encoded bytes somewhere lasting (disk +persistence, diskcache, Redis) call :func:`require_msgspec` so the stored +format never depends on what happens to be installed. Both formats are +data-only, so bytes read off the socket cannot execute code. Payloads must be JSON-compatible (dict / list / str / int / float / bool / None) -- the same constraint as ``dcc.Store`` and callback outputs. """ +import json from typing import Any -import msgspec +try: + import msgspec +except ImportError: + msgspec = None # type: ignore[assignment] -# msgspec raises this on malformed input. It subclasses ``ValueError`` in -# current msgspec but not in every version, so callers should catch it by name. -DecodeError = msgspec.DecodeError +HAS_MSGSPEC = msgspec is not None -_encoder = msgspec.msgpack.Encoder() -_decoder = msgspec.msgpack.Decoder() +if msgspec is not None: + # msgspec raises this on malformed input. It subclasses ``ValueError`` in + # current msgspec but not in every version, so callers should catch it by + # name. + DecodeError: Any = msgspec.DecodeError + _encoder = msgspec.msgpack.Encoder() + _decoder = msgspec.msgpack.Decoder() + def encode(obj: Any) -> bytes: + return _encoder.encode(obj) -def encode(obj: Any) -> bytes: - return _encoder.encode(obj) + def decode(data: bytes) -> Any: + return _decoder.decode(data) +else: + DecodeError = json.JSONDecodeError -def decode(data: bytes) -> Any: - return _decoder.decode(data) + def encode(obj: Any) -> bytes: + return json.dumps(obj, separators=(",", ":")).encode("utf-8") + + def decode(data: bytes) -> Any: + return json.loads(data) + + +def require_msgspec(what: str, extra: str = "shared_storage") -> None: + if not HAS_MSGSPEC: + raise ImportError( + f"{what} requires the {extra} extra:\n\n" + f' $ pip install "dash[{extra}]"\n' + ) diff --git a/dash/_shared_storage/_env.py b/dash/_shared_storage/_env.py index 9c539452af..e8d80d1b83 100644 --- a/dash/_shared_storage/_env.py +++ b/dash/_shared_storage/_env.py @@ -49,10 +49,10 @@ def storage_from_env(value: Optional[str]) -> Any: """ raw = (value or "").strip() lowered = raw.lower() - if lowered in ("", "local"): - return LocalSharedStorage - if lowered == "none": + if lowered in ("", "none"): return None + if lowered == "local": + return LocalSharedStorage try: scheme = urlparse(raw).scheme.lower() diff --git a/dash/_shared_storage/_persistence.py b/dash/_shared_storage/_persistence.py index 1912a9bd08..1032a20bc4 100644 --- a/dash/_shared_storage/_persistence.py +++ b/dash/_shared_storage/_persistence.py @@ -4,8 +4,8 @@ keys are sharded across fixed-size chunk files via a key->chunk index, so a single mutation rewrites only the affected chunk rather than the whole store (the design is adapted from raposa's ``BinaryStorage``). Serialization is -msgspec msgpack via :mod:`._codec`; each chunk write is atomic (temp file + -``os.replace``). +msgspec msgpack via :mod:`._codec` (the ``dash[shared_storage]`` extra); each +chunk write is atomic (temp file + ``os.replace``). Two modes drive *when* the store is written: diff --git a/dash/_shared_storage/_transport.py b/dash/_shared_storage/_transport.py index c8be5a7863..97eb2f3f94 100644 --- a/dash/_shared_storage/_transport.py +++ b/dash/_shared_storage/_transport.py @@ -3,9 +3,9 @@ A single owner process serves one :class:`StoreEngine` over a stream socket (AF_UNIX where available, TCP loopback otherwise). Messages are length-prefixed: a 4-byte big-endian length followed by a body encoded by ``_codec`` (msgspec -msgpack). The codec is data-only -- the socket is -localhost-only, but deserializing untrusted bytes off a socket is a -remote-code-execution hazard, so the transport carries only data. The channel is +msgpack, or JSON without the ``dash[shared_storage]`` extra). The codec is +data-only -- the socket is localhost-only, but deserializing untrusted bytes off +a socket is a remote-code-execution hazard, so the transport carries only data. The channel is additionally gated by a per-owner random token; only same-host clients that read the owner's advertisement file (written 0600) can attach. diff --git a/dash/_shared_storage/diskcache.py b/dash/_shared_storage/diskcache.py index a232dc37ca..e5b2416c34 100644 --- a/dash/_shared_storage/diskcache.py +++ b/dash/_shared_storage/diskcache.py @@ -20,7 +20,7 @@ import time from typing import Any, Optional -from ._codec import decode, encode +from ._codec import decode, encode, require_msgspec from ._engine import DEFAULT_BUFFER, PollResult from ._polling import PollingSubscription from .base import BaseSharedStorage, Subscription, check_topic_ttl @@ -37,6 +37,7 @@ def _require_diskcache(): + require_msgspec("DiskcacheSharedStorage", "diskcache") try: import diskcache # type: ignore[import-not-found,import-untyped] # pylint: disable=import-outside-toplevel diff --git a/dash/_shared_storage/local.py b/dash/_shared_storage/local.py index c81ddfe299..9c857f9a48 100644 --- a/dash/_shared_storage/local.py +++ b/dash/_shared_storage/local.py @@ -25,6 +25,7 @@ import time from typing import Any, Optional, Tuple +from ._codec import require_msgspec from ._engine import DEFAULT_BUFFER, PollResult, StoreEngine from ._persistence import _Persistence, default_store_dir from ._transport import ( @@ -477,6 +478,7 @@ class LocalSharedStorage(BaseSharedStorage): ``flush_interval`` seconds and on clean exit, and recovered on start; up to one interval of writes may be lost on an unclean crash. + The persistent modes need the ``dash[shared_storage]`` extra (msgspec). ``path`` is the on-disk store directory for the persistent modes; it defaults to a per-namespace folder under the user cache directory. ``flush_interval`` (seconds) only applies to ``"persist-reset"``. @@ -501,6 +503,8 @@ def __init__( raise SharedStorageError( f"flush_interval must be positive, got {flush_interval!r}" ) + if mode != "memory": + require_msgspec(f"LocalSharedStorage(mode={mode!r})") ns = namespace or _default_namespace() if mode != "memory" and path is None: path = default_store_dir(ns) diff --git a/dash/_shared_storage/redis.py b/dash/_shared_storage/redis.py index 1fdcbefb05..6c3743ef47 100644 --- a/dash/_shared_storage/redis.py +++ b/dash/_shared_storage/redis.py @@ -27,7 +27,7 @@ import time from typing import Any, Dict, List, Optional, Set, Tuple -from ._codec import decode, encode +from ._codec import decode, encode, require_msgspec from ._engine import DEFAULT_BUFFER, PollResult from ._polling import PollingSubscription from .base import ( @@ -93,6 +93,7 @@ def _require_redis(): + require_msgspec("RedisSharedStorage", "redis") try: import redis # type: ignore[import-not-found,import-untyped] # pylint: disable=import-outside-toplevel diff --git a/dash/backends/_fastapi.py b/dash/backends/_fastapi.py index ec1514a405..ee59f91084 100644 --- a/dash/backends/_fastapi.py +++ b/dash/backends/_fastapi.py @@ -718,7 +718,7 @@ async def _dispatch( downlink = body.get("streamDownlink") if downlink is not None: connection_id = get_stream_connection_id() - if connection_id is None: + if connection_id is None or not dash_app.shared_storage_enabled: return Response(status_code=403) return _ndjson_response( async_downlink_marker( diff --git a/dash/backends/_flask.py b/dash/backends/_flask.py index 8054a25ac7..03ffedb2b7 100644 --- a/dash/backends/_flask.py +++ b/dash/backends/_flask.py @@ -310,7 +310,7 @@ def _serve_downlink(downlink): # The connection id is derived from the signed end_id, never taken # from the client, so a page can only ever read its own topic. connection_id = get_stream_connection_id() - if connection_id is None: + if connection_id is None or not dash_app.shared_storage_enabled: return Response(status=403) envelopes = poll_downlink( dash_app.shared_storage, connection_id, downlink.get("from") diff --git a/dash/backends/_quart.py b/dash/backends/_quart.py index ac58e1acf5..408463343e 100644 --- a/dash/backends/_quart.py +++ b/dash/backends/_quart.py @@ -447,7 +447,7 @@ async def _dispatch(): # pylint: disable=too-many-return-statements downlink = body.get("streamDownlink") if downlink is not None: connection_id = get_stream_connection_id() - if connection_id is None: + if connection_id is None or not dash_app.shared_storage_enabled: return Response(status=403) # type: ignore[return-value] marker = async_downlink_marker( dash_app.shared_storage, diff --git a/dash/dash.py b/dash/dash.py index 72a1d7b604..601ef964af 100644 --- a/dash/dash.py +++ b/dash/dash.py @@ -479,11 +479,15 @@ class Dash(ObsoleteChecker): :param shared_storage: Backend for ``dash.ctx.shared_storage`` and the streaming-callback transport: a ``BaseSharedStorage`` subclass or - instance, or ``None`` to disable. Default ``LocalSharedStorage`` (one - machine or pod). When not passed, the ``DASH_SHARED_STORAGE`` - environment variable can choose it: ``local``, ``none``, - ``diskcache:///absolute/path``, or a ``redis://`` / ``rediss://`` URL. - An explicit argument, including ``None``, always wins. + instance, or ``None`` to disable. Off by default: pass + ``LocalSharedStorage`` for one machine or pod. Without it, streaming + callbacks still work, each on its own connection. When not passed, the + ``DASH_SHARED_STORAGE`` environment variable can choose it: ``local``, + ``none``, ``diskcache:///absolute/path``, or a ``redis://`` / + ``rediss://`` URL. An explicit argument, including ``None``, always + wins. The persistent ``LocalSharedStorage`` modes need + ``pip install "dash[shared_storage]"``; the diskcache and Redis backends + need their own ``dash[diskcache]`` / ``dash[redis]`` extra. Stream requests are signed per page load, so with several workers or pods they all need the same signing secret: set ``server.secret_key`` @@ -1036,7 +1040,7 @@ def layout(self, value: Any): @property def shared_storage_enabled(self) -> bool: - """Whether this app has a shared-storage backend (not ``None``). + """Whether this app has a shared-storage backend (off by default). Cheap to read and does not start the backend, unlike ``shared_storage``. """ @@ -1047,13 +1051,14 @@ def shared_storage(self) -> BaseSharedStorage: """The app's shared storage (state manager + pub/sub), backend-agnostic. Started on first access in the worker that uses it. Access it from a - callback via ``dash.ctx.shared_storage``. Raises if the app was created - with ``shared_storage=None``. + callback via ``dash.ctx.shared_storage``. Raises if the app has no + shared storage (pass ``shared_storage=`` or set ``DASH_SHARED_STORAGE``). """ if self._shared_storage_arg is None: raise SharedStorageError( "Shared storage is disabled for this app; construct it with " - "Dash(shared_storage=...) to use dash.ctx.shared_storage." + "Dash(shared_storage=...) or set DASH_SHARED_STORAGE to use " + "dash.ctx.shared_storage." ) if self._shared_storage_instance is None: with self._shared_storage_lock: diff --git a/requirements/ci.txt b/requirements/ci.txt index af242627b2..d502cd9f01 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -8,6 +8,7 @@ ipython<9.0.0 mimesis<=11.1.0; python_version < "3.10" mimesis<=22.2.0; python_version >= "3.10" mock==5.2.0 +msgspec # dash[shared_storage] numpy<=2.5.4 orjson>=3.10.11 openpyxl diff --git a/requirements/diskcache.txt b/requirements/diskcache.txt index 59be4d2b79..47526ef01b 100644 --- a/requirements/diskcache.txt +++ b/requirements/diskcache.txt @@ -2,3 +2,4 @@ diskcache>=5.2.1 multiprocess>=0.70.12 psutil>=5.8.0 +msgspec # DiskcacheSharedStorage diff --git a/requirements/install.txt b/requirements/install.txt index 795f0c85c8..176d9c8f5e 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -10,4 +10,3 @@ setuptools janus>=1.0.0 pydantic>=2.10 comm -msgspec diff --git a/requirements/redis.txt b/requirements/redis.txt index c4903b4540..01c0b4f7ba 100644 --- a/requirements/redis.txt +++ b/requirements/redis.txt @@ -1,4 +1,5 @@ -# Dependency used by RedisSharedStorage. +# Dependencies used by RedisSharedStorage. # Kept in sync with the redis pin in celery.txt; in Dash 5.0 redis will be # removed from the celery extra and live here only. redis>=3.5.3,<=8.1.0 +msgspec diff --git a/requirements/shared_storage.txt b/requirements/shared_storage.txt new file mode 100644 index 0000000000..bdc9e5a1e2 --- /dev/null +++ b/requirements/shared_storage.txt @@ -0,0 +1 @@ +msgspec diff --git a/setup.py b/setup.py index ac7163e384..d657d96916 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,8 @@ def read_req_file(req_type): "fastapi": read_req_file("fastapi"), "quart": read_req_file("quart"), "cloud": read_req_file("cloud"), - "ag-grid": read_req_file("ag-grid") + "ag-grid": read_req_file("ag-grid"), + "shared_storage": read_req_file("shared_storage") }, entry_points={ "console_scripts": [ diff --git a/tests/shared_storage/test_env_config.py b/tests/shared_storage/test_env_config.py index 68535f1065..aca7dc66fc 100644 --- a/tests/shared_storage/test_env_config.py +++ b/tests/shared_storage/test_env_config.py @@ -24,19 +24,19 @@ def _built(app): return storage if storage is None else storage() -def test_unset_defaults_to_local(monkeypatch): +def test_unset_disables(monkeypatch): monkeypatch.delenv("DASH_SHARED_STORAGE", raising=False) app = Dash(__name__) - assert app._shared_storage_arg is LocalSharedStorage + assert not app.shared_storage_enabled -@pytest.mark.parametrize("value", ["local", "LOCAL", " local ", ""]) +@pytest.mark.parametrize("value", ["local", "LOCAL", " local "]) def test_local(monkeypatch, value): app = _app(monkeypatch, value) assert app._shared_storage_arg is LocalSharedStorage -@pytest.mark.parametrize("value", ["none", "None"]) +@pytest.mark.parametrize("value", ["none", "None", ""]) def test_none_disables(monkeypatch, value): app = _app(monkeypatch, value) assert not app.shared_storage_enabled diff --git a/tests/shared_storage/test_no_msgspec.py b/tests/shared_storage/test_no_msgspec.py new file mode 100644 index 0000000000..aaae43413a --- /dev/null +++ b/tests/shared_storage/test_no_msgspec.py @@ -0,0 +1,103 @@ +"""Without msgspec, the in-memory backend still works over its socket +transport, and every backend that writes encoded bytes somewhere lasting +refuses to start with a pointer to the extra that brings it. + +Each case runs in a fresh interpreter with msgspec blocked, so the codec picks +its fallback at import time just as it would in a real install. +""" +import subprocess +import sys +import textwrap +import uuid + +import pytest + +PRELUDE = "import sys\nsys.modules['msgspec'] = None\n" + + +def _run(code): + proc = subprocess.run( + [sys.executable, "-c", PRELUDE + textwrap.dedent(code)], + capture_output=True, + text=True, + timeout=60, + check=False, + ) + assert proc.returncode == 0, proc.stderr + return proc.stdout + + +def test_memory_mode_crosses_processes_as_json(): + out = _run( + f""" + from dash._shared_storage import LocalSharedStorage, _codec + + assert not _codec.HAS_MSGSPEC + owner = LocalSharedStorage(namespace="nomsgspec-{uuid.uuid4().hex[:12]}") + owner.start() + client = LocalSharedStorage(namespace=owner._coord._namespace) + client.start() + assert owner._coord.is_owner() and not client._coord.is_owner() + + client.set("k", {{"a": [1, 2.5, None, True, "x"]}}) + assert owner.get("k") == {{"a": [1, 2.5, None, True, "x"]}} + sub = client.subscribe("t") + owner.publish("t", {{"n": 1}}) + print(sub.poll(timeout=5)) + sub.close() + client.close() + owner.close() + """ + ) + assert out.strip() == "[(1, {'n': 1})]" + + +@pytest.mark.parametrize( + "setup, what, extra", + [ + ( + "from dash._shared_storage import LocalSharedStorage\n" + "LocalSharedStorage(mode='persist', path='{tmp}')", + "LocalSharedStorage(mode='persist')", + "shared_storage", + ), + ( + "from dash._shared_storage import LocalSharedStorage\n" + "LocalSharedStorage(mode='persist-reset', path='{tmp}')", + "LocalSharedStorage(mode='persist-reset')", + "shared_storage", + ), + ( + "from dash._shared_storage import DiskcacheSharedStorage\n" + "DiskcacheSharedStorage(directory='{tmp}')", + "DiskcacheSharedStorage", + "diskcache", + ), + ( + "from dash._shared_storage import RedisSharedStorage\n" + "RedisSharedStorage(url='redis://localhost:6399/0')", + "RedisSharedStorage", + "redis", + ), + ( + "import os\nos.environ['DASH_SHARED_STORAGE'] = 'redis://localhost:6399/0'\n" + "from dash import Dash\nDash(__name__)", + "RedisSharedStorage", + "redis", + ), + ( + "import os\nos.environ['DASH_SHARED_STORAGE'] = 'diskcache://{tmp}'\n" + "from dash import Dash\nDash(__name__)", + "DiskcacheSharedStorage", + "diskcache", + ), + ], +) +def test_lasting_backends_need_the_extra(tmp_path, setup, what, extra): + out = _run( + "try:\n" + + textwrap.indent(setup.format(tmp=tmp_path), " ") + + "\nexcept ImportError as err:\n print(err)\n" + ) + assert f"{what} requires the {extra} extra" in out + assert f'pip install "dash[{extra}]"' in out diff --git a/tests/streaming/test_stream_callbacks_integration.py b/tests/streaming/test_stream_callbacks_integration.py index 1643c1e40c..da4d4effcc 100644 --- a/tests/streaming/test_stream_callbacks_integration.py +++ b/tests/streaming/test_stream_callbacks_integration.py @@ -11,6 +11,7 @@ no_update, set_props, ) +from dash._shared_storage import LocalSharedStorage from dash.testing.wait import until @@ -216,8 +217,6 @@ def test_stst020_multiplexed_transport_over_shared_storage(dash_duo): stream client rejects) and the downlink would 403, so nothing would render. Two callbacks share the one downlink, so this also covers multiplexing. """ - from dash._shared_storage import LocalSharedStorage - app = Dash(__name__, shared_storage=LocalSharedStorage()) app.layout = html.Div( [ @@ -279,7 +278,7 @@ def _open_tab(dash_duo): def test_stst010_many_tabs_share_one_downlink(dash_duo): """Browsers cap connections per host (~6); with the downlink hosted in a SharedWorker, eight streaming tabs share one and all keep streaming.""" - app = Dash(__name__) + app = Dash(__name__, shared_storage=LocalSharedStorage) app.layout = html.Div([html.Div(id="out", children="idle")]) @app.callback(Output("out", "children"), Input("out", "id")) @@ -303,7 +302,7 @@ async def stream_cb(_): def test_stst011_closing_a_tab_cancels_its_stream(dash_duo): """A tab closing while others keep the shared downlink open cancels that tab's callback server-side instead of running it to completion.""" - app = Dash(__name__) + app = Dash(__name__, shared_storage=LocalSharedStorage) app.layout = html.Div([html.Div(id="out", children="idle")]) events = [] @@ -338,7 +337,6 @@ def test_stst012_idle_stream_topics_are_released(dash_duo, monkeypatch): behind for the life of the process. A page that streams again after its topic was dropped still gets every frame of the new run.""" from dash import _stream_hub - from dash._shared_storage import LocalSharedStorage ttl = 1.0 monkeypatch.setattr(_stream_hub, "STREAM_TOPIC_TTL", ttl) diff --git a/tests/streaming/test_stream_transport.py b/tests/streaming/test_stream_transport.py index b3d04fb468..e61c7ef67d 100644 --- a/tests/streaming/test_stream_transport.py +++ b/tests/streaming/test_stream_transport.py @@ -161,6 +161,40 @@ def test_flask_downlink_rejects_missing_end_id(): storage.close() +@pytest.mark.parametrize("flavor", ["flask", "fastapi", "quart"]) +def test_downlink_without_shared_storage_is_rejected(flavor): + # The renderer never opens a downlink when shared storage is off, so a + # request for one gets 403 instead of a SharedStorageError 500. + body = {"streamDownlink": {"from": 0}} + if flavor == "flask": + app = Dash(__name__) + app.layout = html.Div() + resp = app.server.test_client().post(_uplink_url(app), json=body) + assert resp.status_code == 403 + return + if flavor == "fastapi": + pytest.importorskip("httpx", reason="fastapi.testclient requires httpx") + from fastapi import FastAPI + from fastapi.testclient import TestClient + + app = Dash(__name__, server=FastAPI()) + app.layout = html.Div() + app._setup_server() # pylint: disable=protected-access + with TestClient(app.server) as client: + assert client.post(_uplink_url(app), json=body).status_code == 403 + return + quart = pytest.importorskip("quart") + app = Dash(__name__, server=quart.Quart(__name__)) + app.layout = html.Div() + app._setup_server() # pylint: disable=protected-access + + async def run(): + resp = await app.server.test_client().post(_uplink_url(app), json=body) + return resp.status_code + + assert asyncio.run(run()) == 403 + + def test_flask_forged_stream_tokens_warn_once(monkeypatch, caplog): # A token that fails verification is almost always a secret mismatch # between workers, so say so, but once per process, not per poll. diff --git a/tests/streaming/test_stream_wsgi.py b/tests/streaming/test_stream_wsgi.py index 1d51f0c630..e0548c1970 100644 --- a/tests/streaming/test_stream_wsgi.py +++ b/tests/streaming/test_stream_wsgi.py @@ -33,13 +33,15 @@ import asyncio import os from dash import Dash, Input, Output, html + from dash._shared_storage import LocalSharedStorage, _codec - app = Dash(__name__) + app = Dash(__name__, shared_storage=LocalSharedStorage) server = app.server @server.after_request def tag_worker(response): response.headers["X-Worker-Pid"] = str(os.getpid()) + response.headers["X-Has-Msgspec"] = str(_codec.HAS_MSGSPEC) return response app.layout = html.Div([html.Button("go", id="btn", n_clicks=0), html.Div(id="out")]) @@ -62,8 +64,9 @@ def _free_port(): @contextlib.contextmanager -def _gunicorn(tmp_path, workers, env=None): +def _gunicorn(tmp_path, workers, env=None, config=""): (tmp_path / "wsgi_app.py").write_text(APP) + (tmp_path / "gunicorn_conf.py").write_text(config) port = _free_port() proc_env = {k: v for k, v in os.environ.items() if k.lower() != "dash_secret_key"} proc_env.update(env or {}) @@ -79,6 +82,8 @@ def _gunicorn(tmp_path, workers, env=None): str(workers), "--timeout", "30", + "--config", + "gunicorn_conf.py", ], cwd=tmp_path, env=proc_env, @@ -170,3 +175,16 @@ def test_stwg003_workers_without_shared_secret_refuse_streams(tmp_path): page_pid, polls = _downlink_polls(url) for pid, status in polls: assert status == (200 if pid == page_pid else 403) + + +def test_stwg004_workers_stream_without_msgspec(dash_br, tmp_path): + # Without the shared_storage extra, the in-memory backend still brokers + # streams across workers, encoding its socket messages as JSON. + no_msgspec = "import sys\nsys.modules['msgspec'] = None\n" + with _gunicorn( + tmp_path, workers=4, env={"DASH_SECRET_KEY": "shared"}, config=no_msgspec + ) as url: + assert requests.get(url, timeout=5).headers["X-Has-Msgspec"] == "False" + _, polls = _downlink_polls(url) + assert {status for _, status in polls} == {200} + _stream_completes(dash_br, url) From 7b397aef5e2161d5619451ac86ca6f858fbb3931 Mon Sep 17 00:00:00 2001 From: philippe Date: Wed, 28 Oct 2026 10:57:14 -0400 Subject: [PATCH 16/22] Add PR number to CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14ca695428..4029c03251 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). ## [Unreleased] ### Added -- [#](https://github.com/plotly/dash/pull/) Make shared storage and the multiplexed streaming downlink opt-in (`shared_storage=` or `DASH_SHARED_STORAGE`), and move `msgspec` to a new `dash[shared_storage]` extra for the persistent `LocalSharedStorage` modes (`dash[diskcache]` and `dash[redis]` include it). +- [#4095](https://github.com/plotly/dash/pull/4095) Make shared storage and the multiplexed streaming downlink opt-in (`shared_storage=` or `DASH_SHARED_STORAGE`), and move `msgspec` to a new `dash[shared_storage]` extra for the persistent `LocalSharedStorage` modes (`dash[diskcache]` and `dash[redis]` include it). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SECRET_KEY` so a hosting platform can give every worker and pod the same signing secret for page, background and stream tokens without editing the app (`server.secret_key` still wins and is not changed). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SHARED_STORAGE` to pick the shared-storage backend when the app does not pass `shared_storage=`: `local`, `none`, `diskcache:///abs/path`, or a `redis://` / `rediss://` URL. - [#4024](https://github.com/plotly/dash/pull/4024) Add support for social media meta tags in regular Dash apps using `app.title`, `app.description`, and `app.image`. From 945c00471346034244a53e415d25784f5aec6f46 Mon Sep 17 00:00:00 2001 From: philippe Date: Wed, 28 Oct 2026 11:41:41 -0400 Subject: [PATCH 17/22] Enable shared storage in the Windows stream worker URL test --- tests/unit/test_resources.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/unit/test_resources.py b/tests/unit/test_resources.py index cbbf52964b..7ca8509389 100644 --- a/tests/unit/test_resources.py +++ b/tests/unit/test_resources.py @@ -272,7 +272,11 @@ def test_index_with_windows_extended_length_paths(tmp_path, monkeypatch): icons.mkdir(parents=True) (icons / "favicon.ico").write_bytes(b"") - app = dash.Dash(__name__, assets_folder="\\\\?\\" + str(tmp_path / "assets")) + app = dash.Dash( + __name__, + assets_folder="\\\\?\\" + str(tmp_path / "assets"), + shared_storage=dash.LocalSharedStorage, + ) app.layout = html.Div() response = app.server.test_client().get("/") From 076e5afa3c4546d4b7e9dea6a79823ed997b0a22 Mon Sep 17 00:00:00 2001 From: philippe Date: Thu, 29 Oct 2026 09:59:45 -0400 Subject: [PATCH 18/22] Require shared storage for HTTP streaming callbacks An app with a streaming callback that runs over HTTP and no shared storage now fails at server setup with StreamCallbackError, instead of falling back to one connection per stream: that fallback works locally but breaks once deployed. Streaming callbacks over WebSocket on a backend that supports it (FastAPI, Quart) do not need shared storage. --- .ai/ARCHITECTURE.md | 10 +++- CHANGELOG.md | 1 + dash/_shared_storage/_codec.py | 9 +-- dash/_validate.py | 27 +++++++++ dash/dash.py | 27 +++++---- tests/streaming/conftest.py | 3 + tests/streaming/test_stream_callbacks_unit.py | 55 +++++++++++++++++++ tests/streaming/test_stream_transport.py | 6 +- 8 files changed, 119 insertions(+), 19 deletions(-) diff --git a/.ai/ARCHITECTURE.md b/.ai/ARCHITECTURE.md index deb28e15d4..5cae8f69bc 100644 --- a/.ai/ARCHITECTURE.md +++ b/.ai/ARCHITECTURE.md @@ -926,8 +926,14 @@ Dash(shared_storage=RedisSharedStorage(url="redis://host:6379")) ``` When disabled, accessing `app.shared_storage` / `dash.ctx.shared_storage` -raises `SharedStorageError`, and streaming callbacks still work, each on its own -connection instead of the multiplexed downlink. +raises `SharedStorageError`. Streaming callbacks over HTTP need it: server setup +raises `StreamCallbackError` naming them (`_validate.validate_stream_callbacks`), +so an app cannot stream on a fallback locally and then break once deployed. +WebSocket streaming callbacks (`websocket_callbacks=True` or `websocket=True` +on a backend with `websocket_capability`, i.e. FastAPI or Quart) send frames on +the socket and do not need it; on Flask those flags change nothing and the check +still applies. Browsers without `SharedWorker` do not use the WebSocket +transport and stream over HTTP, one connection per stream. **`LocalSharedStorage`** — in-memory, no external service. On first use every worker races to become the single **owner** for the machine by binding a stable diff --git a/CHANGELOG.md b/CHANGELOG.md index 4029c03251..f0c4c2eaaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). ## [Unreleased] ### Added +- [#](https://github.com/plotly/dash/pull/) Streaming callbacks over HTTP now require shared storage and fail at server setup without it, instead of falling back to one connection per stream; WebSocket streaming callbacks do not need it. - [#4095](https://github.com/plotly/dash/pull/4095) Make shared storage and the multiplexed streaming downlink opt-in (`shared_storage=` or `DASH_SHARED_STORAGE`), and move `msgspec` to a new `dash[shared_storage]` extra for the persistent `LocalSharedStorage` modes (`dash[diskcache]` and `dash[redis]` include it). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SECRET_KEY` so a hosting platform can give every worker and pod the same signing secret for page, background and stream tokens without editing the app (`server.secret_key` still wins and is not changed). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SHARED_STORAGE` to pick the shared-storage backend when the app does not pass `shared_storage=`: `local`, `none`, `diskcache:///abs/path`, or a `redis://` / `rediss://` URL. diff --git a/dash/_shared_storage/_codec.py b/dash/_shared_storage/_codec.py index f2191f0280..3fa169cc53 100644 --- a/dash/_shared_storage/_codec.py +++ b/dash/_shared_storage/_codec.py @@ -1,10 +1,11 @@ """Codec for the shared-storage transport and the persistent backends. Uses ``msgspec`` (msgpack: fast, compact) from the ``dash[shared_storage]`` -extra, also part of ``dash[diskcache]`` and ``dash[redis]``. Without it, only the in-memory transport works and it falls back to -stdlib JSON; the backends that write encoded bytes somewhere lasting (disk -persistence, diskcache, Redis) call :func:`require_msgspec` so the stored -format never depends on what happens to be installed. Both formats are +extra, also part of ``dash[diskcache]`` and ``dash[redis]``. Without it, only +the in-memory transport works and it falls back to stdlib JSON; the backends +that write encoded bytes somewhere lasting (disk persistence, diskcache, Redis) +call :func:`require_msgspec` so the stored format never depends on what +happens to be installed. Both formats are data-only, so bytes read off the socket cannot execute code. Payloads must be JSON-compatible (dict / list / str / int / float / bool / diff --git a/dash/_validate.py b/dash/_validate.py index b80c61df2c..5c069581d1 100644 --- a/dash/_validate.py +++ b/dash/_validate.py @@ -564,6 +564,33 @@ def validate_background_callbacks(callback_map): ) +def validate_stream_callbacks( + callback_map, shared_storage_enabled, websocket_callbacks, websocket_capable +): + # Over HTTP a stream needs shared storage to broker its frames. Fail the same + # way locally as in a deployment rather than streaming one way here and + # breaking there. A websocket flag only counts on a backend that serves + # WebSockets; on Flask those callbacks still run over HTTP. + if shared_storage_enabled: + return + streams = [ + callback_id + for callback_id, callback in callback_map.items() + if callback.get("stream") + and not ( + websocket_capable and (websocket_callbacks or callback.get("websocket")) + ) + ] + if streams: + raise exceptions.StreamCallbackError( + f"Streaming callbacks {streams} run over HTTP and need shared " + "storage. Pass Dash(shared_storage=dash.LocalSharedStorage) (or a " + "Diskcache or Redis backend), set DASH_SHARED_STORAGE, or run them " + "over WebSocket on a backend that supports it (FastAPI or Quart, " + "with websocket_callbacks=True or websocket=True on the callback)." + ) + + def validate_duplicate_output( output, prevent_initial_call, config_prevent_initial_call ): diff --git a/dash/dash.py b/dash/dash.py index 601ef964af..f2cd2e4c3d 100644 --- a/dash/dash.py +++ b/dash/dash.py @@ -480,8 +480,9 @@ class Dash(ObsoleteChecker): :param shared_storage: Backend for ``dash.ctx.shared_storage`` and the streaming-callback transport: a ``BaseSharedStorage`` subclass or instance, or ``None`` to disable. Off by default: pass - ``LocalSharedStorage`` for one machine or pod. Without it, streaming - callbacks still work, each on its own connection. When not passed, the + ``LocalSharedStorage`` for one machine or pod. Streaming callbacks + over HTTP need it, and server setup raises without it; WebSocket + streaming callbacks do not. When not passed, the ``DASH_SHARED_STORAGE`` environment variable can choose it: ``local``, ``none``, ``diskcache:///absolute/path``, or a ``redis://`` / ``rediss://`` URL. An explicit argument, including ``None``, always @@ -1270,14 +1271,14 @@ def _config(self): "heartbeat_interval": self._websocket_heartbeat_interval, } - # Streaming callbacks use the single multiplexed downlink only when a - # shared-storage backend is available to broker frames across workers; - # otherwise the client streams each callback on its own connection. - # The worker script hosts that downlink in a SharedWorker so every tab - # of the browser shares one connection (browsers cap connections per - # host); the renderer falls back to a per-tab downlink without it. - # "mode" is how the downlink is served: one open connection (ASGI) or - # polling (WSGI, where an open response would pin a worker thread). + # HTTP streaming callbacks need shared storage to broker frames across + # workers onto the single multiplexed downlink (_setup_server refuses + # them without it). The worker script hosts that downlink in a + # SharedWorker so every tab of the browser shares one connection + # (browsers cap connections per host); the renderer falls back to a + # per-tab downlink without SharedWorker support. "mode" is how the + # downlink is served: one open connection (ASGI) or polling (WSGI, + # where an open response would pin a worker thread). config["stream"] = {"enabled": self.shared_storage_enabled} if self.shared_storage_enabled: config["stream"].update( @@ -1933,6 +1934,12 @@ def _setup_server(self): _callback.GLOBAL_CALLBACK_LIST.clear() _validate.validate_background_callbacks(self.callback_map) + _validate.validate_stream_callbacks( + self.callback_map, + self.shared_storage_enabled, + self._websocket_callbacks, + self.backend.websocket_capability, + ) cancels = {} diff --git a/tests/streaming/conftest.py b/tests/streaming/conftest.py index 94467a0d00..070c3bf336 100644 --- a/tests/streaming/conftest.py +++ b/tests/streaming/conftest.py @@ -18,6 +18,9 @@ def _isolate_shared_storage(monkeypatch): namespace = f"streamtest-{uuid.uuid4().hex[:12]}" monkeypatch.setattr(_local, "_default_namespace", lambda: namespace) + # HTTP streaming needs shared storage, so apps here get it unless they pass + # their own. + monkeypatch.setenv("DASH_SHARED_STORAGE", "local") yield diff --git a/tests/streaming/test_stream_callbacks_unit.py b/tests/streaming/test_stream_callbacks_unit.py index 2078acdec9..cdd1678416 100644 --- a/tests/streaming/test_stream_callbacks_unit.py +++ b/tests/streaming/test_stream_callbacks_unit.py @@ -521,3 +521,58 @@ async def scenario(): }, ] assert all(m["rid"] == "rid" for _, m in published) + + +def _stream_app(**kwargs): + callback_kwargs = ( + {"websocket": kwargs.pop("websocket")} if "websocket" in kwargs else {} + ) + app = Dash(__name__, **kwargs) + app.layout = html.Div([html.Button(id="btn"), html.Div(id="out")]) + + @app.callback( + Output("out", "children"), Input("btn", "n_clicks"), **callback_kwargs + ) + async def stream(n): + yield n + + return app + + +def test_stcb025_http_stream_without_shared_storage_fails_at_setup(): + # The error must come at setup, the same locally and once deployed, instead + # of streaming on a fallback that breaks behind a real deployment. + app = _stream_app(shared_storage=None) + with pytest.raises(StreamCallbackError, match="need shared storage"): + app._setup_server() # pylint: disable=protected-access + + +def test_stcb026_http_stream_without_shared_storage_fails_first_request(): + app = _stream_app(shared_storage=None) + app.server.testing = True + client = app.server.test_client() + for _ in range(2): + with pytest.raises(StreamCallbackError, match="out.children"): + client.get("/") + + +def test_stcb027_websocket_streams_do_not_need_shared_storage(): + pytest.importorskip("fastapi") + _stream_app( + shared_storage=None, backend="fastapi", websocket_callbacks=True + )._setup_server() # pylint: disable=protected-access + _stream_app( + shared_storage=None, backend="fastapi", websocket=True + )._setup_server() # pylint: disable=protected-access + + +@pytest.mark.parametrize("kwargs", [{"websocket_callbacks": True}, {"websocket": True}]) +def test_stcb029_websocket_flag_on_flask_still_needs_shared_storage(kwargs): + # Flask has no WebSocket route, so these streams would run over HTTP. + app = _stream_app(shared_storage=None, **kwargs) + with pytest.raises(StreamCallbackError, match="need shared storage"): + app._setup_server() # pylint: disable=protected-access + + +def test_stcb028_http_stream_with_shared_storage_sets_up(): + _stream_app()._setup_server() # pylint: disable=protected-access diff --git a/tests/streaming/test_stream_transport.py b/tests/streaming/test_stream_transport.py index e61c7ef67d..c5ee1877f3 100644 --- a/tests/streaming/test_stream_transport.py +++ b/tests/streaming/test_stream_transport.py @@ -167,7 +167,7 @@ def test_downlink_without_shared_storage_is_rejected(flavor): # request for one gets 403 instead of a SharedStorageError 500. body = {"streamDownlink": {"from": 0}} if flavor == "flask": - app = Dash(__name__) + app = Dash(__name__, shared_storage=None) app.layout = html.Div() resp = app.server.test_client().post(_uplink_url(app), json=body) assert resp.status_code == 403 @@ -177,14 +177,14 @@ def test_downlink_without_shared_storage_is_rejected(flavor): from fastapi import FastAPI from fastapi.testclient import TestClient - app = Dash(__name__, server=FastAPI()) + app = Dash(__name__, server=FastAPI(), shared_storage=None) app.layout = html.Div() app._setup_server() # pylint: disable=protected-access with TestClient(app.server) as client: assert client.post(_uplink_url(app), json=body).status_code == 403 return quart = pytest.importorskip("quart") - app = Dash(__name__, server=quart.Quart(__name__)) + app = Dash(__name__, server=quart.Quart(__name__), shared_storage=None) app.layout = html.Div() app._setup_server() # pylint: disable=protected-access From acd5383fc626d421c4e341390b84ae2d4f2c16fe Mon Sep 17 00:00:00 2001 From: philippe Date: Thu, 29 Oct 2026 09:59:59 -0400 Subject: [PATCH 19/22] Add PR number to CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0c4c2eaaa..a94b5fc767 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). ## [Unreleased] ### Added -- [#](https://github.com/plotly/dash/pull/) Streaming callbacks over HTTP now require shared storage and fail at server setup without it, instead of falling back to one connection per stream; WebSocket streaming callbacks do not need it. +- [#4099](https://github.com/plotly/dash/pull/4099) Streaming callbacks over HTTP now require shared storage and fail at server setup without it, instead of falling back to one connection per stream; WebSocket streaming callbacks do not need it. - [#4095](https://github.com/plotly/dash/pull/4095) Make shared storage and the multiplexed streaming downlink opt-in (`shared_storage=` or `DASH_SHARED_STORAGE`), and move `msgspec` to a new `dash[shared_storage]` extra for the persistent `LocalSharedStorage` modes (`dash[diskcache]` and `dash[redis]` include it). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SECRET_KEY` so a hosting platform can give every worker and pod the same signing secret for page, background and stream tokens without editing the app (`server.secret_key` still wins and is not changed). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SHARED_STORAGE` to pick the shared-storage backend when the app does not pass `shared_storage=`: `local`, `none`, `diskcache:///abs/path`, or a `redis://` / `rediss://` URL. From 28b53756f476d8e7859f60dd9004e3637baae711 Mon Sep 17 00:00:00 2001 From: philippe Date: Thu, 29 Oct 2026 13:06:31 -0400 Subject: [PATCH 20/22] version 4.5.0 --- CHANGELOG.md | 4 ++-- components/dash-core-components/package-lock.json | 4 ++-- components/dash-core-components/package.json | 2 +- components/dash-html-components/package-lock.json | 4 ++-- components/dash-html-components/package.json | 2 +- components/dash-table/package-lock.json | 4 ++-- components/dash-table/package.json | 2 +- dash/_dash_renderer.py | 4 ++-- dash/dash-renderer/package-lock.json | 4 ++-- dash/dash-renderer/package.json | 2 +- dash/version.py | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a94b5fc767..7d1961e635 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to `dash` will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). -## [Unreleased] +## [4.5.0] - 2026-10-29 ### Added - [#4099](https://github.com/plotly/dash/pull/4099) Streaming callbacks over HTTP now require shared storage and fail at server setup without it, instead of falling back to one connection per stream; WebSocket streaming callbacks do not need it. @@ -62,7 +62,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). - [#4057](https://github.com/plotly/dash/pull/4057) Fixed background callbacks to update `set_props` instead of replacing. Fixes [#3104](https://github.com/plotly/dash/issues/3104). - [#3923](https://github.com/plotly/dash/pull/3923) Fix a blank page and `SyntaxError` in the browser when a dict component ID has a dot in one of its values. Fixes [#3480](https://github.com/plotly/dash/issues/3480). - [#4074](https://github.com/plotly/dash/pull/4074) Fix Pages passing percent-encoded path variables to `layout` and `title`, and the 404 page for paths with spaces or non-ASCII characters. Fixes [#2360](https://github.com/plotly/dash/issues/2360). -- [#4012](https://github.com/plotly/dash/pull/4012) Fix `InvalidCallbackReturnValue` raised when a no-output background callback's error handler returns `None` (or the job is cancelled), by treating `None` returns from error handlers and the cancelled-job branch the same way — as `NoUpdate()` only when there are outputs, `None` otherwise. Fixes [#3628](https://github.com/plotly/dash/issues/3628). +- [#4012](https://github.com/plotly/dash/pull/4012) Fix `InvalidCallbackReturnValue` raised when a no-output background callback's error handler returns `None` (or the job is cancelled), by treating `None` returns from error handlers and the cancelled-job branch the same way: `NoUpdate()` only when there are outputs, `None` otherwise. Fixes [#3628](https://github.com/plotly/dash/issues/3628). ## [4.4.1] - 2026-07-21 diff --git a/components/dash-core-components/package-lock.json b/components/dash-core-components/package-lock.json index c4da37688e..a0ac4a24b2 100644 --- a/components/dash-core-components/package-lock.json +++ b/components/dash-core-components/package-lock.json @@ -1,12 +1,12 @@ { "name": "dash-core-components", - "version": "4.5.2", + "version": "4.5.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dash-core-components", - "version": "4.5.2", + "version": "4.5.3", "license": "MIT", "dependencies": { "@fortawesome/fontawesome-svg-core": "1.2.36", diff --git a/components/dash-core-components/package.json b/components/dash-core-components/package.json index 67011908dd..31944242c3 100644 --- a/components/dash-core-components/package.json +++ b/components/dash-core-components/package.json @@ -1,6 +1,6 @@ { "name": "dash-core-components", - "version": "4.5.2", + "version": "4.5.3", "description": "Core component suite for Dash", "repository": { "type": "git", diff --git a/components/dash-html-components/package-lock.json b/components/dash-html-components/package-lock.json index acf014de05..8a5a260e7e 100644 --- a/components/dash-html-components/package-lock.json +++ b/components/dash-html-components/package-lock.json @@ -1,12 +1,12 @@ { "name": "dash-html-components", - "version": "4.5.2", + "version": "4.5.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dash-html-components", - "version": "4.5.2", + "version": "4.5.3", "license": "MIT", "dependencies": { "prop-types": "^15.8.1", diff --git a/components/dash-html-components/package.json b/components/dash-html-components/package.json index c8a91b33f9..7ee88ed685 100644 --- a/components/dash-html-components/package.json +++ b/components/dash-html-components/package.json @@ -1,6 +1,6 @@ { "name": "dash-html-components", - "version": "4.5.2", + "version": "4.5.3", "description": "Vanilla HTML components for Dash", "main": "lib/index.js", "repository": { diff --git a/components/dash-table/package-lock.json b/components/dash-table/package-lock.json index 0eb13e3678..8ea352f2e3 100644 --- a/components/dash-table/package-lock.json +++ b/components/dash-table/package-lock.json @@ -1,12 +1,12 @@ { "name": "dash-table", - "version": "7.5.2", + "version": "7.5.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dash-table", - "version": "7.5.2", + "version": "7.5.3", "license": "MIT", "devDependencies": { "@babel/cli": "^7.28.6", diff --git a/components/dash-table/package.json b/components/dash-table/package.json index 5552ef209a..1e58489779 100644 --- a/components/dash-table/package.json +++ b/components/dash-table/package.json @@ -1,6 +1,6 @@ { "name": "dash-table", - "version": "7.5.2", + "version": "7.5.3", "description": "Dash table", "repository": { "type": "git", diff --git a/dash/_dash_renderer.py b/dash/_dash_renderer.py index dbc8b78518..793f952033 100644 --- a/dash/_dash_renderer.py +++ b/dash/_dash_renderer.py @@ -1,7 +1,7 @@ import os from typing import Any, List, Dict -__version__ = "3.5.2" +__version__ = "3.5.3" _available_react_versions = {"18.3.1", "18.2.0", "19.2.4"} _available_reactdom_versions = {"18.3.1", "18.2.0", "19.2.4"} @@ -85,7 +85,7 @@ def _set_react_version(v_react, v_reactdom=None): { "relative_package_path": "dash-renderer/build/dash_renderer.min.js", "dev_package_path": "dash-renderer/build/dash_renderer.dev.js", - "external_url": "https://unpkg.com/dash-renderer@3.5.2" + "external_url": "https://unpkg.com/dash-renderer@3.5.3" "/build/dash_renderer.min.js", "namespace": "dash", }, diff --git a/dash/dash-renderer/package-lock.json b/dash/dash-renderer/package-lock.json index dd04896cb7..256190c27e 100644 --- a/dash/dash-renderer/package-lock.json +++ b/dash/dash-renderer/package-lock.json @@ -1,12 +1,12 @@ { "name": "dash-renderer", - "version": "3.5.2", + "version": "3.5.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dash-renderer", - "version": "3.5.2", + "version": "3.5.3", "license": "MIT", "dependencies": { "@babel/polyfill": "^7.12.1", diff --git a/dash/dash-renderer/package.json b/dash/dash-renderer/package.json index e7875a6c10..17b68955af 100644 --- a/dash/dash-renderer/package.json +++ b/dash/dash-renderer/package.json @@ -1,6 +1,6 @@ { "name": "dash-renderer", - "version": "3.5.2", + "version": "3.5.3", "description": "render dash components in react", "main": "build/dash_renderer.min.js", "scripts": { diff --git a/dash/version.py b/dash/version.py index 025e8a2c5c..9faa2c2dd5 100644 --- a/dash/version.py +++ b/dash/version.py @@ -1 +1 @@ -__version__ = "4.5.0rc2" +__version__ = "4.5.0" From 3ba04eba7e5ba074ec87c0ad5c6348738b182ad5 Mon Sep 17 00:00:00 2001 From: philippe Date: Thu, 29 Oct 2026 14:03:16 -0400 Subject: [PATCH 21/22] Backfill 4.5.0 CHANGELOG entries and PR links --- CHANGELOG.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d1961e635..d752b883a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,14 +16,14 @@ This project adheres to [Semantic Versioning](https://semver.org/). - [#3931](https://github.com/plotly/dash/pull/3931) Add streaming callbacks: an `async def` generator callback streams its yields to the browser as they are produced (`dash.Patch` yields apply incrementally). A browser's streams share one SharedWorker-hosted connection so they do not count against the per-host connection limit; closing a tab cancels its streams. - [#3977](https://github.com/plotly/dash/pull/3977) Add partial WebSocket prop reads with `get_prop(..., path=...)`. Closes [#3975](https://github.com/plotly/dash/issues/3975). - [#3765](https://github.com/plotly/dash/pull/3765) Add opt-in partial pattern matching for callback `Input`, `Output`, and `State` via `partial_pattern=True`, so dictionary ID patterns can match component IDs with extra keys and combine with `ALL`/`MATCH` wildcards. Fixes [#3764](https://github.com/plotly/dash/issues/3764). -- [#3646](https://github.com/plotly/dash/pull/3646) Add experimental support for React 19 (default stays React 18.3.1); opt in with `REACT_VERSION=19.2.4` or `dash._dash_renderer._set_react_version("19.2.4")`. Dash serves the [`umd-react`](https://www.npmjs.com/package/umd-react) package with a compatibility shim so component libraries built against React <=18 keep working; see `.ai/ARCHITECTURE.md`. +- [#3880](https://github.com/plotly/dash/pull/3880) Add experimental support for React 19 (default stays React 18.3.1); opt in with `REACT_VERSION=19.2.4` or `dash._dash_renderer._set_react_version("19.2.4")`. Dash serves the [`umd-react`](https://www.npmjs.com/package/umd-react) package with a compatibility shim so component libraries built against React <=18 keep working; see `.ai/ARCHITECTURE.md`. - [#3925](https://github.com/plotly/dash/pull/3925) Add optional callback request payload compression via `compress_payload` and `compress_threshold` callback parameters (default threshold 5,000 bytes), sending gzip payloads that Dash decompresses on Flask, FastAPI, and Quart. Fixes [#3924](https://github.com/plotly/dash/issues/3924). - [#3961](https://github.com/plotly/dash/pull/3961) Added cursor position data (`xPixel`, `yPixel`) to `dcc.Graph` `hoverData` and `clickData` when `hoveranywhere` or `clickanywhere` is enabled in the figure. - [#3960](https://github.com/plotly/dash/pull/3960) Rewrite `dcc.Markdown` and `dcc.Link` as Typescript components - [#3881](https://github.com/plotly/dash/pull/3881) Added `dash.remount`, a wrapper for a callback-returned component that forces the renderer to remount it (resetting its internal state) instead of reconciling in place: the explicit way to reset a stateful component from a callback without changing its `id`. ### Removed -- [#3646](https://github.com/plotly/dash/pull/3646) Remove React 16 support (`16.14.0` is no longer an accepted value for `REACT_VERSION` / `_set_react_version`). +- [#3880](https://github.com/plotly/dash/pull/3880) Remove React 16 support (`16.14.0` is no longer an accepted value for `REACT_VERSION` / `_set_react_version`). - [#4039](https://github.com/plotly/dash/pull/4039) Remove unnecessary Python version checks (pre 3.9). ### Changed @@ -49,13 +49,16 @@ This project adheres to [Semantic Versioning](https://semver.org/). - [#3941](https://github.com/plotly/dash/pull/3941) Fix the FastAPI and Quart backends opening a WebSocket connection on every page load even for apps with no WebSocket callbacks; the socket now opens only when actually needed. Fixes [#3939](https://github.com/plotly/dash/issues/3939). - [#3916](https://github.com/plotly/dash/pull/3916) Fixed a regression where dragging multiple files into `dcc.Upload` would upload only the first file when `multiple=True` - [#3922](https://github.com/plotly/dash/pull/3922) Fix `dcc.Input(type="number")` stepper behavior when only `min` is set. -- [#3925](https://github.com/plotly/dash/pull/3925) Use the proxied url as the Jupyter server url so `DASH_PROXY` is honored by the external url and inline iframe in notebooks. +- [#3936](https://github.com/plotly/dash/pull/3936) Use the proxied url as the Jupyter server url so `DASH_PROXY` is honored by the external url and inline iframe in notebooks. Fixes [#3401](https://github.com/plotly/dash/issues/3401). - [#3938](https://github.com/plotly/dash/pull/3938) Fix `dcc.Patch()` re-running the initial callbacks of components already on the page (including every `MATCH`/`ALL` element) and wiping their user-edited persisted values. Fixes [#3681](https://github.com/plotly/dash/issues/3681) and [#3937](https://github.com/plotly/dash/issues/3937) - [#3960](https://github.com/plotly/dash/pull/3960) Fix `dcc.Markdown` not rendering `` by using newer dependencies -- [#3846](https://github.com/plotly/dash/issues/3846) Fix callback-returned children being unmounted and remounted on every update instead of reconciled in place, which reset component state and slowed large subtrees 3-4x (regression introduced in 4.2.0 by [#3570](https://github.com/plotly/dash/pull/3570)); use `dash.remount` to force a remount. +- [#3881](https://github.com/plotly/dash/pull/3881) Fix callback-returned children being unmounted and remounted on every update instead of reconciled in place, which reset component state and slowed large subtrees 3-4x (regression introduced in 4.2.0 by [#3570](https://github.com/plotly/dash/pull/3570)); use `dash.remount` to force a remount. Fixes [#3846](https://github.com/plotly/dash/issues/3846). - [#3881](https://github.com/plotly/dash/pull/3881) Fix components rendered as props (eg. `dcc.Dropdown` option labels, `dcc.Tab` labels) crashing or failing to update when the host subtree was replaced by a callback; out-of-tree `ExternalWrapper` components now re-insert themselves and update in place. -- [#3929](https://github.com/plotly/dash/issues/3929) Fix components that set their own initial state on mount (eg. `dash-bootstrap-components` `Tabs`) not applying it on first render, because descendant layout hashes were reset on the first fresh render (regression introduced in 4.2.0 by [#3570](https://github.com/plotly/dash/pull/3570)). -- [#3948](https://github.com/plotly/dash/issues/3948) Fix page getting progressively slower as callbacks append children +- [#3881](https://github.com/plotly/dash/pull/3881) Fix components that set their own initial state on mount (eg. `dash-bootstrap-components` `Tabs`) not applying it on first render, because descendant layout hashes were reset on the first fresh render (regression introduced in 4.2.0 by [#3570](https://github.com/plotly/dash/pull/3570)). Fixes [#3929](https://github.com/plotly/dash/issues/3929). +- [#3948](https://github.com/plotly/dash/pull/3948) Fix page getting progressively slower as callbacks append children. +- [#3915](https://github.com/plotly/dash/pull/3915) Fix MCP tool results erroring when a figure cannot be rendered to an image (eg. Kaleido without Chrome); the image is now skipped. Fixes [#3914](https://github.com/plotly/dash/issues/3914). +- [#3621](https://github.com/plotly/dash/pull/3621) Fix component generation crashing when the path to `extract-meta.js` contains a space. +- [#3895](https://github.com/plotly/dash/pull/3895) Component generation errors from `extract-meta.js` now name the file, prop path and line where they originate. Fixes [#3362](https://github.com/plotly/dash/issues/3362). - [#4014](https://github.com/plotly/dash/pull/4014) Disable autocomplete in DatePickerSingle and DatePickerRange inputs. Fixes [#4009](https://github.com/plotly/dash/issues/4009). - [#4007](https://github.com/plotly/dash/pull/4007) Fix page loads failing with a 500 error on Windows when Dash is imported from an extended-length (`\\?\`) path, as in JupyterLab Desktop. Package resource paths are now joined with the OS separator instead of `/`. Fixes [#3002](https://github.com/plotly/dash/issues/3002). - [#4023](https://github.com/plotly/dash/pull/4023) Fix extra callback registrations when an app runs from the parent directory: `python app/app.py`, where the script shares its folder's name, registered its callbacks twice, and `python app/main.py` imported a sibling `app/app.py` as the parent package and registered its callbacks too (regression introduced in 4.4.1 by [#3883](https://github.com/plotly/dash/pull/3883)). Fixes [#4011](https://github.com/plotly/dash/issues/4011). From f7ad523869c39082c635374e99667902203459f6 Mon Sep 17 00:00:00 2001 From: philippe Date: Thu, 29 Oct 2026 15:04:51 -0400 Subject: [PATCH 22/22] Version 4.5.0 build artifacts --- dash/dash-renderer/build/dash_renderer.dev.js | 4182 ++++++++--------- dash/dash-renderer/build/dash_renderer.min.js | 2 +- dash/dash_table/async-export.js | 2 +- dash/dash_table/async-export.js.map | 2 +- dash/dash_table/async-highlight.js | 2 +- dash/dash_table/async-highlight.js.map | 2 +- dash/dash_table/async-table.js | 2 +- dash/dash_table/async-table.js.map | 2 +- dash/dash_table/bundle.js | 2 +- dash/dash_table/bundle.js.map | 2 +- dash/dash_table/demo.js | 2 +- dash/dash_table/demo.js.map | 2 +- dash/dash_table/package-info.json | 2 +- dash/dcc/dash_core_components.js | 2 +- dash/dcc/dash_core_components.js.map | 2 +- dash/dcc/package-info.json | 2 +- dash/html/package-info.json | 2 +- 17 files changed, 2107 insertions(+), 2107 deletions(-) diff --git a/dash/dash-renderer/build/dash_renderer.dev.js b/dash/dash-renderer/build/dash_renderer.dev.js index b6d303ea98..3b23ec5f1a 100644 --- a/dash/dash-renderer/build/dash_renderer.dev.js +++ b/dash/dash-renderer/build/dash_renderer.dev.js @@ -1,21 +1,21 @@ /******/ (function() { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ "./node_modules/@plotly/dash-component-plugins/dist/index.js": +/***/ "./node_modules/@plotly/dash-component-plugins/dist/index.js" /*!*******************************************************************!*\ !*** ./node_modules/@plotly/dash-component-plugins/dist/index.js ***! \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { !function(e,n){ true?module.exports=n(__webpack_require__(/*! react */ "react")):0}(window,(function(e){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=1)}([function(n,t){n.exports=e},function(e,n,t){"use strict";t.r(n),t.d(n,"asyncDecorator",(function(){return u})),t.d(n,"inheritAsyncDecorator",(function(){return a})),t.d(n,"isReady",(function(){return c})),t.d(n,"History",(function(){return d}));var r=t(0);function o(e,n,t,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void t(e)}a.done?n(c):Promise.resolve(c).then(r,o)}function i(e){return function(){var n=this,t=arguments;return new Promise((function(r,i){var u=e.apply(n,t);function a(e){o(u,r,i,a,c,"next",e)}function c(e){o(u,r,i,a,c,"throw",e)}a(void 0)}))}}var u=function(e,n){var t,o={isReady:new Promise((function(e){t=e})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(e){return setTimeout(i(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t(!0);case 2:o.isReady=!0;case 3:case"end":return e.stop()}}),e)}))),0),e}))}))};return Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},a=function(e,n){Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return c(n)}})},c=function(e){return e&&e._dashprivate_isLazyComponentReady};function f(e,n){for(var t=0;t form > p {\n display: none;\n}\n.plain pre {\n padding: 15px !important;\n overflow-x: scroll;\n}\n\n.debugger div.traceback pre {\n cursor: default;\n}\n\n.debugger .traceback .source pre.line img {\n display: none;\n}\n"); -/***/ }), +/***/ }, -/***/ "./src/constants/constants.js": +/***/ "./src/constants/constants.js" /*!************************************!*\ !*** ./src/constants/constants.js ***! \************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -12620,13 +12620,13 @@ var STATUSMAP = { [STATUS.PREVENT_UPDATE]: 'NO_UPDATE' }; -/***/ }), +/***/ }, -/***/ "./src/exceptions.js": +/***/ "./src/exceptions.js" /*!***************************!*\ !*** ./src/exceptions.js ***! \***************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -12739,13 +12739,13 @@ function propTypeErrorHandler(message, props, type) { throw new Error(errorMessage); } -/***/ }), +/***/ }, -/***/ "./src/isSimpleComponent.js": +/***/ "./src/isSimpleComponent.js" /*!**********************************!*\ !*** ./src/isSimpleComponent.js ***! \**********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -12757,13 +12757,13 @@ var SIMPLE_COMPONENT_TYPES = ['String', 'Number', 'Null', 'Boolean']; return (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(component), SIMPLE_COMPONENT_TYPES); }); -/***/ }), +/***/ }, -/***/ "./src/persistence.js": +/***/ "./src/persistence.js" /*!****************************!*\ !*** ./src/persistence.js ***! \****************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13278,13 +13278,13 @@ function prunePersistence(layout, newProps, dispatch) { return persistenceChanged ? (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(newProps, update) : newProps; } -/***/ }), +/***/ }, -/***/ "./src/react-shim.js": +/***/ "./src/react-shim.js" /*!***************************!*\ !*** ./src/react-shim.js ***! \***************************/ -/***/ (function() { +() { /** * React compatibility shim @@ -13401,13 +13401,13 @@ function prunePersistence(layout, newProps, dispatch) { }; })(); -/***/ }), +/***/ }, -/***/ "./src/reducers/api.js": +/***/ "./src/reducers/api.js" /*!*****************************!*\ !*** ./src/reducers/api.js ***! \*****************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13444,13 +13444,13 @@ function createApiReducer(store) { }; } -/***/ }), +/***/ }, -/***/ "./src/reducers/appLifecycle.js": +/***/ "./src/reducers/appLifecycle.js" /*!**************************************!*\ !*** ./src/reducers/appLifecycle.js ***! \**************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13470,13 +13470,13 @@ function appLifecycle() { } /* harmony default export */ __webpack_exports__["default"] = (appLifecycle); -/***/ }), +/***/ }, -/***/ "./src/reducers/changed.js": +/***/ "./src/reducers/changed.js" /*!*********************************!*\ !*** ./src/reducers/changed.js ***! \*********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13493,13 +13493,13 @@ function changed() { } /* harmony default export */ __webpack_exports__["default"] = (changed); -/***/ }), +/***/ }, -/***/ "./src/reducers/config.js": +/***/ "./src/reducers/config.js" /*!********************************!*\ !*** ./src/reducers/config.js ***! \********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13527,13 +13527,13 @@ function config() { return state; } -/***/ }), +/***/ }, -/***/ "./src/reducers/constants.js": +/***/ "./src/reducers/constants.js" /*!***********************************!*\ !*** ./src/reducers/constants.js ***! \***********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13552,13 +13552,13 @@ function getAppState(state) { throw new Error("".concat(state, " is not a valid app state.")); } -/***/ }), +/***/ }, -/***/ "./src/reducers/dependencyGraph.js": +/***/ "./src/reducers/dependencyGraph.js" /*!*****************************************!*\ !*** ./src/reducers/dependencyGraph.js ***! \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13573,13 +13573,13 @@ var graphs = function graphs() { }; /* harmony default export */ __webpack_exports__["default"] = (graphs); -/***/ }), +/***/ }, -/***/ "./src/reducers/error.js": +/***/ "./src/reducers/error.js" /*!*******************************!*\ !*** ./src/reducers/error.js ***! \*******************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13644,13 +13644,13 @@ function error() { } } -/***/ }), +/***/ }, -/***/ "./src/reducers/history.js": +/***/ "./src/reducers/history.js" /*!*********************************!*\ !*** ./src/reducers/history.js ***! \*********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13715,13 +13715,13 @@ function history() { } /* harmony default export */ __webpack_exports__["default"] = (history); -/***/ }), +/***/ }, -/***/ "./src/reducers/hooks.js": +/***/ "./src/reducers/hooks.js" /*!*******************************!*\ !*** ./src/reducers/hooks.js ***! \*******************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13745,13 +13745,13 @@ var customHooks = function customHooks() { }; /* harmony default export */ __webpack_exports__["default"] = (customHooks); -/***/ }), +/***/ }, -/***/ "./src/reducers/layout.js": +/***/ "./src/reducers/layout.js" /*!********************************!*\ !*** ./src/reducers/layout.js ***! \********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13809,13 +13809,13 @@ var layout = function layout() { }; /* harmony default export */ __webpack_exports__["default"] = (layout); -/***/ }), +/***/ }, -/***/ "./src/reducers/paths.js": +/***/ "./src/reducers/paths.js" /*!*******************************!*\ !*** ./src/reducers/paths.js ***! \*******************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13836,13 +13836,13 @@ var paths = function paths() { }; /* harmony default export */ __webpack_exports__["default"] = (paths); -/***/ }), +/***/ }, -/***/ "./src/reducers/profile.js": +/***/ "./src/reducers/profile.js" /*!*********************************!*\ !*** ./src/reducers/profile.js ***! \*********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13933,13 +13933,13 @@ var profile = function profile() { }; /* harmony default export */ __webpack_exports__["default"] = (profile); -/***/ }), +/***/ }, -/***/ "./src/reducers/reducer.js": +/***/ "./src/reducers/reducer.js" /*!*********************************!*\ !*** ./src/reducers/reducer.js ***! \*********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -14139,13 +14139,13 @@ function createReducer() { return reloaderReducer(recordHistory(mainReducer())); } -/***/ }), +/***/ }, -/***/ "./src/registry.js": +/***/ "./src/registry.js" /*!*************************!*\ !*** ./src/registry.js ***! \*************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -14164,13 +14164,13 @@ __webpack_require__.r(__webpack_exports__); } }); -/***/ }), +/***/ }, -/***/ "./node_modules/cytoscape-fcose/cytoscape-fcose.js": +/***/ "./node_modules/cytoscape-fcose/cytoscape-fcose.js" /*!*********************************************************!*\ !*** ./node_modules/cytoscape-fcose/cytoscape-fcose.js ***! \*********************************************************/ -/***/ (function(module, exports, __webpack_require__) { +(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } @@ -15700,13 +15700,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }(); }); -/***/ }), +/***/ }, -/***/ "./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js": +/***/ "./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js" /*!***********************************************************************!*\ !*** ./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js ***! \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -15988,13 +15988,13 @@ var w = /*#__PURE__*/function (_e$Component) { }((react__WEBPACK_IMPORTED_MODULE_0___default().Component)); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/components/Context.js": +/***/ "./node_modules/react-redux/es/components/Context.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/components/Context.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16024,13 +16024,13 @@ function getContext() { var ReactReduxContext = /*#__PURE__*/getContext(); /* harmony default export */ __webpack_exports__["default"] = (ReactReduxContext); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/components/Provider.js": +/***/ "./node_modules/react-redux/es/components/Provider.js" /*!************************************************************!*\ !*** ./node_modules/react-redux/es/components/Provider.js ***! \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16087,13 +16087,13 @@ function Provider(_ref) { } /* harmony default export */ __webpack_exports__["default"] = (Provider); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/components/connect.js": +/***/ "./node_modules/react-redux/es/components/connect.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/components/connect.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16521,13 +16521,13 @@ function connect(mapStateToProps, mapDispatchToProps, mergeProps) { } /* harmony default export */ __webpack_exports__["default"] = (connect); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/invalidArgFactory.js": +/***/ "./node_modules/react-redux/es/connect/invalidArgFactory.js" /*!******************************************************************!*\ !*** ./node_modules/react-redux/es/connect/invalidArgFactory.js ***! \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16541,13 +16541,13 @@ function createInvalidArgFactory(arg, name) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/mapDispatchToProps.js": +/***/ "./node_modules/react-redux/es/connect/mapDispatchToProps.js" /*!*******************************************************************!*\ !*** ./node_modules/react-redux/es/connect/mapDispatchToProps.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16576,13 +16576,13 @@ function mapDispatchToPropsFactory(mapDispatchToProps) { (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mapDispatchToProps, 'mapDispatchToProps'); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/mapStateToProps.js": +/***/ "./node_modules/react-redux/es/connect/mapStateToProps.js" /*!****************************************************************!*\ !*** ./node_modules/react-redux/es/connect/mapStateToProps.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16601,13 +16601,13 @@ function mapStateToPropsFactory(mapStateToProps) { (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_1__.createInvalidArgFactory)(mapStateToProps, 'mapStateToProps'); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/mergeProps.js": +/***/ "./node_modules/react-redux/es/connect/mergeProps.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/connect/mergeProps.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16651,13 +16651,13 @@ function mergePropsFactory(mergeProps) { } : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mergeProps, 'mergeProps'); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/selectorFactory.js": +/***/ "./node_modules/react-redux/es/connect/selectorFactory.js" /*!****************************************************************!*\ !*** ./node_modules/react-redux/es/connect/selectorFactory.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16740,13 +16740,13 @@ function finalPropsSelectorFactory(dispatch, _ref) { return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/verifySubselectors.js": +/***/ "./node_modules/react-redux/es/connect/verifySubselectors.js" /*!*******************************************************************!*\ !*** ./node_modules/react-redux/es/connect/verifySubselectors.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16770,13 +16770,13 @@ function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps) { verify(mergeProps, 'mergeProps'); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/wrapMapToProps.js": +/***/ "./node_modules/react-redux/es/connect/wrapMapToProps.js" /*!***************************************************************!*\ !*** ./node_modules/react-redux/es/connect/wrapMapToProps.js ***! \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16850,13 +16850,13 @@ function wrapMapToPropsFunc(mapToProps, methodName) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/exports.js": +/***/ "./node_modules/react-redux/es/exports.js" /*!************************************************!*\ !*** ./node_modules/react-redux/es/exports.js ***! \************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16890,13 +16890,13 @@ __webpack_require__.r(__webpack_exports__); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/hooks/useDispatch.js": +/***/ "./node_modules/react-redux/es/hooks/useDispatch.js" /*!**********************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useDispatch.js ***! \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16950,13 +16950,13 @@ function createDispatchHook() { var useDispatch = /*#__PURE__*/createDispatchHook(); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/hooks/useReduxContext.js": +/***/ "./node_modules/react-redux/es/hooks/useReduxContext.js" /*!**************************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useReduxContext.js ***! \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17006,13 +17006,13 @@ function createReduxContextHook() { var useReduxContext = /*#__PURE__*/createReduxContextHook(); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/hooks/useSelector.js": +/***/ "./node_modules/react-redux/es/hooks/useSelector.js" /*!**********************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useSelector.js ***! \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17151,13 +17151,13 @@ function createSelectorHook() { var useSelector = /*#__PURE__*/createSelectorHook(); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/hooks/useStore.js": +/***/ "./node_modules/react-redux/es/hooks/useStore.js" /*!*******************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useStore.js ***! \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17208,13 +17208,13 @@ function createStoreHook() { var useStore = /*#__PURE__*/createStoreHook(); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/index.js": +/***/ "./node_modules/react-redux/es/index.js" /*!**********************************************!*\ !*** ./node_modules/react-redux/es/index.js ***! \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17255,25 +17255,25 @@ __webpack_require__.r(__webpack_exports__); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/types.js": +/***/ "./node_modules/react-redux/es/types.js" /*!**********************************************!*\ !*** ./node_modules/react-redux/es/types.js ***! \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/Subscription.js": +/***/ "./node_modules/react-redux/es/utils/Subscription.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/utils/Subscription.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17420,13 +17420,13 @@ function createSubscription(store, parentSub) { return subscription; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/batch.js": +/***/ "./node_modules/react-redux/es/utils/batch.js" /*!****************************************************!*\ !*** ./node_modules/react-redux/es/utils/batch.js ***! \****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17448,13 +17448,13 @@ var getBatch = function getBatch() { return batch; }; -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/bindActionCreators.js": +/***/ "./node_modules/react-redux/es/utils/bindActionCreators.js" /*!*****************************************************************!*\ !*** ./node_modules/react-redux/es/utils/bindActionCreators.js ***! \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17477,13 +17477,13 @@ function bindActionCreators(actionCreators, dispatch) { return boundActionCreators; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/isPlainObject.js": +/***/ "./node_modules/react-redux/es/utils/isPlainObject.js" /*!************************************************************!*\ !*** ./node_modules/react-redux/es/utils/isPlainObject.js ***! \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17506,13 +17506,13 @@ function isPlainObject(obj) { return proto === baseProto; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/reactBatchedUpdates.js": +/***/ "./node_modules/react-redux/es/utils/reactBatchedUpdates.js" /*!******************************************************************!*\ !*** ./node_modules/react-redux/es/utils/reactBatchedUpdates.js ***! \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17523,13 +17523,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/shallowEqual.js": +/***/ "./node_modules/react-redux/es/utils/shallowEqual.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/utils/shallowEqual.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17560,13 +17560,13 @@ function shallowEqual(objA, objB) { return true; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js": +/***/ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js" /*!************************************************************************!*\ !*** ./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js ***! \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17589,13 +17589,13 @@ __webpack_require__.r(__webpack_exports__); var canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined'); var useIsomorphicLayoutEffect = canUseDOM ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect; -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/useSyncExternalStore.js": +/***/ "./node_modules/react-redux/es/utils/useSyncExternalStore.js" /*!*******************************************************************!*\ !*** ./node_modules/react-redux/es/utils/useSyncExternalStore.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17606,13 +17606,13 @@ var notInitialized = function notInitialized() { throw new Error('uSES not initialized!'); }; -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/verifyPlainObject.js": +/***/ "./node_modules/react-redux/es/utils/verifyPlainObject.js" /*!****************************************************************!*\ !*** ./node_modules/react-redux/es/utils/verifyPlainObject.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17629,13 +17629,13 @@ function verifyPlainObject(value, displayName, methodName) { } } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/warning.js": +/***/ "./node_modules/react-redux/es/utils/warning.js" /*!******************************************************!*\ !*** ./node_modules/react-redux/es/utils/warning.js ***! \******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17665,13 +17665,13 @@ function warning(message) { /* eslint-enable no-empty */ } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js": +/***/ "./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js" /*!************************************************************************************!*\ !*** ./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js ***! \************************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { +(__unused_webpack_module, exports) { "use strict"; /** @@ -17881,13 +17881,13 @@ if (true) { })(); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/node_modules/react-is/index.js": +/***/ "./node_modules/react-redux/node_modules/react-is/index.js" /*!*****************************************************************!*\ !*** ./node_modules/react-redux/node_modules/react-is/index.js ***! \*****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -17897,13 +17897,13 @@ if (false) // removed by dead control flow module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js"); } -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/apathy.js": +/***/ "./node_modules/base16/lib/apathy.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/apathy.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -17931,13 +17931,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/ashes.js": +/***/ "./node_modules/base16/lib/ashes.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/ashes.js ***! \******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -17965,13 +17965,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-dune.js": +/***/ "./node_modules/base16/lib/atelier-dune.js" /*!*************************************************!*\ !*** ./node_modules/base16/lib/atelier-dune.js ***! \*************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -17999,13 +17999,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-forest.js": +/***/ "./node_modules/base16/lib/atelier-forest.js" /*!***************************************************!*\ !*** ./node_modules/base16/lib/atelier-forest.js ***! \***************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18033,13 +18033,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-heath.js": +/***/ "./node_modules/base16/lib/atelier-heath.js" /*!**************************************************!*\ !*** ./node_modules/base16/lib/atelier-heath.js ***! \**************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18067,13 +18067,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-lakeside.js": +/***/ "./node_modules/base16/lib/atelier-lakeside.js" /*!*****************************************************!*\ !*** ./node_modules/base16/lib/atelier-lakeside.js ***! \*****************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18101,13 +18101,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-seaside.js": +/***/ "./node_modules/base16/lib/atelier-seaside.js" /*!****************************************************!*\ !*** ./node_modules/base16/lib/atelier-seaside.js ***! \****************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18135,13 +18135,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/bespin.js": +/***/ "./node_modules/base16/lib/bespin.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/bespin.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18169,13 +18169,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/brewer.js": +/***/ "./node_modules/base16/lib/brewer.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/brewer.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18203,13 +18203,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/bright.js": +/***/ "./node_modules/base16/lib/bright.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/bright.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18237,13 +18237,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/chalk.js": +/***/ "./node_modules/base16/lib/chalk.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/chalk.js ***! \******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18271,13 +18271,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/codeschool.js": +/***/ "./node_modules/base16/lib/codeschool.js" /*!***********************************************!*\ !*** ./node_modules/base16/lib/codeschool.js ***! \***********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18305,13 +18305,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/colors.js": +/***/ "./node_modules/base16/lib/colors.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/colors.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18339,13 +18339,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/default.js": +/***/ "./node_modules/base16/lib/default.js" /*!********************************************!*\ !*** ./node_modules/base16/lib/default.js ***! \********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18373,13 +18373,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/eighties.js": +/***/ "./node_modules/base16/lib/eighties.js" /*!*********************************************!*\ !*** ./node_modules/base16/lib/eighties.js ***! \*********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18407,13 +18407,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/embers.js": +/***/ "./node_modules/base16/lib/embers.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/embers.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18441,13 +18441,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/flat.js": +/***/ "./node_modules/base16/lib/flat.js" /*!*****************************************!*\ !*** ./node_modules/base16/lib/flat.js ***! \*****************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18475,13 +18475,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/google.js": +/***/ "./node_modules/base16/lib/google.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/google.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18509,13 +18509,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/grayscale.js": +/***/ "./node_modules/base16/lib/grayscale.js" /*!**********************************************!*\ !*** ./node_modules/base16/lib/grayscale.js ***! \**********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18543,13 +18543,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/greenscreen.js": +/***/ "./node_modules/base16/lib/greenscreen.js" /*!************************************************!*\ !*** ./node_modules/base16/lib/greenscreen.js ***! \************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18577,13 +18577,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/harmonic.js": +/***/ "./node_modules/base16/lib/harmonic.js" /*!*********************************************!*\ !*** ./node_modules/base16/lib/harmonic.js ***! \*********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18611,13 +18611,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/hopscotch.js": +/***/ "./node_modules/base16/lib/hopscotch.js" /*!**********************************************!*\ !*** ./node_modules/base16/lib/hopscotch.js ***! \**********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18645,13 +18645,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/index.js": +/***/ "./node_modules/base16/lib/index.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/index.js ***! \******************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -18808,13 +18808,13 @@ var _twilight = __webpack_require__(/*! ./twilight */ "./node_modules/base16/lib exports.twilight = _interopRequire(_twilight); -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/isotope.js": +/***/ "./node_modules/base16/lib/isotope.js" /*!********************************************!*\ !*** ./node_modules/base16/lib/isotope.js ***! \********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18842,13 +18842,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/marrakesh.js": +/***/ "./node_modules/base16/lib/marrakesh.js" /*!**********************************************!*\ !*** ./node_modules/base16/lib/marrakesh.js ***! \**********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18876,13 +18876,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/mocha.js": +/***/ "./node_modules/base16/lib/mocha.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/mocha.js ***! \******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18910,13 +18910,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/monokai.js": +/***/ "./node_modules/base16/lib/monokai.js" /*!********************************************!*\ !*** ./node_modules/base16/lib/monokai.js ***! \********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18944,13 +18944,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/ocean.js": +/***/ "./node_modules/base16/lib/ocean.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/ocean.js ***! \******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18978,13 +18978,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/paraiso.js": +/***/ "./node_modules/base16/lib/paraiso.js" /*!********************************************!*\ !*** ./node_modules/base16/lib/paraiso.js ***! \********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19012,13 +19012,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/pop.js": +/***/ "./node_modules/base16/lib/pop.js" /*!****************************************!*\ !*** ./node_modules/base16/lib/pop.js ***! \****************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19046,13 +19046,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/railscasts.js": +/***/ "./node_modules/base16/lib/railscasts.js" /*!***********************************************!*\ !*** ./node_modules/base16/lib/railscasts.js ***! \***********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19080,13 +19080,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/shapeshifter.js": +/***/ "./node_modules/base16/lib/shapeshifter.js" /*!*************************************************!*\ !*** ./node_modules/base16/lib/shapeshifter.js ***! \*************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19114,13 +19114,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/solarized.js": +/***/ "./node_modules/base16/lib/solarized.js" /*!**********************************************!*\ !*** ./node_modules/base16/lib/solarized.js ***! \**********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19148,13 +19148,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/summerfruit.js": +/***/ "./node_modules/base16/lib/summerfruit.js" /*!************************************************!*\ !*** ./node_modules/base16/lib/summerfruit.js ***! \************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19182,13 +19182,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/threezerotwofour.js": +/***/ "./node_modules/base16/lib/threezerotwofour.js" /*!*****************************************************!*\ !*** ./node_modules/base16/lib/threezerotwofour.js ***! \*****************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19216,13 +19216,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/tomorrow.js": +/***/ "./node_modules/base16/lib/tomorrow.js" /*!*********************************************!*\ !*** ./node_modules/base16/lib/tomorrow.js ***! \*********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19250,13 +19250,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/tube.js": +/***/ "./node_modules/base16/lib/tube.js" /*!*****************************************!*\ !*** ./node_modules/base16/lib/tube.js ***! \*****************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19284,13 +19284,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/twilight.js": +/***/ "./node_modules/base16/lib/twilight.js" /*!*********************************************!*\ !*** ./node_modules/base16/lib/twilight.js ***! \*********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19318,13 +19318,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/color-name/index.js": +/***/ "./node_modules/color-name/index.js" /*!******************************************!*\ !*** ./node_modules/color-name/index.js ***! \******************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -19481,13 +19481,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/color-string/index.js": +/***/ "./node_modules/color-string/index.js" /*!********************************************!*\ !*** ./node_modules/color-string/index.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* MIT license */ var colorNames = __webpack_require__(/*! color-name */ "./node_modules/color-name/index.js"); @@ -19733,13 +19733,13 @@ function hexDouble(num) { } -/***/ }), +/***/ }, -/***/ "./node_modules/color/index.js": +/***/ "./node_modules/color/index.js" /*!*************************************!*\ !*** ./node_modules/color/index.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -20226,13 +20226,13 @@ function zeroArray(arr, length) { module.exports = Color; -/***/ }), +/***/ }, -/***/ "./node_modules/color/node_modules/color-convert/conversions.js": +/***/ "./node_modules/color/node_modules/color-convert/conversions.js" /*!**********************************************************************!*\ !*** ./node_modules/color/node_modules/color-convert/conversions.js ***! \**********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* MIT license */ var cssKeywords = __webpack_require__(/*! color-name */ "./node_modules/color/node_modules/color-name/index.js"); @@ -21104,13 +21104,13 @@ convert.rgb.gray = function (rgb) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/color/node_modules/color-convert/index.js": +/***/ "./node_modules/color/node_modules/color-convert/index.js" /*!****************************************************************!*\ !*** ./node_modules/color/node_modules/color-convert/index.js ***! \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var conversions = __webpack_require__(/*! ./conversions */ "./node_modules/color/node_modules/color-convert/conversions.js"); var route = __webpack_require__(/*! ./route */ "./node_modules/color/node_modules/color-convert/route.js"); @@ -21192,13 +21192,13 @@ models.forEach(function (fromModel) { module.exports = convert; -/***/ }), +/***/ }, -/***/ "./node_modules/color/node_modules/color-convert/route.js": +/***/ "./node_modules/color/node_modules/color-convert/route.js" /*!****************************************************************!*\ !*** ./node_modules/color/node_modules/color-convert/route.js ***! \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var conversions = __webpack_require__(/*! ./conversions */ "./node_modules/color/node_modules/color-convert/conversions.js"); @@ -21299,13 +21299,13 @@ module.exports = function (fromModel) { -/***/ }), +/***/ }, -/***/ "./node_modules/color/node_modules/color-name/index.js": +/***/ "./node_modules/color/node_modules/color-name/index.js" /*!*************************************************************!*\ !*** ./node_modules/color/node_modules/color-name/index.js ***! \*************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -21462,13 +21462,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/cose-base/cose-base.js": +/***/ "./node_modules/cose-base/cose-base.js" /*!*********************************************!*\ !*** ./node_modules/cose-base/cose-base.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { (function webpackUniversalModuleDefinition(root, factory) { if(true) @@ -24681,13 +24681,13 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__551__; ; }); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/core/Toolbar.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/core/Toolbar.css" /*!*******************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/core/Toolbar.css ***! \*******************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -24739,13 +24739,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `._dash-undo-redo { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css" /*!*************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css ***! \*************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -24808,13 +24808,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.dash-callback-dag--container { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css" /*!***********************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css ***! \***********************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25070,13 +25070,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.error-container { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css" /*!******************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css ***! \******************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25106,13 +25106,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.percy-show { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css" /*!***************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css ***! \***************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25391,13 +25391,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.dash-debug-menu { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/PlotlyCloud.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/PlotlyCloud.css" /*!*****************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/PlotlyCloud.css ***! \*****************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25503,13 +25503,13 @@ button.plotly-cloud-modal-button { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/VersionInfo.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/VersionInfo.css" /*!*****************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/VersionInfo.css ***! \*****************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25572,13 +25572,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.dash-debug-menu__upgrade-tooltip butt /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/runtime/api.js": +/***/ "./node_modules/css-loader/dist/runtime/api.js" /*!*****************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/api.js ***! \*****************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -25667,13 +25667,13 @@ module.exports = function (cssWithMappingToString) { return list; }; -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js": +/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js" /*!************************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***! \************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -25693,13 +25693,13 @@ module.exports = function (item) { return [content].join("\n"); }; -/***/ }), +/***/ }, -/***/ "./node_modules/cytoscape-dagre/cytoscape-dagre.js": +/***/ "./node_modules/cytoscape-dagre/cytoscape-dagre.js" /*!*********************************************************!*\ !*** ./node_modules/cytoscape-dagre/cytoscape-dagre.js ***! \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { (function webpackUniversalModuleDefinition(root, factory) { if(true) @@ -26095,13 +26095,13 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__4__; /******/ ]); }); -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/index.js": +/***/ "./node_modules/dagre/index.js" /*!*************************************!*\ !*** ./node_modules/dagre/index.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* Copyright (c) 2012-2014 Chris Pettitt @@ -26138,13 +26138,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/acyclic.js": +/***/ "./node_modules/dagre/lib/acyclic.js" /*!*******************************************!*\ !*** ./node_modules/dagre/lib/acyclic.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -26216,13 +26216,13 @@ function undo(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/add-border-segments.js": +/***/ "./node_modules/dagre/lib/add-border-segments.js" /*!*******************************************************!*\ !*** ./node_modules/dagre/lib/add-border-segments.js ***! \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); var util = __webpack_require__(/*! ./util */ "./node_modules/dagre/lib/util.js"); @@ -26264,13 +26264,13 @@ function addBorderNode(g, prop, prefix, sg, sgNode, rank) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/coordinate-system.js": +/***/ "./node_modules/dagre/lib/coordinate-system.js" /*!*****************************************************!*\ !*** ./node_modules/dagre/lib/coordinate-system.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -26347,13 +26347,13 @@ function swapXYOne(attrs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/data/list.js": +/***/ "./node_modules/dagre/lib/data/list.js" /*!*********************************************!*\ !*** ./node_modules/dagre/lib/data/list.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /* * Simple doubly linked list implementation derived from Cormen, et al., @@ -26413,13 +26413,13 @@ function filterOutLinks(k, v) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/debug.js": +/***/ "./node_modules/dagre/lib/debug.js" /*!*****************************************!*\ !*** ./node_modules/dagre/lib/debug.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); var util = __webpack_require__(/*! ./util */ "./node_modules/dagre/lib/util.js"); @@ -26457,13 +26457,13 @@ function debugOrdering(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/graphlib.js": +/***/ "./node_modules/dagre/lib/graphlib.js" /*!********************************************!*\ !*** ./node_modules/dagre/lib/graphlib.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* global window */ @@ -26484,13 +26484,13 @@ if (!graphlib) { module.exports = graphlib; -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/greedy-fas.js": +/***/ "./node_modules/dagre/lib/greedy-fas.js" /*!**********************************************!*\ !*** ./node_modules/dagre/lib/greedy-fas.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); var Graph = (__webpack_require__(/*! ./graphlib */ "./node_modules/dagre/lib/graphlib.js").Graph); @@ -26612,13 +26612,13 @@ function assignBucket(buckets, zeroIdx, entry) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/layout.js": +/***/ "./node_modules/dagre/lib/layout.js" /*!******************************************!*\ !*** ./node_modules/dagre/lib/layout.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27015,13 +27015,13 @@ function canonicalize(attrs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/lodash.js": +/***/ "./node_modules/dagre/lib/lodash.js" /*!******************************************!*\ !*** ./node_modules/dagre/lib/lodash.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* global window */ @@ -27069,13 +27069,13 @@ if (!lodash) { module.exports = lodash; -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/nesting-graph.js": +/***/ "./node_modules/dagre/lib/nesting-graph.js" /*!*************************************************!*\ !*** ./node_modules/dagre/lib/nesting-graph.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); var util = __webpack_require__(/*! ./util */ "./node_modules/dagre/lib/util.js"); @@ -27211,13 +27211,13 @@ function cleanup(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/normalize.js": +/***/ "./node_modules/dagre/lib/normalize.js" /*!*********************************************!*\ !*** ./node_modules/dagre/lib/normalize.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27312,13 +27312,13 @@ function undo(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/add-subgraph-constraints.js": +/***/ "./node_modules/dagre/lib/order/add-subgraph-constraints.js" /*!******************************************************************!*\ !*** ./node_modules/dagre/lib/order/add-subgraph-constraints.js ***! \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); @@ -27375,13 +27375,13 @@ function addSubgraphConstraints(g, cg, vs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/barycenter.js": +/***/ "./node_modules/dagre/lib/order/barycenter.js" /*!****************************************************!*\ !*** ./node_modules/dagre/lib/order/barycenter.js ***! \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); @@ -27413,13 +27413,13 @@ function barycenter(g, movable) { -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/build-layer-graph.js": +/***/ "./node_modules/dagre/lib/order/build-layer-graph.js" /*!***********************************************************!*\ !*** ./node_modules/dagre/lib/order/build-layer-graph.js ***! \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); var Graph = (__webpack_require__(/*! ../graphlib */ "./node_modules/dagre/lib/graphlib.js").Graph); @@ -27496,13 +27496,13 @@ function createRootNode(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/cross-count.js": +/***/ "./node_modules/dagre/lib/order/cross-count.js" /*!*****************************************************!*\ !*** ./node_modules/dagre/lib/order/cross-count.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27574,13 +27574,13 @@ function twoLayerCrossCount(g, northLayer, southLayer) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/index.js": +/***/ "./node_modules/dagre/lib/order/index.js" /*!***********************************************!*\ !*** ./node_modules/dagre/lib/order/index.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27664,13 +27664,13 @@ function assignOrder(g, layering) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/init-order.js": +/***/ "./node_modules/dagre/lib/order/init-order.js" /*!****************************************************!*\ !*** ./node_modules/dagre/lib/order/init-order.js ***! \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27713,13 +27713,13 @@ function initOrder(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/resolve-conflicts.js": +/***/ "./node_modules/dagre/lib/order/resolve-conflicts.js" /*!***********************************************************!*\ !*** ./node_modules/dagre/lib/order/resolve-conflicts.js ***! \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27846,13 +27846,13 @@ function mergeEntries(target, source) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/sort-subgraph.js": +/***/ "./node_modules/dagre/lib/order/sort-subgraph.js" /*!*******************************************************!*\ !*** ./node_modules/dagre/lib/order/sort-subgraph.js ***! \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); var barycenter = __webpack_require__(/*! ./barycenter */ "./node_modules/dagre/lib/order/barycenter.js"); @@ -27932,13 +27932,13 @@ function mergeBarycenters(target, other) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/sort.js": +/***/ "./node_modules/dagre/lib/order/sort.js" /*!**********************************************!*\ !*** ./node_modules/dagre/lib/order/sort.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); var util = __webpack_require__(/*! ../util */ "./node_modules/dagre/lib/util.js"); @@ -27999,13 +27999,13 @@ function compareWithBias(bias) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/parent-dummy-chains.js": +/***/ "./node_modules/dagre/lib/parent-dummy-chains.js" /*!*******************************************************!*\ !*** ./node_modules/dagre/lib/parent-dummy-chains.js ***! \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); @@ -28095,13 +28095,13 @@ function postorder(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/position/bk.js": +/***/ "./node_modules/dagre/lib/position/bk.js" /*!***********************************************!*\ !*** ./node_modules/dagre/lib/position/bk.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28525,13 +28525,13 @@ function width(g, v) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/position/index.js": +/***/ "./node_modules/dagre/lib/position/index.js" /*!**************************************************!*\ !*** ./node_modules/dagre/lib/position/index.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28566,13 +28566,13 @@ function positionY(g) { -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/rank/feasible-tree.js": +/***/ "./node_modules/dagre/lib/rank/feasible-tree.js" /*!******************************************************!*\ !*** ./node_modules/dagre/lib/rank/feasible-tree.js ***! \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28666,13 +28666,13 @@ function shiftRanks(t, g, delta) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/rank/index.js": +/***/ "./node_modules/dagre/lib/rank/index.js" /*!**********************************************!*\ !*** ./node_modules/dagre/lib/rank/index.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28725,13 +28725,13 @@ function networkSimplexRanker(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/rank/network-simplex.js": +/***/ "./node_modules/dagre/lib/rank/network-simplex.js" /*!********************************************************!*\ !*** ./node_modules/dagre/lib/rank/network-simplex.js ***! \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28970,13 +28970,13 @@ function isDescendant(tree, vLabel, rootLabel) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/rank/util.js": +/***/ "./node_modules/dagre/lib/rank/util.js" /*!*********************************************!*\ !*** ./node_modules/dagre/lib/rank/util.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -29044,13 +29044,13 @@ function slack(g, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/util.js": +/***/ "./node_modules/dagre/lib/util.js" /*!****************************************!*\ !*** ./node_modules/dagre/lib/util.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; /* eslint "no-console": off */ @@ -29293,24 +29293,24 @@ function notime(name, fn) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/version.js": +/***/ "./node_modules/dagre/lib/version.js" /*!*******************************************!*\ !*** ./node_modules/dagre/lib/version.js ***! \*******************************************/ -/***/ (function(module) { +(module) { module.exports = "0.8.5"; -/***/ }), +/***/ }, -/***/ "./node_modules/dependency-graph/lib/dep_graph.js": +/***/ "./node_modules/dependency-graph/lib/dep_graph.js" /*!********************************************************!*\ !*** ./node_modules/dependency-graph/lib/dep_graph.js ***! \********************************************************/ -/***/ (function(__unused_webpack_module, exports) { +(__unused_webpack_module, exports) { /** * A simple dependency graph @@ -29678,13 +29678,13 @@ DepGraphCycleError.prototype = Object.create(Error.prototype, { Object.setPrototypeOf(DepGraphCycleError, Error); -/***/ }), +/***/ }, -/***/ "./node_modules/fast-isnumeric/index.js": +/***/ "./node_modules/fast-isnumeric/index.js" /*!**********************************************!*\ !*** ./node_modules/fast-isnumeric/index.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; /** @@ -29713,13 +29713,13 @@ module.exports = function(n) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/index.js": +/***/ "./node_modules/graphlib/index.js" /*!****************************************!*\ !*** ./node_modules/graphlib/index.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /** * Copyright (c) 2014, Chris Pettitt @@ -29761,13 +29761,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/components.js": +/***/ "./node_modules/graphlib/lib/alg/components.js" /*!*****************************************************!*\ !*** ./node_modules/graphlib/lib/alg/components.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -29798,13 +29798,13 @@ function components(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/dfs.js": +/***/ "./node_modules/graphlib/lib/alg/dfs.js" /*!**********************************************!*\ !*** ./node_modules/graphlib/lib/alg/dfs.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -29850,13 +29850,13 @@ function doDfs(g, v, postorder, visited, navigation, acc) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/dijkstra-all.js": +/***/ "./node_modules/graphlib/lib/alg/dijkstra-all.js" /*!*******************************************************!*\ !*** ./node_modules/graphlib/lib/alg/dijkstra-all.js ***! \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var dijkstra = __webpack_require__(/*! ./dijkstra */ "./node_modules/graphlib/lib/alg/dijkstra.js"); var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -29870,13 +29870,13 @@ function dijkstraAll(g, weightFunc, edgeFunc) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/dijkstra.js": +/***/ "./node_modules/graphlib/lib/alg/dijkstra.js" /*!***************************************************!*\ !*** ./node_modules/graphlib/lib/alg/dijkstra.js ***! \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); var PriorityQueue = __webpack_require__(/*! ../data/priority-queue */ "./node_modules/graphlib/lib/data/priority-queue.js"); @@ -29934,13 +29934,13 @@ function runDijkstra(g, source, weightFn, edgeFn) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/find-cycles.js": +/***/ "./node_modules/graphlib/lib/alg/find-cycles.js" /*!******************************************************!*\ !*** ./node_modules/graphlib/lib/alg/find-cycles.js ***! \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); var tarjan = __webpack_require__(/*! ./tarjan */ "./node_modules/graphlib/lib/alg/tarjan.js"); @@ -29954,13 +29954,13 @@ function findCycles(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/floyd-warshall.js": +/***/ "./node_modules/graphlib/lib/alg/floyd-warshall.js" /*!*********************************************************!*\ !*** ./node_modules/graphlib/lib/alg/floyd-warshall.js ***! \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -30014,13 +30014,13 @@ function runFloydWarshall(g, weightFn, edgeFn) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/index.js": +/***/ "./node_modules/graphlib/lib/alg/index.js" /*!************************************************!*\ !*** ./node_modules/graphlib/lib/alg/index.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { module.exports = { components: __webpack_require__(/*! ./components */ "./node_modules/graphlib/lib/alg/components.js"), @@ -30037,13 +30037,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/is-acyclic.js": +/***/ "./node_modules/graphlib/lib/alg/is-acyclic.js" /*!*****************************************************!*\ !*** ./node_modules/graphlib/lib/alg/is-acyclic.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var topsort = __webpack_require__(/*! ./topsort */ "./node_modules/graphlib/lib/alg/topsort.js"); @@ -30062,13 +30062,13 @@ function isAcyclic(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/postorder.js": +/***/ "./node_modules/graphlib/lib/alg/postorder.js" /*!****************************************************!*\ !*** ./node_modules/graphlib/lib/alg/postorder.js ***! \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var dfs = __webpack_require__(/*! ./dfs */ "./node_modules/graphlib/lib/alg/dfs.js"); @@ -30079,13 +30079,13 @@ function postorder(g, vs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/preorder.js": +/***/ "./node_modules/graphlib/lib/alg/preorder.js" /*!***************************************************!*\ !*** ./node_modules/graphlib/lib/alg/preorder.js ***! \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var dfs = __webpack_require__(/*! ./dfs */ "./node_modules/graphlib/lib/alg/dfs.js"); @@ -30096,13 +30096,13 @@ function preorder(g, vs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/prim.js": +/***/ "./node_modules/graphlib/lib/alg/prim.js" /*!***********************************************!*\ !*** ./node_modules/graphlib/lib/alg/prim.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); var Graph = __webpack_require__(/*! ../graph */ "./node_modules/graphlib/lib/graph.js"); @@ -30158,13 +30158,13 @@ function prim(g, weightFunc) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/tarjan.js": +/***/ "./node_modules/graphlib/lib/alg/tarjan.js" /*!*************************************************!*\ !*** ./node_modules/graphlib/lib/alg/tarjan.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -30215,13 +30215,13 @@ function tarjan(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/topsort.js": +/***/ "./node_modules/graphlib/lib/alg/topsort.js" /*!**************************************************!*\ !*** ./node_modules/graphlib/lib/alg/topsort.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -30259,13 +30259,13 @@ function topsort(g) { function CycleException() {} CycleException.prototype = new Error(); // must be an instance of Error to pass testing -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/data/priority-queue.js": +/***/ "./node_modules/graphlib/lib/data/priority-queue.js" /*!**********************************************************!*\ !*** ./node_modules/graphlib/lib/data/priority-queue.js ***! \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -30421,13 +30421,13 @@ PriorityQueue.prototype._swap = function(i, j) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/graph.js": +/***/ "./node_modules/graphlib/lib/graph.js" /*!********************************************!*\ !*** ./node_modules/graphlib/lib/graph.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -30964,13 +30964,13 @@ function edgeObjToId(isDirected, edgeObj) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/index.js": +/***/ "./node_modules/graphlib/lib/index.js" /*!********************************************!*\ !*** ./node_modules/graphlib/lib/index.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { // Includes only the "core" of graphlib module.exports = { @@ -30979,13 +30979,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/json.js": +/***/ "./node_modules/graphlib/lib/json.js" /*!*******************************************!*\ !*** ./node_modules/graphlib/lib/json.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/graphlib/lib/lodash.js"); var Graph = __webpack_require__(/*! ./graph */ "./node_modules/graphlib/lib/graph.js"); @@ -31055,13 +31055,13 @@ function read(json) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/lodash.js": +/***/ "./node_modules/graphlib/lib/lodash.js" /*!*********************************************!*\ !*** ./node_modules/graphlib/lib/lodash.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* global window */ @@ -31099,24 +31099,24 @@ if (!lodash) { module.exports = lodash; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/version.js": +/***/ "./node_modules/graphlib/lib/version.js" /*!**********************************************!*\ !*** ./node_modules/graphlib/lib/version.js ***! \**********************************************/ -/***/ (function(module) { +(module) { module.exports = '2.1.8'; -/***/ }), +/***/ }, -/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js": +/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js" /*!**********************************************************************************!*\ !*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***! \**********************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -31224,13 +31224,13 @@ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { module.exports = hoistNonReactStatics; -/***/ }), +/***/ }, -/***/ "./node_modules/invariant/browser.js": +/***/ "./node_modules/invariant/browser.js" /*!*******************************************!*\ !*** ./node_modules/invariant/browser.js ***! \*******************************************/ -/***/ (function(module) { +(module) { "use strict"; /** @@ -31284,13 +31284,13 @@ var invariant = function(condition, format, a, b, c, d, e, f) { module.exports = invariant; -/***/ }), +/***/ }, -/***/ "./node_modules/is-string-blank/index.js": +/***/ "./node_modules/is-string-blank/index.js" /*!***********************************************!*\ !*** ./node_modules/is-string-blank/index.js ***! \***********************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -31330,13 +31330,13 @@ module.exports = function(str){ } -/***/ }), +/***/ }, -/***/ "./node_modules/layout-base/layout-base.js": +/***/ "./node_modules/layout-base/layout-base.js" /*!*************************************************!*\ !*** ./node_modules/layout-base/layout-base.js ***! \*************************************************/ -/***/ (function(module) { +(module) { (function webpackUniversalModuleDefinition(root, factory) { if(true) @@ -36565,13 +36565,13 @@ module.exports = Emitter; /******/ ]); }); -/***/ }), +/***/ }, -/***/ "./node_modules/lodash.curry/index.js": +/***/ "./node_modules/lodash.curry/index.js" /*!********************************************!*\ !*** ./node_modules/lodash.curry/index.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /** * lodash (Custom Build) @@ -37804,13 +37804,13 @@ curry.placeholder = {}; module.exports = curry; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_DataView.js": +/***/ "./node_modules/lodash/_DataView.js" /*!******************************************!*\ !*** ./node_modules/lodash/_DataView.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -37821,13 +37821,13 @@ var DataView = getNative(root, 'DataView'); module.exports = DataView; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Hash.js": +/***/ "./node_modules/lodash/_Hash.js" /*!**************************************!*\ !*** ./node_modules/lodash/_Hash.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var hashClear = __webpack_require__(/*! ./_hashClear */ "./node_modules/lodash/_hashClear.js"), hashDelete = __webpack_require__(/*! ./_hashDelete */ "./node_modules/lodash/_hashDelete.js"), @@ -37863,13 +37863,13 @@ Hash.prototype.set = hashSet; module.exports = Hash; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_ListCache.js": +/***/ "./node_modules/lodash/_ListCache.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_ListCache.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var listCacheClear = __webpack_require__(/*! ./_listCacheClear */ "./node_modules/lodash/_listCacheClear.js"), listCacheDelete = __webpack_require__(/*! ./_listCacheDelete */ "./node_modules/lodash/_listCacheDelete.js"), @@ -37905,13 +37905,13 @@ ListCache.prototype.set = listCacheSet; module.exports = ListCache; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Map.js": +/***/ "./node_modules/lodash/_Map.js" /*!*************************************!*\ !*** ./node_modules/lodash/_Map.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -37922,13 +37922,13 @@ var Map = getNative(root, 'Map'); module.exports = Map; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_MapCache.js": +/***/ "./node_modules/lodash/_MapCache.js" /*!******************************************!*\ !*** ./node_modules/lodash/_MapCache.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var mapCacheClear = __webpack_require__(/*! ./_mapCacheClear */ "./node_modules/lodash/_mapCacheClear.js"), mapCacheDelete = __webpack_require__(/*! ./_mapCacheDelete */ "./node_modules/lodash/_mapCacheDelete.js"), @@ -37964,13 +37964,13 @@ MapCache.prototype.set = mapCacheSet; module.exports = MapCache; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Promise.js": +/***/ "./node_modules/lodash/_Promise.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_Promise.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -37981,13 +37981,13 @@ var Promise = getNative(root, 'Promise'); module.exports = Promise; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Set.js": +/***/ "./node_modules/lodash/_Set.js" /*!*************************************!*\ !*** ./node_modules/lodash/_Set.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -37998,13 +37998,13 @@ var Set = getNative(root, 'Set'); module.exports = Set; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_SetCache.js": +/***/ "./node_modules/lodash/_SetCache.js" /*!******************************************!*\ !*** ./node_modules/lodash/_SetCache.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js"), setCacheAdd = __webpack_require__(/*! ./_setCacheAdd */ "./node_modules/lodash/_setCacheAdd.js"), @@ -38035,13 +38035,13 @@ SetCache.prototype.has = setCacheHas; module.exports = SetCache; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Stack.js": +/***/ "./node_modules/lodash/_Stack.js" /*!***************************************!*\ !*** ./node_modules/lodash/_Stack.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"), stackClear = __webpack_require__(/*! ./_stackClear */ "./node_modules/lodash/_stackClear.js"), @@ -38072,13 +38072,13 @@ Stack.prototype.set = stackSet; module.exports = Stack; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Symbol.js": +/***/ "./node_modules/lodash/_Symbol.js" /*!****************************************!*\ !*** ./node_modules/lodash/_Symbol.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -38088,13 +38088,13 @@ var Symbol = root.Symbol; module.exports = Symbol; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Uint8Array.js": +/***/ "./node_modules/lodash/_Uint8Array.js" /*!********************************************!*\ !*** ./node_modules/lodash/_Uint8Array.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -38104,13 +38104,13 @@ var Uint8Array = root.Uint8Array; module.exports = Uint8Array; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_WeakMap.js": +/***/ "./node_modules/lodash/_WeakMap.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_WeakMap.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -38121,13 +38121,13 @@ var WeakMap = getNative(root, 'WeakMap'); module.exports = WeakMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_apply.js": +/***/ "./node_modules/lodash/_apply.js" /*!***************************************!*\ !*** ./node_modules/lodash/_apply.js ***! \***************************************/ -/***/ (function(module) { +(module) { /** * A faster alternative to `Function#apply`, this function invokes `func` @@ -38152,13 +38152,13 @@ function apply(func, thisArg, args) { module.exports = apply; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayEach.js": +/***/ "./node_modules/lodash/_arrayEach.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_arrayEach.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.forEach` for arrays without support for @@ -38184,13 +38184,13 @@ function arrayEach(array, iteratee) { module.exports = arrayEach; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayFilter.js": +/***/ "./node_modules/lodash/_arrayFilter.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_arrayFilter.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.filter` for arrays without support for @@ -38219,13 +38219,13 @@ function arrayFilter(array, predicate) { module.exports = arrayFilter; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayIncludes.js": +/***/ "./node_modules/lodash/_arrayIncludes.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_arrayIncludes.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIndexOf = __webpack_require__(/*! ./_baseIndexOf */ "./node_modules/lodash/_baseIndexOf.js"); @@ -38246,13 +38246,13 @@ function arrayIncludes(array, value) { module.exports = arrayIncludes; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayIncludesWith.js": +/***/ "./node_modules/lodash/_arrayIncludesWith.js" /*!***************************************************!*\ !*** ./node_modules/lodash/_arrayIncludesWith.js ***! \***************************************************/ -/***/ (function(module) { +(module) { /** * This function is like `arrayIncludes` except that it accepts a comparator. @@ -38278,13 +38278,13 @@ function arrayIncludesWith(array, value, comparator) { module.exports = arrayIncludesWith; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayLikeKeys.js": +/***/ "./node_modules/lodash/_arrayLikeKeys.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_arrayLikeKeys.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseTimes = __webpack_require__(/*! ./_baseTimes */ "./node_modules/lodash/_baseTimes.js"), isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"), @@ -38337,13 +38337,13 @@ function arrayLikeKeys(value, inherited) { module.exports = arrayLikeKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayMap.js": +/***/ "./node_modules/lodash/_arrayMap.js" /*!******************************************!*\ !*** ./node_modules/lodash/_arrayMap.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.map` for arrays without support for iteratee @@ -38368,13 +38368,13 @@ function arrayMap(array, iteratee) { module.exports = arrayMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayPush.js": +/***/ "./node_modules/lodash/_arrayPush.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_arrayPush.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * Appends the elements of `values` to `array`. @@ -38398,13 +38398,13 @@ function arrayPush(array, values) { module.exports = arrayPush; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayReduce.js": +/***/ "./node_modules/lodash/_arrayReduce.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_arrayReduce.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.reduce` for arrays without support for @@ -38434,13 +38434,13 @@ function arrayReduce(array, iteratee, accumulator, initAccum) { module.exports = arrayReduce; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arraySome.js": +/***/ "./node_modules/lodash/_arraySome.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_arraySome.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.some` for arrays without support for iteratee @@ -38467,13 +38467,13 @@ function arraySome(array, predicate) { module.exports = arraySome; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_asciiSize.js": +/***/ "./node_modules/lodash/_asciiSize.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_asciiSize.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseProperty = __webpack_require__(/*! ./_baseProperty */ "./node_modules/lodash/_baseProperty.js"); @@ -38489,13 +38489,13 @@ var asciiSize = baseProperty('length'); module.exports = asciiSize; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_assignMergeValue.js": +/***/ "./node_modules/lodash/_assignMergeValue.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_assignMergeValue.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"), eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"); @@ -38519,13 +38519,13 @@ function assignMergeValue(object, key, value) { module.exports = assignMergeValue; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_assignValue.js": +/***/ "./node_modules/lodash/_assignValue.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_assignValue.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"), eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"); @@ -38557,13 +38557,13 @@ function assignValue(object, key, value) { module.exports = assignValue; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_assocIndexOf.js": +/***/ "./node_modules/lodash/_assocIndexOf.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_assocIndexOf.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"); @@ -38588,13 +38588,13 @@ function assocIndexOf(array, key) { module.exports = assocIndexOf; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseAssign.js": +/***/ "./node_modules/lodash/_baseAssign.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseAssign.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); @@ -38615,13 +38615,13 @@ function baseAssign(object, source) { module.exports = baseAssign; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseAssignIn.js": +/***/ "./node_modules/lodash/_baseAssignIn.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseAssignIn.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js"); @@ -38642,13 +38642,13 @@ function baseAssignIn(object, source) { module.exports = baseAssignIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseAssignValue.js": +/***/ "./node_modules/lodash/_baseAssignValue.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_baseAssignValue.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js"); @@ -38677,13 +38677,13 @@ function baseAssignValue(object, key, value) { module.exports = baseAssignValue; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseClone.js": +/***/ "./node_modules/lodash/_baseClone.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseClone.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"), @@ -38853,13 +38853,13 @@ function baseClone(value, bitmask, customizer, key, object, stack) { module.exports = baseClone; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseCreate.js": +/***/ "./node_modules/lodash/_baseCreate.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseCreate.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); @@ -38893,13 +38893,13 @@ var baseCreate = (function() { module.exports = baseCreate; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseEach.js": +/***/ "./node_modules/lodash/_baseEach.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseEach.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseForOwn = __webpack_require__(/*! ./_baseForOwn */ "./node_modules/lodash/_baseForOwn.js"), createBaseEach = __webpack_require__(/*! ./_createBaseEach */ "./node_modules/lodash/_createBaseEach.js"); @@ -38917,13 +38917,13 @@ var baseEach = createBaseEach(baseForOwn); module.exports = baseEach; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseExtremum.js": +/***/ "./node_modules/lodash/_baseExtremum.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseExtremum.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); @@ -38959,13 +38959,13 @@ function baseExtremum(array, iteratee, comparator) { module.exports = baseExtremum; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseFilter.js": +/***/ "./node_modules/lodash/_baseFilter.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseFilter.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"); @@ -38990,13 +38990,13 @@ function baseFilter(collection, predicate) { module.exports = baseFilter; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseFindIndex.js": +/***/ "./node_modules/lodash/_baseFindIndex.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_baseFindIndex.js ***! \***********************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.findIndex` and `_.findLastIndex` without @@ -39024,13 +39024,13 @@ function baseFindIndex(array, predicate, fromIndex, fromRight) { module.exports = baseFindIndex; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseFlatten.js": +/***/ "./node_modules/lodash/_baseFlatten.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseFlatten.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"), isFlattenable = __webpack_require__(/*! ./_isFlattenable */ "./node_modules/lodash/_isFlattenable.js"); @@ -39072,13 +39072,13 @@ function baseFlatten(array, depth, predicate, isStrict, result) { module.exports = baseFlatten; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseFor.js": +/***/ "./node_modules/lodash/_baseFor.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseFor.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var createBaseFor = __webpack_require__(/*! ./_createBaseFor */ "./node_modules/lodash/_createBaseFor.js"); @@ -39098,13 +39098,13 @@ var baseFor = createBaseFor(); module.exports = baseFor; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseForOwn.js": +/***/ "./node_modules/lodash/_baseForOwn.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseForOwn.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFor = __webpack_require__(/*! ./_baseFor */ "./node_modules/lodash/_baseFor.js"), keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); @@ -39124,13 +39124,13 @@ function baseForOwn(object, iteratee) { module.exports = baseForOwn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseGet.js": +/***/ "./node_modules/lodash/_baseGet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseGet.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"), toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js"); @@ -39158,13 +39158,13 @@ function baseGet(object, path) { module.exports = baseGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseGetAllKeys.js": +/***/ "./node_modules/lodash/_baseGetAllKeys.js" /*!************************************************!*\ !*** ./node_modules/lodash/_baseGetAllKeys.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"), isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"); @@ -39188,13 +39188,13 @@ function baseGetAllKeys(object, keysFunc, symbolsFunc) { module.exports = baseGetAllKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseGetTag.js": +/***/ "./node_modules/lodash/_baseGetTag.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseGetTag.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"), @@ -39226,13 +39226,13 @@ function baseGetTag(value) { module.exports = baseGetTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseGt.js": +/***/ "./node_modules/lodash/_baseGt.js" /*!****************************************!*\ !*** ./node_modules/lodash/_baseGt.js ***! \****************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.gt` which doesn't coerce arguments. @@ -39250,13 +39250,13 @@ function baseGt(value, other) { module.exports = baseGt; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseHas.js": +/***/ "./node_modules/lodash/_baseHas.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseHas.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -39279,13 +39279,13 @@ function baseHas(object, key) { module.exports = baseHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseHasIn.js": +/***/ "./node_modules/lodash/_baseHasIn.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseHasIn.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.hasIn` without support for deep paths. @@ -39302,13 +39302,13 @@ function baseHasIn(object, key) { module.exports = baseHasIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIndexOf.js": +/***/ "./node_modules/lodash/_baseIndexOf.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseIndexOf.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFindIndex = __webpack_require__(/*! ./_baseFindIndex */ "./node_modules/lodash/_baseFindIndex.js"), baseIsNaN = __webpack_require__(/*! ./_baseIsNaN */ "./node_modules/lodash/_baseIsNaN.js"), @@ -39332,13 +39332,13 @@ function baseIndexOf(array, value, fromIndex) { module.exports = baseIndexOf; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsArguments.js": +/***/ "./node_modules/lodash/_baseIsArguments.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_baseIsArguments.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -39360,13 +39360,13 @@ function baseIsArguments(value) { module.exports = baseIsArguments; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsEqual.js": +/***/ "./node_modules/lodash/_baseIsEqual.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseIsEqual.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsEqualDeep = __webpack_require__(/*! ./_baseIsEqualDeep */ "./node_modules/lodash/_baseIsEqualDeep.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -39398,13 +39398,13 @@ function baseIsEqual(value, other, bitmask, customizer, stack) { module.exports = baseIsEqual; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsEqualDeep.js": +/***/ "./node_modules/lodash/_baseIsEqualDeep.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_baseIsEqualDeep.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), equalArrays = __webpack_require__(/*! ./_equalArrays */ "./node_modules/lodash/_equalArrays.js"), @@ -39491,13 +39491,13 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { module.exports = baseIsEqualDeep; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsMap.js": +/***/ "./node_modules/lodash/_baseIsMap.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseIsMap.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -39519,13 +39519,13 @@ function baseIsMap(value) { module.exports = baseIsMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsMatch.js": +/***/ "./node_modules/lodash/_baseIsMatch.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseIsMatch.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "./node_modules/lodash/_baseIsEqual.js"); @@ -39591,13 +39591,13 @@ function baseIsMatch(object, source, matchData, customizer) { module.exports = baseIsMatch; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsNaN.js": +/***/ "./node_modules/lodash/_baseIsNaN.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseIsNaN.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.isNaN` without support for number objects. @@ -39613,13 +39613,13 @@ function baseIsNaN(value) { module.exports = baseIsNaN; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsNative.js": +/***/ "./node_modules/lodash/_baseIsNative.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseIsNative.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"), isMasked = __webpack_require__(/*! ./_isMasked */ "./node_modules/lodash/_isMasked.js"), @@ -39670,13 +39670,13 @@ function baseIsNative(value) { module.exports = baseIsNative; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsSet.js": +/***/ "./node_modules/lodash/_baseIsSet.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseIsSet.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -39698,13 +39698,13 @@ function baseIsSet(value) { module.exports = baseIsSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsTypedArray.js": +/***/ "./node_modules/lodash/_baseIsTypedArray.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_baseIsTypedArray.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"), @@ -39768,13 +39768,13 @@ function baseIsTypedArray(value) { module.exports = baseIsTypedArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIteratee.js": +/***/ "./node_modules/lodash/_baseIteratee.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseIteratee.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseMatches = __webpack_require__(/*! ./_baseMatches */ "./node_modules/lodash/_baseMatches.js"), baseMatchesProperty = __webpack_require__(/*! ./_baseMatchesProperty */ "./node_modules/lodash/_baseMatchesProperty.js"), @@ -39809,13 +39809,13 @@ function baseIteratee(value) { module.exports = baseIteratee; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseKeys.js": +/***/ "./node_modules/lodash/_baseKeys.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseKeys.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"), nativeKeys = __webpack_require__(/*! ./_nativeKeys */ "./node_modules/lodash/_nativeKeys.js"); @@ -39849,13 +39849,13 @@ function baseKeys(object) { module.exports = baseKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseKeysIn.js": +/***/ "./node_modules/lodash/_baseKeysIn.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseKeysIn.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"), @@ -39892,13 +39892,13 @@ function baseKeysIn(object) { module.exports = baseKeysIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseLt.js": +/***/ "./node_modules/lodash/_baseLt.js" /*!****************************************!*\ !*** ./node_modules/lodash/_baseLt.js ***! \****************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.lt` which doesn't coerce arguments. @@ -39916,13 +39916,13 @@ function baseLt(value, other) { module.exports = baseLt; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMap.js": +/***/ "./node_modules/lodash/_baseMap.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseMap.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"), isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"); @@ -39948,13 +39948,13 @@ function baseMap(collection, iteratee) { module.exports = baseMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMatches.js": +/***/ "./node_modules/lodash/_baseMatches.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseMatches.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsMatch = __webpack_require__(/*! ./_baseIsMatch */ "./node_modules/lodash/_baseIsMatch.js"), getMatchData = __webpack_require__(/*! ./_getMatchData */ "./node_modules/lodash/_getMatchData.js"), @@ -39980,13 +39980,13 @@ function baseMatches(source) { module.exports = baseMatches; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMatchesProperty.js": +/***/ "./node_modules/lodash/_baseMatchesProperty.js" /*!*****************************************************!*\ !*** ./node_modules/lodash/_baseMatchesProperty.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "./node_modules/lodash/_baseIsEqual.js"), get = __webpack_require__(/*! ./get */ "./node_modules/lodash/get.js"), @@ -40023,13 +40023,13 @@ function baseMatchesProperty(path, srcValue) { module.exports = baseMatchesProperty; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMerge.js": +/***/ "./node_modules/lodash/_baseMerge.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseMerge.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ "./node_modules/lodash/_assignMergeValue.js"), @@ -40075,13 +40075,13 @@ function baseMerge(object, source, srcIndex, customizer, stack) { module.exports = baseMerge; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMergeDeep.js": +/***/ "./node_modules/lodash/_baseMergeDeep.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_baseMergeDeep.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ "./node_modules/lodash/_assignMergeValue.js"), cloneBuffer = __webpack_require__(/*! ./_cloneBuffer */ "./node_modules/lodash/_cloneBuffer.js"), @@ -40179,13 +40179,13 @@ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, sta module.exports = baseMergeDeep; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseOrderBy.js": +/***/ "./node_modules/lodash/_baseOrderBy.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseOrderBy.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"), @@ -40238,13 +40238,13 @@ function baseOrderBy(collection, iteratees, orders) { module.exports = baseOrderBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_basePick.js": +/***/ "./node_modules/lodash/_basePick.js" /*!******************************************!*\ !*** ./node_modules/lodash/_basePick.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var basePickBy = __webpack_require__(/*! ./_basePickBy */ "./node_modules/lodash/_basePickBy.js"), hasIn = __webpack_require__(/*! ./hasIn */ "./node_modules/lodash/hasIn.js"); @@ -40267,13 +40267,13 @@ function basePick(object, paths) { module.exports = basePick; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_basePickBy.js": +/***/ "./node_modules/lodash/_basePickBy.js" /*!********************************************!*\ !*** ./node_modules/lodash/_basePickBy.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"), baseSet = __webpack_require__(/*! ./_baseSet */ "./node_modules/lodash/_baseSet.js"), @@ -40307,13 +40307,13 @@ function basePickBy(object, paths, predicate) { module.exports = basePickBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseProperty.js": +/***/ "./node_modules/lodash/_baseProperty.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseProperty.js ***! \**********************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.property` without support for deep paths. @@ -40331,13 +40331,13 @@ function baseProperty(key) { module.exports = baseProperty; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_basePropertyDeep.js": +/***/ "./node_modules/lodash/_basePropertyDeep.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_basePropertyDeep.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"); @@ -40357,13 +40357,13 @@ function basePropertyDeep(path) { module.exports = basePropertyDeep; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseRange.js": +/***/ "./node_modules/lodash/_baseRange.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseRange.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeCeil = Math.ceil, @@ -40395,13 +40395,13 @@ function baseRange(start, end, step, fromRight) { module.exports = baseRange; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseReduce.js": +/***/ "./node_modules/lodash/_baseReduce.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseReduce.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.reduce` and `_.reduceRight`, without support @@ -40428,13 +40428,13 @@ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { module.exports = baseReduce; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseRest.js": +/***/ "./node_modules/lodash/_baseRest.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseRest.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"), overRest = __webpack_require__(/*! ./_overRest */ "./node_modules/lodash/_overRest.js"), @@ -40455,13 +40455,13 @@ function baseRest(func, start) { module.exports = baseRest; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseSet.js": +/***/ "./node_modules/lodash/_baseSet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseSet.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"), castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"), @@ -40516,13 +40516,13 @@ function baseSet(object, path, value, customizer) { module.exports = baseSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseSetToString.js": +/***/ "./node_modules/lodash/_baseSetToString.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_baseSetToString.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var constant = __webpack_require__(/*! ./constant */ "./node_modules/lodash/constant.js"), defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js"), @@ -40548,13 +40548,13 @@ var baseSetToString = !defineProperty ? identity : function(func, string) { module.exports = baseSetToString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseSortBy.js": +/***/ "./node_modules/lodash/_baseSortBy.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseSortBy.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.sortBy` which uses `comparer` to define the @@ -40579,13 +40579,13 @@ function baseSortBy(array, comparer) { module.exports = baseSortBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseTimes.js": +/***/ "./node_modules/lodash/_baseTimes.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseTimes.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.times` without support for iteratee shorthands @@ -40609,13 +40609,13 @@ function baseTimes(n, iteratee) { module.exports = baseTimes; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseToString.js": +/***/ "./node_modules/lodash/_baseToString.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseToString.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), @@ -40656,13 +40656,13 @@ function baseToString(value) { module.exports = baseToString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseTrim.js": +/***/ "./node_modules/lodash/_baseTrim.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseTrim.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var trimmedEndIndex = __webpack_require__(/*! ./_trimmedEndIndex */ "./node_modules/lodash/_trimmedEndIndex.js"); @@ -40685,13 +40685,13 @@ function baseTrim(string) { module.exports = baseTrim; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseUnary.js": +/***/ "./node_modules/lodash/_baseUnary.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseUnary.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.unary` without support for storing metadata. @@ -40709,13 +40709,13 @@ function baseUnary(func) { module.exports = baseUnary; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseUniq.js": +/***/ "./node_modules/lodash/_baseUniq.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseUniq.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var SetCache = __webpack_require__(/*! ./_SetCache */ "./node_modules/lodash/_SetCache.js"), arrayIncludes = __webpack_require__(/*! ./_arrayIncludes */ "./node_modules/lodash/_arrayIncludes.js"), @@ -40791,13 +40791,13 @@ function baseUniq(array, iteratee, comparator) { module.exports = baseUniq; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseValues.js": +/***/ "./node_modules/lodash/_baseValues.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseValues.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"); @@ -40820,13 +40820,13 @@ function baseValues(object, props) { module.exports = baseValues; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseZipObject.js": +/***/ "./node_modules/lodash/_baseZipObject.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_baseZipObject.js ***! \***********************************************/ -/***/ (function(module) { +(module) { /** * This base implementation of `_.zipObject` which assigns values using `assignFunc`. @@ -40853,13 +40853,13 @@ function baseZipObject(props, values, assignFunc) { module.exports = baseZipObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cacheHas.js": +/***/ "./node_modules/lodash/_cacheHas.js" /*!******************************************!*\ !*** ./node_modules/lodash/_cacheHas.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * Checks if a `cache` value for `key` exists. @@ -40876,13 +40876,13 @@ function cacheHas(cache, key) { module.exports = cacheHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_castFunction.js": +/***/ "./node_modules/lodash/_castFunction.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_castFunction.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"); @@ -40900,13 +40900,13 @@ function castFunction(value) { module.exports = castFunction; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_castPath.js": +/***/ "./node_modules/lodash/_castPath.js" /*!******************************************!*\ !*** ./node_modules/lodash/_castPath.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), isKey = __webpack_require__(/*! ./_isKey */ "./node_modules/lodash/_isKey.js"), @@ -40931,13 +40931,13 @@ function castPath(value, object) { module.exports = castPath; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneArrayBuffer.js": +/***/ "./node_modules/lodash/_cloneArrayBuffer.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_cloneArrayBuffer.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js"); @@ -40957,13 +40957,13 @@ function cloneArrayBuffer(arrayBuffer) { module.exports = cloneArrayBuffer; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneBuffer.js": +/***/ "./node_modules/lodash/_cloneBuffer.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_cloneBuffer.js ***! \*********************************************/ -/***/ (function(module, exports, __webpack_require__) { +(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -41003,13 +41003,13 @@ function cloneBuffer(buffer, isDeep) { module.exports = cloneBuffer; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneDataView.js": +/***/ "./node_modules/lodash/_cloneDataView.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_cloneDataView.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"); @@ -41029,13 +41029,13 @@ function cloneDataView(dataView, isDeep) { module.exports = cloneDataView; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneRegExp.js": +/***/ "./node_modules/lodash/_cloneRegExp.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_cloneRegExp.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** Used to match `RegExp` flags from their coerced string values. */ var reFlags = /\w*$/; @@ -41056,13 +41056,13 @@ function cloneRegExp(regexp) { module.exports = cloneRegExp; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneSymbol.js": +/***/ "./node_modules/lodash/_cloneSymbol.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_cloneSymbol.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"); @@ -41084,13 +41084,13 @@ function cloneSymbol(symbol) { module.exports = cloneSymbol; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneTypedArray.js": +/***/ "./node_modules/lodash/_cloneTypedArray.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_cloneTypedArray.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"); @@ -41110,13 +41110,13 @@ function cloneTypedArray(typedArray, isDeep) { module.exports = cloneTypedArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_compareAscending.js": +/***/ "./node_modules/lodash/_compareAscending.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_compareAscending.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); @@ -41161,13 +41161,13 @@ function compareAscending(value, other) { module.exports = compareAscending; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_compareMultiple.js": +/***/ "./node_modules/lodash/_compareMultiple.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_compareMultiple.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var compareAscending = __webpack_require__(/*! ./_compareAscending */ "./node_modules/lodash/_compareAscending.js"); @@ -41215,13 +41215,13 @@ function compareMultiple(object, other, orders) { module.exports = compareMultiple; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_copyArray.js": +/***/ "./node_modules/lodash/_copyArray.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_copyArray.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * Copies the values of `source` to `array`. @@ -41245,13 +41245,13 @@ function copyArray(source, array) { module.exports = copyArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_copyObject.js": +/***/ "./node_modules/lodash/_copyObject.js" /*!********************************************!*\ !*** ./node_modules/lodash/_copyObject.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"), baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"); @@ -41295,13 +41295,13 @@ function copyObject(source, props, object, customizer) { module.exports = copyObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_copySymbols.js": +/***/ "./node_modules/lodash/_copySymbols.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_copySymbols.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"); @@ -41321,13 +41321,13 @@ function copySymbols(source, object) { module.exports = copySymbols; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_copySymbolsIn.js": +/***/ "./node_modules/lodash/_copySymbolsIn.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_copySymbolsIn.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ "./node_modules/lodash/_getSymbolsIn.js"); @@ -41347,13 +41347,13 @@ function copySymbolsIn(source, object) { module.exports = copySymbolsIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_coreJsData.js": +/***/ "./node_modules/lodash/_coreJsData.js" /*!********************************************!*\ !*** ./node_modules/lodash/_coreJsData.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -41363,13 +41363,13 @@ var coreJsData = root['__core-js_shared__']; module.exports = coreJsData; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createAssigner.js": +/***/ "./node_modules/lodash/_createAssigner.js" /*!************************************************!*\ !*** ./node_modules/lodash/_createAssigner.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseRest = __webpack_require__(/*! ./_baseRest */ "./node_modules/lodash/_baseRest.js"), isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ "./node_modules/lodash/_isIterateeCall.js"); @@ -41410,13 +41410,13 @@ function createAssigner(assigner) { module.exports = createAssigner; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createBaseEach.js": +/***/ "./node_modules/lodash/_createBaseEach.js" /*!************************************************!*\ !*** ./node_modules/lodash/_createBaseEach.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"); @@ -41452,13 +41452,13 @@ function createBaseEach(eachFunc, fromRight) { module.exports = createBaseEach; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createBaseFor.js": +/***/ "./node_modules/lodash/_createBaseFor.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_createBaseFor.js ***! \***********************************************/ -/***/ (function(module) { +(module) { /** * Creates a base function for methods like `_.forIn` and `_.forOwn`. @@ -41487,13 +41487,13 @@ function createBaseFor(fromRight) { module.exports = createBaseFor; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createFind.js": +/***/ "./node_modules/lodash/_createFind.js" /*!********************************************!*\ !*** ./node_modules/lodash/_createFind.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"), isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"), @@ -41522,13 +41522,13 @@ function createFind(findIndexFunc) { module.exports = createFind; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createRange.js": +/***/ "./node_modules/lodash/_createRange.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_createRange.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseRange = __webpack_require__(/*! ./_baseRange */ "./node_modules/lodash/_baseRange.js"), isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ "./node_modules/lodash/_isIterateeCall.js"), @@ -41562,13 +41562,13 @@ function createRange(fromRight) { module.exports = createRange; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createSet.js": +/***/ "./node_modules/lodash/_createSet.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_createSet.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Set = __webpack_require__(/*! ./_Set */ "./node_modules/lodash/_Set.js"), noop = __webpack_require__(/*! ./noop */ "./node_modules/lodash/noop.js"), @@ -41591,13 +41591,13 @@ var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop module.exports = createSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_defineProperty.js": +/***/ "./node_modules/lodash/_defineProperty.js" /*!************************************************!*\ !*** ./node_modules/lodash/_defineProperty.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"); @@ -41612,13 +41612,13 @@ var defineProperty = (function() { module.exports = defineProperty; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_equalArrays.js": +/***/ "./node_modules/lodash/_equalArrays.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_equalArrays.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var SetCache = __webpack_require__(/*! ./_SetCache */ "./node_modules/lodash/_SetCache.js"), arraySome = __webpack_require__(/*! ./_arraySome */ "./node_modules/lodash/_arraySome.js"), @@ -41706,13 +41706,13 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { module.exports = equalArrays; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_equalByTag.js": +/***/ "./node_modules/lodash/_equalByTag.js" /*!********************************************!*\ !*** ./node_modules/lodash/_equalByTag.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js"), @@ -41828,13 +41828,13 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { module.exports = equalByTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_equalObjects.js": +/***/ "./node_modules/lodash/_equalObjects.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_equalObjects.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getAllKeys = __webpack_require__(/*! ./_getAllKeys */ "./node_modules/lodash/_getAllKeys.js"); @@ -41928,13 +41928,13 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { module.exports = equalObjects; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_flatRest.js": +/***/ "./node_modules/lodash/_flatRest.js" /*!******************************************!*\ !*** ./node_modules/lodash/_flatRest.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var flatten = __webpack_require__(/*! ./flatten */ "./node_modules/lodash/flatten.js"), overRest = __webpack_require__(/*! ./_overRest */ "./node_modules/lodash/_overRest.js"), @@ -41954,13 +41954,13 @@ function flatRest(func) { module.exports = flatRest; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_freeGlobal.js": +/***/ "./node_modules/lodash/_freeGlobal.js" /*!********************************************!*\ !*** ./node_modules/lodash/_freeGlobal.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; @@ -41968,13 +41968,13 @@ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__ module.exports = freeGlobal; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getAllKeys.js": +/***/ "./node_modules/lodash/_getAllKeys.js" /*!********************************************!*\ !*** ./node_modules/lodash/_getAllKeys.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ "./node_modules/lodash/_baseGetAllKeys.js"), getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"), @@ -41994,13 +41994,13 @@ function getAllKeys(object) { module.exports = getAllKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getAllKeysIn.js": +/***/ "./node_modules/lodash/_getAllKeysIn.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_getAllKeysIn.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ "./node_modules/lodash/_baseGetAllKeys.js"), getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ "./node_modules/lodash/_getSymbolsIn.js"), @@ -42021,13 +42021,13 @@ function getAllKeysIn(object) { module.exports = getAllKeysIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getMapData.js": +/***/ "./node_modules/lodash/_getMapData.js" /*!********************************************!*\ !*** ./node_modules/lodash/_getMapData.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isKeyable = __webpack_require__(/*! ./_isKeyable */ "./node_modules/lodash/_isKeyable.js"); @@ -42049,13 +42049,13 @@ function getMapData(map, key) { module.exports = getMapData; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getMatchData.js": +/***/ "./node_modules/lodash/_getMatchData.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_getMatchData.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "./node_modules/lodash/_isStrictComparable.js"), keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); @@ -42083,13 +42083,13 @@ function getMatchData(object) { module.exports = getMatchData; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getNative.js": +/***/ "./node_modules/lodash/_getNative.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_getNative.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsNative = __webpack_require__(/*! ./_baseIsNative */ "./node_modules/lodash/_baseIsNative.js"), getValue = __webpack_require__(/*! ./_getValue */ "./node_modules/lodash/_getValue.js"); @@ -42110,13 +42110,13 @@ function getNative(object, key) { module.exports = getNative; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getPrototype.js": +/***/ "./node_modules/lodash/_getPrototype.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_getPrototype.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js"); @@ -42126,13 +42126,13 @@ var getPrototype = overArg(Object.getPrototypeOf, Object); module.exports = getPrototype; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getRawTag.js": +/***/ "./node_modules/lodash/_getRawTag.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_getRawTag.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"); @@ -42182,13 +42182,13 @@ function getRawTag(value) { module.exports = getRawTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getSymbols.js": +/***/ "./node_modules/lodash/_getSymbols.js" /*!********************************************!*\ !*** ./node_modules/lodash/_getSymbols.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayFilter = __webpack_require__(/*! ./_arrayFilter */ "./node_modules/lodash/_arrayFilter.js"), stubArray = __webpack_require__(/*! ./stubArray */ "./node_modules/lodash/stubArray.js"); @@ -42222,13 +42222,13 @@ var getSymbols = !nativeGetSymbols ? stubArray : function(object) { module.exports = getSymbols; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getSymbolsIn.js": +/***/ "./node_modules/lodash/_getSymbolsIn.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_getSymbolsIn.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"), getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), @@ -42257,13 +42257,13 @@ var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { module.exports = getSymbolsIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getTag.js": +/***/ "./node_modules/lodash/_getTag.js" /*!****************************************!*\ !*** ./node_modules/lodash/_getTag.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var DataView = __webpack_require__(/*! ./_DataView */ "./node_modules/lodash/_DataView.js"), Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"), @@ -42325,13 +42325,13 @@ if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || module.exports = getTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getValue.js": +/***/ "./node_modules/lodash/_getValue.js" /*!******************************************!*\ !*** ./node_modules/lodash/_getValue.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * Gets the value at `key` of `object`. @@ -42348,13 +42348,13 @@ function getValue(object, key) { module.exports = getValue; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hasPath.js": +/***/ "./node_modules/lodash/_hasPath.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_hasPath.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"), isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"), @@ -42397,13 +42397,13 @@ function hasPath(object, path, hasFunc) { module.exports = hasPath; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hasUnicode.js": +/***/ "./node_modules/lodash/_hasUnicode.js" /*!********************************************!*\ !*** ./node_modules/lodash/_hasUnicode.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** Used to compose unicode character classes. */ var rsAstralRange = '\\ud800-\\udfff', @@ -42433,13 +42433,13 @@ function hasUnicode(string) { module.exports = hasUnicode; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashClear.js": +/***/ "./node_modules/lodash/_hashClear.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_hashClear.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); @@ -42458,13 +42458,13 @@ function hashClear() { module.exports = hashClear; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashDelete.js": +/***/ "./node_modules/lodash/_hashDelete.js" /*!********************************************!*\ !*** ./node_modules/lodash/_hashDelete.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * Removes `key` and its value from the hash. @@ -42485,13 +42485,13 @@ function hashDelete(key) { module.exports = hashDelete; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashGet.js": +/***/ "./node_modules/lodash/_hashGet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_hashGet.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); @@ -42525,13 +42525,13 @@ function hashGet(key) { module.exports = hashGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashHas.js": +/***/ "./node_modules/lodash/_hashHas.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_hashHas.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); @@ -42558,13 +42558,13 @@ function hashHas(key) { module.exports = hashHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashSet.js": +/***/ "./node_modules/lodash/_hashSet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_hashSet.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); @@ -42591,13 +42591,13 @@ function hashSet(key, value) { module.exports = hashSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_initCloneArray.js": +/***/ "./node_modules/lodash/_initCloneArray.js" /*!************************************************!*\ !*** ./node_modules/lodash/_initCloneArray.js ***! \************************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -42627,13 +42627,13 @@ function initCloneArray(array) { module.exports = initCloneArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_initCloneByTag.js": +/***/ "./node_modules/lodash/_initCloneByTag.js" /*!************************************************!*\ !*** ./node_modules/lodash/_initCloneByTag.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"), cloneDataView = __webpack_require__(/*! ./_cloneDataView */ "./node_modules/lodash/_cloneDataView.js"), @@ -42714,13 +42714,13 @@ function initCloneByTag(object, tag, isDeep) { module.exports = initCloneByTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_initCloneObject.js": +/***/ "./node_modules/lodash/_initCloneObject.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_initCloneObject.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"), getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), @@ -42742,13 +42742,13 @@ function initCloneObject(object) { module.exports = initCloneObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isFlattenable.js": +/***/ "./node_modules/lodash/_isFlattenable.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_isFlattenable.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"), @@ -42772,13 +42772,13 @@ function isFlattenable(value) { module.exports = isFlattenable; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isIndex.js": +/***/ "./node_modules/lodash/_isIndex.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_isIndex.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; @@ -42807,13 +42807,13 @@ function isIndex(value, length) { module.exports = isIndex; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isIterateeCall.js": +/***/ "./node_modules/lodash/_isIterateeCall.js" /*!************************************************!*\ !*** ./node_modules/lodash/_isIterateeCall.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"), isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"), @@ -42847,13 +42847,13 @@ function isIterateeCall(value, index, object) { module.exports = isIterateeCall; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isKey.js": +/***/ "./node_modules/lodash/_isKey.js" /*!***************************************!*\ !*** ./node_modules/lodash/_isKey.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); @@ -42886,13 +42886,13 @@ function isKey(value, object) { module.exports = isKey; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isKeyable.js": +/***/ "./node_modules/lodash/_isKeyable.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_isKeyable.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is suitable for use as unique object key. @@ -42911,13 +42911,13 @@ function isKeyable(value) { module.exports = isKeyable; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isMasked.js": +/***/ "./node_modules/lodash/_isMasked.js" /*!******************************************!*\ !*** ./node_modules/lodash/_isMasked.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var coreJsData = __webpack_require__(/*! ./_coreJsData */ "./node_modules/lodash/_coreJsData.js"); @@ -42941,13 +42941,13 @@ function isMasked(func) { module.exports = isMasked; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isPrototype.js": +/***/ "./node_modules/lodash/_isPrototype.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_isPrototype.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -42969,13 +42969,13 @@ function isPrototype(value) { module.exports = isPrototype; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isStrictComparable.js": +/***/ "./node_modules/lodash/_isStrictComparable.js" /*!****************************************************!*\ !*** ./node_modules/lodash/_isStrictComparable.js ***! \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); @@ -42994,13 +42994,13 @@ function isStrictComparable(value) { module.exports = isStrictComparable; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheClear.js": +/***/ "./node_modules/lodash/_listCacheClear.js" /*!************************************************!*\ !*** ./node_modules/lodash/_listCacheClear.js ***! \************************************************/ -/***/ (function(module) { +(module) { /** * Removes all key-value entries from the list cache. @@ -43017,13 +43017,13 @@ function listCacheClear() { module.exports = listCacheClear; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheDelete.js": +/***/ "./node_modules/lodash/_listCacheDelete.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_listCacheDelete.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); @@ -43062,13 +43062,13 @@ function listCacheDelete(key) { module.exports = listCacheDelete; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheGet.js": +/***/ "./node_modules/lodash/_listCacheGet.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_listCacheGet.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); @@ -43091,13 +43091,13 @@ function listCacheGet(key) { module.exports = listCacheGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheHas.js": +/***/ "./node_modules/lodash/_listCacheHas.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_listCacheHas.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); @@ -43117,13 +43117,13 @@ function listCacheHas(key) { module.exports = listCacheHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheSet.js": +/***/ "./node_modules/lodash/_listCacheSet.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_listCacheSet.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); @@ -43153,13 +43153,13 @@ function listCacheSet(key, value) { module.exports = listCacheSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheClear.js": +/***/ "./node_modules/lodash/_mapCacheClear.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_mapCacheClear.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Hash = __webpack_require__(/*! ./_Hash */ "./node_modules/lodash/_Hash.js"), ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"), @@ -43184,13 +43184,13 @@ function mapCacheClear() { module.exports = mapCacheClear; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheDelete.js": +/***/ "./node_modules/lodash/_mapCacheDelete.js" /*!************************************************!*\ !*** ./node_modules/lodash/_mapCacheDelete.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); @@ -43212,13 +43212,13 @@ function mapCacheDelete(key) { module.exports = mapCacheDelete; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheGet.js": +/***/ "./node_modules/lodash/_mapCacheGet.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_mapCacheGet.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); @@ -43238,13 +43238,13 @@ function mapCacheGet(key) { module.exports = mapCacheGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheHas.js": +/***/ "./node_modules/lodash/_mapCacheHas.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_mapCacheHas.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); @@ -43264,13 +43264,13 @@ function mapCacheHas(key) { module.exports = mapCacheHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheSet.js": +/***/ "./node_modules/lodash/_mapCacheSet.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_mapCacheSet.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); @@ -43296,13 +43296,13 @@ function mapCacheSet(key, value) { module.exports = mapCacheSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapToArray.js": +/***/ "./node_modules/lodash/_mapToArray.js" /*!********************************************!*\ !*** ./node_modules/lodash/_mapToArray.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * Converts `map` to its key-value pairs. @@ -43324,13 +43324,13 @@ function mapToArray(map) { module.exports = mapToArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_matchesStrictComparable.js": +/***/ "./node_modules/lodash/_matchesStrictComparable.js" /*!*********************************************************!*\ !*** ./node_modules/lodash/_matchesStrictComparable.js ***! \*********************************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `matchesProperty` for source values suitable @@ -43354,13 +43354,13 @@ function matchesStrictComparable(key, srcValue) { module.exports = matchesStrictComparable; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_memoizeCapped.js": +/***/ "./node_modules/lodash/_memoizeCapped.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_memoizeCapped.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var memoize = __webpack_require__(/*! ./memoize */ "./node_modules/lodash/memoize.js"); @@ -43390,13 +43390,13 @@ function memoizeCapped(func) { module.exports = memoizeCapped; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_nativeCreate.js": +/***/ "./node_modules/lodash/_nativeCreate.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_nativeCreate.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"); @@ -43406,13 +43406,13 @@ var nativeCreate = getNative(Object, 'create'); module.exports = nativeCreate; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_nativeKeys.js": +/***/ "./node_modules/lodash/_nativeKeys.js" /*!********************************************!*\ !*** ./node_modules/lodash/_nativeKeys.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js"); @@ -43422,13 +43422,13 @@ var nativeKeys = overArg(Object.keys, Object); module.exports = nativeKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_nativeKeysIn.js": +/***/ "./node_modules/lodash/_nativeKeysIn.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_nativeKeysIn.js ***! \**********************************************/ -/***/ (function(module) { +(module) { /** * This function is like @@ -43452,13 +43452,13 @@ function nativeKeysIn(object) { module.exports = nativeKeysIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_nodeUtil.js": +/***/ "./node_modules/lodash/_nodeUtil.js" /*!******************************************!*\ !*** ./node_modules/lodash/_nodeUtil.js ***! \******************************************/ -/***/ (function(module, exports, __webpack_require__) { +(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js"); @@ -43493,13 +43493,13 @@ var nodeUtil = (function() { module.exports = nodeUtil; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_objectToString.js": +/***/ "./node_modules/lodash/_objectToString.js" /*!************************************************!*\ !*** ./node_modules/lodash/_objectToString.js ***! \************************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -43525,13 +43525,13 @@ function objectToString(value) { module.exports = objectToString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_overArg.js": +/***/ "./node_modules/lodash/_overArg.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_overArg.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * Creates a unary function that invokes `func` with its argument transformed. @@ -43550,13 +43550,13 @@ function overArg(func, transform) { module.exports = overArg; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_overRest.js": +/***/ "./node_modules/lodash/_overRest.js" /*!******************************************!*\ !*** ./node_modules/lodash/_overRest.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var apply = __webpack_require__(/*! ./_apply */ "./node_modules/lodash/_apply.js"); @@ -43596,13 +43596,13 @@ function overRest(func, start, transform) { module.exports = overRest; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_root.js": +/***/ "./node_modules/lodash/_root.js" /*!**************************************!*\ !*** ./node_modules/lodash/_root.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js"); @@ -43615,13 +43615,13 @@ var root = freeGlobal || freeSelf || Function('return this')(); module.exports = root; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_safeGet.js": +/***/ "./node_modules/lodash/_safeGet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_safeGet.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * Gets the value at `key`, unless `key` is "__proto__" or "constructor". @@ -43646,13 +43646,13 @@ function safeGet(object, key) { module.exports = safeGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_setCacheAdd.js": +/***/ "./node_modules/lodash/_setCacheAdd.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_setCacheAdd.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; @@ -43675,13 +43675,13 @@ function setCacheAdd(value) { module.exports = setCacheAdd; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_setCacheHas.js": +/***/ "./node_modules/lodash/_setCacheHas.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_setCacheHas.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is in the array cache. @@ -43699,13 +43699,13 @@ function setCacheHas(value) { module.exports = setCacheHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_setToArray.js": +/***/ "./node_modules/lodash/_setToArray.js" /*!********************************************!*\ !*** ./node_modules/lodash/_setToArray.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * Converts `set` to an array of its values. @@ -43727,13 +43727,13 @@ function setToArray(set) { module.exports = setToArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_setToString.js": +/***/ "./node_modules/lodash/_setToString.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_setToString.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseSetToString = __webpack_require__(/*! ./_baseSetToString */ "./node_modules/lodash/_baseSetToString.js"), shortOut = __webpack_require__(/*! ./_shortOut */ "./node_modules/lodash/_shortOut.js"); @@ -43751,13 +43751,13 @@ var setToString = shortOut(baseSetToString); module.exports = setToString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_shortOut.js": +/***/ "./node_modules/lodash/_shortOut.js" /*!******************************************!*\ !*** ./node_modules/lodash/_shortOut.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** Used to detect hot functions by number of calls within a span of milliseconds. */ var HOT_COUNT = 800, @@ -43798,13 +43798,13 @@ function shortOut(func) { module.exports = shortOut; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackClear.js": +/***/ "./node_modules/lodash/_stackClear.js" /*!********************************************!*\ !*** ./node_modules/lodash/_stackClear.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"); @@ -43823,13 +43823,13 @@ function stackClear() { module.exports = stackClear; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackDelete.js": +/***/ "./node_modules/lodash/_stackDelete.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_stackDelete.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * Removes `key` and its value from the stack. @@ -43851,13 +43851,13 @@ function stackDelete(key) { module.exports = stackDelete; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackGet.js": +/***/ "./node_modules/lodash/_stackGet.js" /*!******************************************!*\ !*** ./node_modules/lodash/_stackGet.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * Gets the stack value for `key`. @@ -43875,13 +43875,13 @@ function stackGet(key) { module.exports = stackGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackHas.js": +/***/ "./node_modules/lodash/_stackHas.js" /*!******************************************!*\ !*** ./node_modules/lodash/_stackHas.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * Checks if a stack value for `key` exists. @@ -43899,13 +43899,13 @@ function stackHas(key) { module.exports = stackHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackSet.js": +/***/ "./node_modules/lodash/_stackSet.js" /*!******************************************!*\ !*** ./node_modules/lodash/_stackSet.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"), Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"), @@ -43943,13 +43943,13 @@ function stackSet(key, value) { module.exports = stackSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_strictIndexOf.js": +/***/ "./node_modules/lodash/_strictIndexOf.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_strictIndexOf.js ***! \***********************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.indexOf` which performs strict equality @@ -43976,13 +43976,13 @@ function strictIndexOf(array, value, fromIndex) { module.exports = strictIndexOf; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stringSize.js": +/***/ "./node_modules/lodash/_stringSize.js" /*!********************************************!*\ !*** ./node_modules/lodash/_stringSize.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var asciiSize = __webpack_require__(/*! ./_asciiSize */ "./node_modules/lodash/_asciiSize.js"), hasUnicode = __webpack_require__(/*! ./_hasUnicode */ "./node_modules/lodash/_hasUnicode.js"), @@ -44004,13 +44004,13 @@ function stringSize(string) { module.exports = stringSize; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stringToPath.js": +/***/ "./node_modules/lodash/_stringToPath.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_stringToPath.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ "./node_modules/lodash/_memoizeCapped.js"); @@ -44041,13 +44041,13 @@ var stringToPath = memoizeCapped(function(string) { module.exports = stringToPath; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_toKey.js": +/***/ "./node_modules/lodash/_toKey.js" /*!***************************************!*\ !*** ./node_modules/lodash/_toKey.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); @@ -44072,13 +44072,13 @@ function toKey(value) { module.exports = toKey; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_toSource.js": +/***/ "./node_modules/lodash/_toSource.js" /*!******************************************!*\ !*** ./node_modules/lodash/_toSource.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var funcProto = Function.prototype; @@ -44108,13 +44108,13 @@ function toSource(func) { module.exports = toSource; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_trimmedEndIndex.js": +/***/ "./node_modules/lodash/_trimmedEndIndex.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_trimmedEndIndex.js ***! \*************************************************/ -/***/ (function(module) { +(module) { /** Used to match a single whitespace character. */ var reWhitespace = /\s/; @@ -44137,13 +44137,13 @@ function trimmedEndIndex(string) { module.exports = trimmedEndIndex; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_unicodeSize.js": +/***/ "./node_modules/lodash/_unicodeSize.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_unicodeSize.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** Used to compose unicode character classes. */ var rsAstralRange = '\\ud800-\\udfff', @@ -44191,13 +44191,13 @@ function unicodeSize(string) { module.exports = unicodeSize; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/clone.js": +/***/ "./node_modules/lodash/clone.js" /*!**************************************!*\ !*** ./node_modules/lodash/clone.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseClone = __webpack_require__(/*! ./_baseClone */ "./node_modules/lodash/_baseClone.js"); @@ -44237,13 +44237,13 @@ function clone(value) { module.exports = clone; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/cloneDeep.js": +/***/ "./node_modules/lodash/cloneDeep.js" /*!******************************************!*\ !*** ./node_modules/lodash/cloneDeep.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseClone = __webpack_require__(/*! ./_baseClone */ "./node_modules/lodash/_baseClone.js"); @@ -44276,13 +44276,13 @@ function cloneDeep(value) { module.exports = cloneDeep; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/constant.js": +/***/ "./node_modules/lodash/constant.js" /*!*****************************************!*\ !*** ./node_modules/lodash/constant.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * Creates a function that returns `value`. @@ -44312,13 +44312,13 @@ function constant(value) { module.exports = constant; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/defaults.js": +/***/ "./node_modules/lodash/defaults.js" /*!*****************************************!*\ !*** ./node_modules/lodash/defaults.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseRest = __webpack_require__(/*! ./_baseRest */ "./node_modules/lodash/_baseRest.js"), eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"), @@ -44386,24 +44386,24 @@ var defaults = baseRest(function(object, sources) { module.exports = defaults; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/each.js": +/***/ "./node_modules/lodash/each.js" /*!*************************************!*\ !*** ./node_modules/lodash/each.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { module.exports = __webpack_require__(/*! ./forEach */ "./node_modules/lodash/forEach.js"); -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/eq.js": +/***/ "./node_modules/lodash/eq.js" /*!***********************************!*\ !*** ./node_modules/lodash/eq.js ***! \***********************************/ -/***/ (function(module) { +(module) { /** * Performs a @@ -44444,13 +44444,13 @@ function eq(value, other) { module.exports = eq; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/filter.js": +/***/ "./node_modules/lodash/filter.js" /*!***************************************!*\ !*** ./node_modules/lodash/filter.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayFilter = __webpack_require__(/*! ./_arrayFilter */ "./node_modules/lodash/_arrayFilter.js"), baseFilter = __webpack_require__(/*! ./_baseFilter */ "./node_modules/lodash/_baseFilter.js"), @@ -44506,13 +44506,13 @@ function filter(collection, predicate) { module.exports = filter; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/find.js": +/***/ "./node_modules/lodash/find.js" /*!*************************************!*\ !*** ./node_modules/lodash/find.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var createFind = __webpack_require__(/*! ./_createFind */ "./node_modules/lodash/_createFind.js"), findIndex = __webpack_require__(/*! ./findIndex */ "./node_modules/lodash/findIndex.js"); @@ -44558,13 +44558,13 @@ var find = createFind(findIndex); module.exports = find; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/findIndex.js": +/***/ "./node_modules/lodash/findIndex.js" /*!******************************************!*\ !*** ./node_modules/lodash/findIndex.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFindIndex = __webpack_require__(/*! ./_baseFindIndex */ "./node_modules/lodash/_baseFindIndex.js"), baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"), @@ -44623,13 +44623,13 @@ function findIndex(array, predicate, fromIndex) { module.exports = findIndex; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/flatten.js": +/***/ "./node_modules/lodash/flatten.js" /*!****************************************!*\ !*** ./node_modules/lodash/flatten.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ "./node_modules/lodash/_baseFlatten.js"); @@ -44655,13 +44655,13 @@ function flatten(array) { module.exports = flatten; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/forEach.js": +/***/ "./node_modules/lodash/forEach.js" /*!****************************************!*\ !*** ./node_modules/lodash/forEach.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"), baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"), @@ -44706,13 +44706,13 @@ function forEach(collection, iteratee) { module.exports = forEach; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/forIn.js": +/***/ "./node_modules/lodash/forIn.js" /*!**************************************!*\ !*** ./node_modules/lodash/forIn.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFor = __webpack_require__(/*! ./_baseFor */ "./node_modules/lodash/_baseFor.js"), castFunction = __webpack_require__(/*! ./_castFunction */ "./node_modules/lodash/_castFunction.js"), @@ -44755,13 +44755,13 @@ function forIn(object, iteratee) { module.exports = forIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/get.js": +/***/ "./node_modules/lodash/get.js" /*!************************************!*\ !*** ./node_modules/lodash/get.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"); @@ -44798,13 +44798,13 @@ function get(object, path, defaultValue) { module.exports = get; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/has.js": +/***/ "./node_modules/lodash/has.js" /*!************************************!*\ !*** ./node_modules/lodash/has.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseHas = __webpack_require__(/*! ./_baseHas */ "./node_modules/lodash/_baseHas.js"), hasPath = __webpack_require__(/*! ./_hasPath */ "./node_modules/lodash/_hasPath.js"); @@ -44843,13 +44843,13 @@ function has(object, path) { module.exports = has; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/hasIn.js": +/***/ "./node_modules/lodash/hasIn.js" /*!**************************************!*\ !*** ./node_modules/lodash/hasIn.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseHasIn = __webpack_require__(/*! ./_baseHasIn */ "./node_modules/lodash/_baseHasIn.js"), hasPath = __webpack_require__(/*! ./_hasPath */ "./node_modules/lodash/_hasPath.js"); @@ -44887,13 +44887,13 @@ function hasIn(object, path) { module.exports = hasIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/identity.js": +/***/ "./node_modules/lodash/identity.js" /*!*****************************************!*\ !*** ./node_modules/lodash/identity.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * This method returns the first argument it receives. @@ -44918,13 +44918,13 @@ function identity(value) { module.exports = identity; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isArguments.js": +/***/ "./node_modules/lodash/isArguments.js" /*!********************************************!*\ !*** ./node_modules/lodash/isArguments.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsArguments = __webpack_require__(/*! ./_baseIsArguments */ "./node_modules/lodash/_baseIsArguments.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -44964,13 +44964,13 @@ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsAr module.exports = isArguments; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isArray.js": +/***/ "./node_modules/lodash/isArray.js" /*!****************************************!*\ !*** ./node_modules/lodash/isArray.js ***! \****************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is classified as an `Array` object. @@ -45000,13 +45000,13 @@ var isArray = Array.isArray; module.exports = isArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isArrayLike.js": +/***/ "./node_modules/lodash/isArrayLike.js" /*!********************************************!*\ !*** ./node_modules/lodash/isArrayLike.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"), isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"); @@ -45043,13 +45043,13 @@ function isArrayLike(value) { module.exports = isArrayLike; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isArrayLikeObject.js": +/***/ "./node_modules/lodash/isArrayLikeObject.js" /*!**************************************************!*\ !*** ./node_modules/lodash/isArrayLikeObject.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -45086,13 +45086,13 @@ function isArrayLikeObject(value) { module.exports = isArrayLikeObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isBuffer.js": +/***/ "./node_modules/lodash/isBuffer.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isBuffer.js ***! \*****************************************/ -/***/ (function(module, exports, __webpack_require__) { +(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"), @@ -45135,13 +45135,13 @@ var isBuffer = nativeIsBuffer || stubFalse; module.exports = isBuffer; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isEmpty.js": +/***/ "./node_modules/lodash/isEmpty.js" /*!****************************************!*\ !*** ./node_modules/lodash/isEmpty.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseKeys = __webpack_require__(/*! ./_baseKeys */ "./node_modules/lodash/_baseKeys.js"), getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), @@ -45222,13 +45222,13 @@ function isEmpty(value) { module.exports = isEmpty; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isFunction.js": +/***/ "./node_modules/lodash/isFunction.js" /*!*******************************************!*\ !*** ./node_modules/lodash/isFunction.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); @@ -45269,13 +45269,13 @@ function isFunction(value) { module.exports = isFunction; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isLength.js": +/***/ "./node_modules/lodash/isLength.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isLength.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; @@ -45314,13 +45314,13 @@ function isLength(value) { module.exports = isLength; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isMap.js": +/***/ "./node_modules/lodash/isMap.js" /*!**************************************!*\ !*** ./node_modules/lodash/isMap.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsMap = __webpack_require__(/*! ./_baseIsMap */ "./node_modules/lodash/_baseIsMap.js"), baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"), @@ -45351,13 +45351,13 @@ var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; module.exports = isMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isObject.js": +/***/ "./node_modules/lodash/isObject.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isObject.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is the @@ -45392,13 +45392,13 @@ function isObject(value) { module.exports = isObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isObjectLike.js": +/***/ "./node_modules/lodash/isObjectLike.js" /*!*********************************************!*\ !*** ./node_modules/lodash/isObjectLike.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is object-like. A value is object-like if it's not `null` @@ -45431,13 +45431,13 @@ function isObjectLike(value) { module.exports = isObjectLike; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isPlainObject.js": +/***/ "./node_modules/lodash/isPlainObject.js" /*!**********************************************!*\ !*** ./node_modules/lodash/isPlainObject.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), @@ -45503,13 +45503,13 @@ function isPlainObject(value) { module.exports = isPlainObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isSet.js": +/***/ "./node_modules/lodash/isSet.js" /*!**************************************!*\ !*** ./node_modules/lodash/isSet.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsSet = __webpack_require__(/*! ./_baseIsSet */ "./node_modules/lodash/_baseIsSet.js"), baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"), @@ -45540,13 +45540,13 @@ var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; module.exports = isSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isString.js": +/***/ "./node_modules/lodash/isString.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isString.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), @@ -45580,13 +45580,13 @@ function isString(value) { module.exports = isString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isSymbol.js": +/***/ "./node_modules/lodash/isSymbol.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isSymbol.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -45619,13 +45619,13 @@ function isSymbol(value) { module.exports = isSymbol; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isTypedArray.js": +/***/ "./node_modules/lodash/isTypedArray.js" /*!*********************************************!*\ !*** ./node_modules/lodash/isTypedArray.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsTypedArray = __webpack_require__(/*! ./_baseIsTypedArray */ "./node_modules/lodash/_baseIsTypedArray.js"), baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"), @@ -45656,13 +45656,13 @@ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedA module.exports = isTypedArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isUndefined.js": +/***/ "./node_modules/lodash/isUndefined.js" /*!********************************************!*\ !*** ./node_modules/lodash/isUndefined.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is `undefined`. @@ -45688,13 +45688,13 @@ function isUndefined(value) { module.exports = isUndefined; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/keys.js": +/***/ "./node_modules/lodash/keys.js" /*!*************************************!*\ !*** ./node_modules/lodash/keys.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"), baseKeys = __webpack_require__(/*! ./_baseKeys */ "./node_modules/lodash/_baseKeys.js"), @@ -45735,13 +45735,13 @@ function keys(object) { module.exports = keys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/keysIn.js": +/***/ "./node_modules/lodash/keysIn.js" /*!***************************************!*\ !*** ./node_modules/lodash/keysIn.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"), baseKeysIn = __webpack_require__(/*! ./_baseKeysIn */ "./node_modules/lodash/_baseKeysIn.js"), @@ -45777,13 +45777,13 @@ function keysIn(object) { module.exports = keysIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/last.js": +/***/ "./node_modules/lodash/last.js" /*!*************************************!*\ !*** ./node_modules/lodash/last.js ***! \*************************************/ -/***/ (function(module) { +(module) { /** * Gets the last element of `array`. @@ -45807,13 +45807,13 @@ function last(array) { module.exports = last; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/map.js": +/***/ "./node_modules/lodash/map.js" /*!************************************!*\ !*** ./node_modules/lodash/map.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"), @@ -45870,13 +45870,13 @@ function map(collection, iteratee) { module.exports = map; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/mapValues.js": +/***/ "./node_modules/lodash/mapValues.js" /*!******************************************!*\ !*** ./node_modules/lodash/mapValues.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"), baseForOwn = __webpack_require__(/*! ./_baseForOwn */ "./node_modules/lodash/_baseForOwn.js"), @@ -45923,13 +45923,13 @@ function mapValues(object, iteratee) { module.exports = mapValues; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/max.js": +/***/ "./node_modules/lodash/max.js" /*!************************************!*\ !*** ./node_modules/lodash/max.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseExtremum = __webpack_require__(/*! ./_baseExtremum */ "./node_modules/lodash/_baseExtremum.js"), baseGt = __webpack_require__(/*! ./_baseGt */ "./node_modules/lodash/_baseGt.js"), @@ -45962,13 +45962,13 @@ function max(array) { module.exports = max; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/memoize.js": +/***/ "./node_modules/lodash/memoize.js" /*!****************************************!*\ !*** ./node_modules/lodash/memoize.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js"); @@ -46045,13 +46045,13 @@ memoize.Cache = MapCache; module.exports = memoize; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/merge.js": +/***/ "./node_modules/lodash/merge.js" /*!**************************************!*\ !*** ./node_modules/lodash/merge.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseMerge = __webpack_require__(/*! ./_baseMerge */ "./node_modules/lodash/_baseMerge.js"), createAssigner = __webpack_require__(/*! ./_createAssigner */ "./node_modules/lodash/_createAssigner.js"); @@ -46094,13 +46094,13 @@ var merge = createAssigner(function(object, source, srcIndex) { module.exports = merge; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/min.js": +/***/ "./node_modules/lodash/min.js" /*!************************************!*\ !*** ./node_modules/lodash/min.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseExtremum = __webpack_require__(/*! ./_baseExtremum */ "./node_modules/lodash/_baseExtremum.js"), baseLt = __webpack_require__(/*! ./_baseLt */ "./node_modules/lodash/_baseLt.js"), @@ -46133,13 +46133,13 @@ function min(array) { module.exports = min; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/minBy.js": +/***/ "./node_modules/lodash/minBy.js" /*!**************************************!*\ !*** ./node_modules/lodash/minBy.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseExtremum = __webpack_require__(/*! ./_baseExtremum */ "./node_modules/lodash/_baseExtremum.js"), baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"), @@ -46177,13 +46177,13 @@ function minBy(array, iteratee) { module.exports = minBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/noop.js": +/***/ "./node_modules/lodash/noop.js" /*!*************************************!*\ !*** ./node_modules/lodash/noop.js ***! \*************************************/ -/***/ (function(module) { +(module) { /** * This method returns `undefined`. @@ -46204,13 +46204,13 @@ function noop() { module.exports = noop; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/now.js": +/***/ "./node_modules/lodash/now.js" /*!************************************!*\ !*** ./node_modules/lodash/now.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -46237,13 +46237,13 @@ var now = function() { module.exports = now; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/pick.js": +/***/ "./node_modules/lodash/pick.js" /*!*************************************!*\ !*** ./node_modules/lodash/pick.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var basePick = __webpack_require__(/*! ./_basePick */ "./node_modules/lodash/_basePick.js"), flatRest = __webpack_require__(/*! ./_flatRest */ "./node_modules/lodash/_flatRest.js"); @@ -46272,13 +46272,13 @@ var pick = flatRest(function(object, paths) { module.exports = pick; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/property.js": +/***/ "./node_modules/lodash/property.js" /*!*****************************************!*\ !*** ./node_modules/lodash/property.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseProperty = __webpack_require__(/*! ./_baseProperty */ "./node_modules/lodash/_baseProperty.js"), basePropertyDeep = __webpack_require__(/*! ./_basePropertyDeep */ "./node_modules/lodash/_basePropertyDeep.js"), @@ -46314,13 +46314,13 @@ function property(path) { module.exports = property; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/range.js": +/***/ "./node_modules/lodash/range.js" /*!**************************************!*\ !*** ./node_modules/lodash/range.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var createRange = __webpack_require__(/*! ./_createRange */ "./node_modules/lodash/_createRange.js"); @@ -46370,13 +46370,13 @@ var range = createRange(); module.exports = range; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/reduce.js": +/***/ "./node_modules/lodash/reduce.js" /*!***************************************!*\ !*** ./node_modules/lodash/reduce.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayReduce = __webpack_require__(/*! ./_arrayReduce */ "./node_modules/lodash/_arrayReduce.js"), baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"), @@ -46431,13 +46431,13 @@ function reduce(collection, iteratee, accumulator) { module.exports = reduce; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/size.js": +/***/ "./node_modules/lodash/size.js" /*!*************************************!*\ !*** ./node_modules/lodash/size.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseKeys = __webpack_require__(/*! ./_baseKeys */ "./node_modules/lodash/_baseKeys.js"), getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), @@ -46487,13 +46487,13 @@ function size(collection) { module.exports = size; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/sortBy.js": +/***/ "./node_modules/lodash/sortBy.js" /*!***************************************!*\ !*** ./node_modules/lodash/sortBy.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ "./node_modules/lodash/_baseFlatten.js"), baseOrderBy = __webpack_require__(/*! ./_baseOrderBy */ "./node_modules/lodash/_baseOrderBy.js"), @@ -46545,13 +46545,13 @@ var sortBy = baseRest(function(collection, iteratees) { module.exports = sortBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/stubArray.js": +/***/ "./node_modules/lodash/stubArray.js" /*!******************************************!*\ !*** ./node_modules/lodash/stubArray.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * This method returns a new empty array. @@ -46578,13 +46578,13 @@ function stubArray() { module.exports = stubArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/stubFalse.js": +/***/ "./node_modules/lodash/stubFalse.js" /*!******************************************!*\ !*** ./node_modules/lodash/stubFalse.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * This method returns `false`. @@ -46606,13 +46606,13 @@ function stubFalse() { module.exports = stubFalse; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toFinite.js": +/***/ "./node_modules/lodash/toFinite.js" /*!*****************************************!*\ !*** ./node_modules/lodash/toFinite.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var toNumber = __webpack_require__(/*! ./toNumber */ "./node_modules/lodash/toNumber.js"); @@ -46658,13 +46658,13 @@ function toFinite(value) { module.exports = toFinite; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toInteger.js": +/***/ "./node_modules/lodash/toInteger.js" /*!******************************************!*\ !*** ./node_modules/lodash/toInteger.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var toFinite = __webpack_require__(/*! ./toFinite */ "./node_modules/lodash/toFinite.js"); @@ -46704,13 +46704,13 @@ function toInteger(value) { module.exports = toInteger; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toNumber.js": +/***/ "./node_modules/lodash/toNumber.js" /*!*****************************************!*\ !*** ./node_modules/lodash/toNumber.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseTrim = __webpack_require__(/*! ./_baseTrim */ "./node_modules/lodash/_baseTrim.js"), isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), @@ -46778,13 +46778,13 @@ function toNumber(value) { module.exports = toNumber; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toPlainObject.js": +/***/ "./node_modules/lodash/toPlainObject.js" /*!**********************************************!*\ !*** ./node_modules/lodash/toPlainObject.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js"); @@ -46820,13 +46820,13 @@ function toPlainObject(value) { module.exports = toPlainObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toString.js": +/***/ "./node_modules/lodash/toString.js" /*!*****************************************!*\ !*** ./node_modules/lodash/toString.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseToString = __webpack_require__(/*! ./_baseToString */ "./node_modules/lodash/_baseToString.js"); @@ -46858,13 +46858,13 @@ function toString(value) { module.exports = toString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/transform.js": +/***/ "./node_modules/lodash/transform.js" /*!******************************************!*\ !*** ./node_modules/lodash/transform.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"), baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"), @@ -46933,13 +46933,13 @@ function transform(object, iteratee, accumulator) { module.exports = transform; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/union.js": +/***/ "./node_modules/lodash/union.js" /*!**************************************!*\ !*** ./node_modules/lodash/union.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ "./node_modules/lodash/_baseFlatten.js"), baseRest = __webpack_require__(/*! ./_baseRest */ "./node_modules/lodash/_baseRest.js"), @@ -46969,13 +46969,13 @@ var union = baseRest(function(arrays) { module.exports = union; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/uniqueId.js": +/***/ "./node_modules/lodash/uniqueId.js" /*!*****************************************!*\ !*** ./node_modules/lodash/uniqueId.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var toString = __webpack_require__(/*! ./toString */ "./node_modules/lodash/toString.js"); @@ -47007,13 +47007,13 @@ function uniqueId(prefix) { module.exports = uniqueId; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/values.js": +/***/ "./node_modules/lodash/values.js" /*!***************************************!*\ !*** ./node_modules/lodash/values.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseValues = __webpack_require__(/*! ./_baseValues */ "./node_modules/lodash/_baseValues.js"), keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); @@ -47051,13 +47051,13 @@ function values(object) { module.exports = values; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/zipObject.js": +/***/ "./node_modules/lodash/zipObject.js" /*!******************************************!*\ !*** ./node_modules/lodash/zipObject.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"), baseZipObject = __webpack_require__(/*! ./_baseZipObject */ "./node_modules/lodash/_baseZipObject.js"); @@ -47085,13 +47085,13 @@ function zipObject(props, values) { module.exports = zipObject; -/***/ }), +/***/ }, -/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": +/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js" /*!*************************************************************!*\ !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! \*************************************************************/ -/***/ (function(module) { +(module) { "use strict"; /** @@ -47108,13 +47108,13 @@ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; -/***/ }), +/***/ }, -/***/ "./node_modules/react-base16-styling/lib/esm/colorConverters.js": +/***/ "./node_modules/react-base16-styling/lib/esm/colorConverters.js" /*!**********************************************************************!*\ !*** ./node_modules/react-base16-styling/lib/esm/colorConverters.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47145,13 +47145,13 @@ function rgb2yuv(rgb) { return [y, u, v]; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-base16-styling/lib/esm/index.js": +/***/ "./node_modules/react-base16-styling/lib/esm/index.js" /*!************************************************************!*\ !*** ./node_modules/react-base16-styling/lib/esm/index.js ***! \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47456,13 +47456,13 @@ var invertTheme = function invertTheme(theme) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/react-is/cjs/react-is.development.js": +/***/ "./node_modules/react-is/cjs/react-is.development.js" /*!***********************************************************!*\ !*** ./node_modules/react-is/cjs/react-is.development.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, exports) { +(__unused_webpack_module, exports) { "use strict"; /** @license React v16.13.1 @@ -47648,13 +47648,13 @@ exports.typeOf = typeOf; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-is/index.js": +/***/ "./node_modules/react-is/index.js" /*!****************************************!*\ !*** ./node_modules/react-is/index.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -47665,13 +47665,13 @@ if (false) // removed by dead control flow } -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/ItemRange.js": +/***/ "./node_modules/react-json-tree/lib/esm/ItemRange.js" /*!***********************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/ItemRange.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47766,13 +47766,13 @@ var ItemRange = /*#__PURE__*/function (_React$Component) { -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONArrayNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONArrayNode.js" /*!***************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONArrayNode.js ***! \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47815,13 +47815,13 @@ JSONArrayNode.propTypes = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONArrayNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONArrow.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONArrow.js" /*!***********************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONArrow.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47857,13 +47857,13 @@ JSONArrow.defaultProps = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONArrow); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONIterableNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONIterableNode.js" /*!******************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONIterableNode.js ***! \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47929,13 +47929,13 @@ var JSONIterableNode = function JSONIterableNode(_ref) { /* harmony default export */ __webpack_exports__["default"] = (JSONIterableNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONNestedNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONNestedNode.js" /*!****************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONNestedNode.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48139,13 +48139,13 @@ var JSONNestedNode = /*#__PURE__*/function (_React$Component) { -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONNode.js" /*!**********************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONNode.js ***! \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48289,13 +48289,13 @@ JSONNode.propTypes = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONObjectNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONObjectNode.js" /*!****************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONObjectNode.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48340,13 +48340,13 @@ JSONObjectNode.propTypes = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONObjectNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONValueNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONValueNode.js" /*!***************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONValueNode.js ***! \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48384,13 +48384,13 @@ JSONValueNode.propTypes = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONValueNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/createStylingFromTheme.js": +/***/ "./node_modules/react-json-tree/lib/esm/createStylingFromTheme.js" /*!************************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/createStylingFromTheme.js ***! \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48597,13 +48597,13 @@ var createStylingFromTheme = (0,react_base16_styling__WEBPACK_IMPORTED_MODULE_1_ }); /* harmony default export */ __webpack_exports__["default"] = (createStylingFromTheme); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/getCollectionEntries.js": +/***/ "./node_modules/react-json-tree/lib/esm/getCollectionEntries.js" /*!**********************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/getCollectionEntries.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48777,13 +48777,13 @@ function getCollectionEntries(type, collection, sortObjectKeys, limit) { return limitedEntries; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/index.js": +/***/ "./node_modules/react-json-tree/lib/esm/index.js" /*!*******************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/index.js ***! \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48997,13 +48997,13 @@ var JSONTree = /*#__PURE__*/function (_React$Component) { invertTheme: true }); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/objType.js": +/***/ "./node_modules/react-json-tree/lib/esm/objType.js" /*!*********************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/objType.js ***! \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49025,13 +49025,13 @@ function objType(obj) { return type; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/themes/solarized.js": +/***/ "./node_modules/react-json-tree/lib/esm/themes/solarized.js" /*!******************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/themes/solarized.js ***! \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49056,13 +49056,13 @@ __webpack_require__.r(__webpack_exports__); base0F: '#d33682' }); -/***/ }), +/***/ }, -/***/ "./node_modules/redux-actions/es/createAction.js": +/***/ "./node_modules/redux-actions/es/createAction.js" /*!*******************************************************!*\ !*** ./node_modules/redux-actions/es/createAction.js ***! \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49122,13 +49122,13 @@ function createAction(type, payloadCreator, metaCreator) { return actionCreator; } -/***/ }), +/***/ }, -/***/ "./node_modules/redux-actions/es/utils/identity.js": +/***/ "./node_modules/redux-actions/es/utils/identity.js" /*!*********************************************************!*\ !*** ./node_modules/redux-actions/es/utils/identity.js ***! \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49136,13 +49136,13 @@ __webpack_require__.r(__webpack_exports__); return value; }); -/***/ }), +/***/ }, -/***/ "./node_modules/redux-actions/es/utils/isFunction.js": +/***/ "./node_modules/redux-actions/es/utils/isFunction.js" /*!***********************************************************!*\ !*** ./node_modules/redux-actions/es/utils/isFunction.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49150,13 +49150,13 @@ __webpack_require__.r(__webpack_exports__); return typeof value === 'function'; }); -/***/ }), +/***/ }, -/***/ "./node_modules/redux-actions/es/utils/isNull.js": +/***/ "./node_modules/redux-actions/es/utils/isNull.js" /*!*******************************************************!*\ !*** ./node_modules/redux-actions/es/utils/isNull.js ***! \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49164,13 +49164,13 @@ __webpack_require__.r(__webpack_exports__); return value === null; }); -/***/ }), +/***/ }, -/***/ "./node_modules/redux-thunk/es/index.js": +/***/ "./node_modules/redux-thunk/es/index.js" /*!**********************************************!*\ !*** ./node_modules/redux-thunk/es/index.js ***! \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49207,13 +49207,13 @@ var thunk = createThunkMiddleware(); // Attach the factory function so users can thunk.withExtraArgument = createThunkMiddleware; /* harmony default export */ __webpack_exports__["default"] = (thunk); -/***/ }), +/***/ }, -/***/ "./node_modules/redux/es/redux.js": +/***/ "./node_modules/redux/es/redux.js" /*!****************************************!*\ !*** ./node_modules/redux/es/redux.js ***! \****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49934,13 +49934,13 @@ function applyMiddleware() { -/***/ }), +/***/ }, -/***/ "./node_modules/simple-swizzle/index.js": +/***/ "./node_modules/simple-swizzle/index.js" /*!**********************************************!*\ !*** ./node_modules/simple-swizzle/index.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -49974,13 +49974,13 @@ swizzle.wrap = function (fn) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/simple-swizzle/node_modules/is-arrayish/index.js": +/***/ "./node_modules/simple-swizzle/node_modules/is-arrayish/index.js" /*!***********************************************************************!*\ !*** ./node_modules/simple-swizzle/node_modules/is-arrayish/index.js ***! \***********************************************************************/ -/***/ (function(module) { +(module) { module.exports = function isArrayish(obj) { if (!obj || typeof obj === 'string') { @@ -49993,13 +49993,13 @@ module.exports = function isArrayish(obj) { }; -/***/ }), +/***/ }, -/***/ "./src/components/core/Toolbar.css": +/***/ "./src/components/core/Toolbar.css" /*!*****************************************!*\ !*** ./src/components/core/Toolbar.css ***! \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50045,13 +50045,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_Toolbar_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_Toolbar_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_Toolbar_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/CallbackGraph/CallbackGraphContainer.css": +/***/ "./src/components/error/CallbackGraph/CallbackGraphContainer.css" /*!***********************************************************************!*\ !*** ./src/components/error/CallbackGraph/CallbackGraphContainer.css ***! \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50097,13 +50097,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/FrontEnd/FrontEndError.css": +/***/ "./src/components/error/FrontEnd/FrontEndError.css" /*!*********************************************************!*\ !*** ./src/components/error/FrontEnd/FrontEndError.css ***! \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50149,13 +50149,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_FrontEndError_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_FrontEndError_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_FrontEndError_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/Percy.css": +/***/ "./src/components/error/Percy.css" /*!****************************************!*\ !*** ./src/components/error/Percy.css ***! \****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50201,13 +50201,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_Percy_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_Percy_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_Percy_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/menu/DebugMenu.css": +/***/ "./src/components/error/menu/DebugMenu.css" /*!*************************************************!*\ !*** ./src/components/error/menu/DebugMenu.css ***! \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50253,13 +50253,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_DebugMenu_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_DebugMenu_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_DebugMenu_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/menu/PlotlyCloud.css": +/***/ "./src/components/error/menu/PlotlyCloud.css" /*!***************************************************!*\ !*** ./src/components/error/menu/PlotlyCloud.css ***! \***************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50305,13 +50305,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_PlotlyCloud_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_PlotlyCloud_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_PlotlyCloud_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/menu/VersionInfo.css": +/***/ "./src/components/error/menu/VersionInfo.css" /*!***************************************************!*\ !*** ./src/components/error/menu/VersionInfo.css ***! \***************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50357,13 +50357,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_VersionInfo_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_VersionInfo_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_VersionInfo_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js" /*!****************************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! \****************************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50451,13 +50451,13 @@ module.exports = function (list, options) { }; }; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js": +/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js" /*!********************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***! \********************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50495,13 +50495,13 @@ function insertBySelector(insert, style) { } module.exports = insertBySelector; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js": +/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js" /*!**********************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***! \**********************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50515,13 +50515,13 @@ function insertStyleElement(options) { } module.exports = insertStyleElement; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js": +/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js" /*!**********************************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***! \**********************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -50535,13 +50535,13 @@ function setAttributesWithoutAttributes(styleElement) { } module.exports = setAttributesWithoutAttributes; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js": +/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js" /*!***************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***! \***************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50606,13 +50606,13 @@ function domAPI(options) { } module.exports = domAPI; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js": +/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js" /*!*********************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***! \*********************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50630,13 +50630,13 @@ function styleTagTransform(css, styleElement) { } module.exports = styleTagTransform; -/***/ }), +/***/ }, -/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js": +/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js" /*!**********************************************************************************************!*\ !*** ./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js ***! \**********************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { "use strict"; /** @@ -50736,13 +50736,13 @@ module.exports = styleTagTransform; })(); -/***/ }), +/***/ }, -/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js": +/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js" /*!************************************************************************************************************!*\ !*** ./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js ***! \************************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { "use strict"; /** @@ -50844,13 +50844,13 @@ module.exports = styleTagTransform; })(); -/***/ }), +/***/ }, -/***/ "./node_modules/use-sync-external-store/shim/index.js": +/***/ "./node_modules/use-sync-external-store/shim/index.js" /*!************************************************************!*\ !*** ./node_modules/use-sync-external-store/shim/index.js ***! \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -50861,13 +50861,13 @@ if (false) // removed by dead control flow } -/***/ }), +/***/ }, -/***/ "./node_modules/use-sync-external-store/shim/with-selector.js": +/***/ "./node_modules/use-sync-external-store/shim/with-selector.js" /*!********************************************************************!*\ !*** ./node_modules/use-sync-external-store/shim/with-selector.js ***! \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -50878,46 +50878,46 @@ if (false) // removed by dead control flow } -/***/ }), +/***/ }, -/***/ "prop-types": +/***/ "prop-types" /*!****************************!*\ !*** external "PropTypes" ***! \****************************/ -/***/ (function(module) { +(module) { "use strict"; module.exports = window["PropTypes"]; -/***/ }), +/***/ }, -/***/ "react": +/***/ "react" /*!************************!*\ !*** external "React" ***! \************************/ -/***/ (function(module) { +(module) { "use strict"; module.exports = window["React"]; -/***/ }), +/***/ }, -/***/ "react-dom": +/***/ "react-dom" /*!***************************!*\ !*** external "ReactDOM" ***! \***************************/ -/***/ (function(module) { +(module) { "use strict"; module.exports = window["ReactDOM"]; -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js" /*!*********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50931,13 +50931,13 @@ function _arrayLikeToArray(r, a) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50949,13 +50949,13 @@ function _arrayWithHoles(r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js" /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50969,13 +50969,13 @@ function _arrayWithoutHoles(r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js" /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50988,13 +50988,13 @@ function _assertThisInitialized(e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51006,13 +51006,13 @@ function _classCallCheck(a, n) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js" /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51034,13 +51034,13 @@ function _createClass(e, r, t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51059,13 +51059,13 @@ function _defineProperty(e, r, t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js" /*!************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***! \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51083,13 +51083,13 @@ function _extends() { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51103,13 +51103,13 @@ function _getPrototypeOf(t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js" /*!*************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***! \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51132,13 +51132,13 @@ function _inherits(t, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js" /*!********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51150,13 +51150,13 @@ function _iterableToArray(r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js" /*!*************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***! \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51192,13 +51192,13 @@ function _iterableToArrayLimit(r, l) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js" /*!********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***! \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51210,13 +51210,13 @@ function _nonIterableRest() { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js" /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51228,13 +51228,13 @@ function _nonIterableSpread() { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js" /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js ***! \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51266,13 +51266,13 @@ function _objectSpread2(e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js" /*!****************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js ***! \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51294,13 +51294,13 @@ function _objectWithoutProperties(e, t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js" /*!*********************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js ***! \*********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51318,13 +51318,13 @@ function _objectWithoutPropertiesLoose(r, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js" /*!******************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***! \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51342,13 +51342,13 @@ function _possibleConstructorReturn(t, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51362,13 +51362,13 @@ function _setPrototypeOf(t, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js" /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***! \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51388,13 +51388,13 @@ function _slicedToArray(r, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js" /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51414,13 +51414,13 @@ function _toConsumableArray(r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js" /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51441,13 +51441,13 @@ function toPrimitive(t, r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js" /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51464,13 +51464,13 @@ function toPropertyKey(t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js" /*!***********************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51488,13 +51488,13 @@ function _typeof(o) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js" /*!*******************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51512,13 +51512,13 @@ function _unsupportedIterableToArray(r, a) { } -/***/ }), +/***/ }, -/***/ "./node_modules/cookie/dist/index.js": +/***/ "./node_modules/cookie/dist/index.js" /*!*******************************************!*\ !*** ./node_modules/cookie/dist/index.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51859,13 +51859,13 @@ function defaultEncode(str) { return cookieOctetRegExp.test(str) ? str : encodeURIComponent(str); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/all.js": +/***/ "./node_modules/ramda/es/all.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/all.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51912,13 +51912,13 @@ var all = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa })); /* harmony default export */ __webpack_exports__["default"] = (all); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/always.js": +/***/ "./node_modules/ramda/es/always.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/always.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51951,13 +51951,13 @@ var always = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (always); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/any.js": +/***/ "./node_modules/ramda/es/any.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/any.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52005,13 +52005,13 @@ var any = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa })); /* harmony default export */ __webpack_exports__["default"] = (any); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/ap.js": +/***/ "./node_modules/ramda/es/ap.js" /*!*************************************!*\ !*** ./node_modules/ramda/es/ap.js ***! \*************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52059,13 +52059,13 @@ var ap = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["defau }); /* harmony default export */ __webpack_exports__["default"] = (ap); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/append.js": +/***/ "./node_modules/ramda/es/append.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/append.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52099,13 +52099,13 @@ var append = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["d }); /* harmony default export */ __webpack_exports__["default"] = (append); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/assoc.js": +/***/ "./node_modules/ramda/es/assoc.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/assoc.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52140,13 +52140,13 @@ var assoc = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (assoc); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/assocPath.js": +/***/ "./node_modules/ramda/es/assocPath.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/assocPath.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52199,13 +52199,13 @@ var assocPath = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ }); /* harmony default export */ __webpack_exports__["default"] = (assocPath); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/bind.js": +/***/ "./node_modules/ramda/es/bind.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/bind.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52243,13 +52243,13 @@ var bind = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["def }); /* harmony default export */ __webpack_exports__["default"] = (bind); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/clone.js": +/***/ "./node_modules/ramda/es/clone.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/clone.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52290,13 +52290,13 @@ var clone = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["de }); /* harmony default export */ __webpack_exports__["default"] = (clone); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/comparator.js": +/***/ "./node_modules/ramda/es/comparator.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/comparator.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52333,13 +52333,13 @@ var comparator = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0_ }); /* harmony default export */ __webpack_exports__["default"] = (comparator); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/concat.js": +/***/ "./node_modules/ramda/es/concat.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/concat.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52405,13 +52405,13 @@ var concat = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (concat); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/converge.js": +/***/ "./node_modules/ramda/es/converge.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/converge.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52467,13 +52467,13 @@ var converge = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__[ }); /* harmony default export */ __webpack_exports__["default"] = (converge); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/curryN.js": +/***/ "./node_modules/ramda/es/curryN.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/curryN.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52536,13 +52536,13 @@ var curryN = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__["d }); /* harmony default export */ __webpack_exports__["default"] = (curryN); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/defaultTo.js": +/***/ "./node_modules/ramda/es/defaultTo.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/defaultTo.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52577,13 +52577,13 @@ var defaultTo = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ }); /* harmony default export */ __webpack_exports__["default"] = (defaultTo); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/difference.js": +/***/ "./node_modules/ramda/es/difference.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/difference.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52631,13 +52631,13 @@ var difference = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0_ }); /* harmony default export */ __webpack_exports__["default"] = (difference); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/dissoc.js": +/***/ "./node_modules/ramda/es/dissoc.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/dissoc.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52667,13 +52667,13 @@ var dissoc = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (dissoc); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/dissocPath.js": +/***/ "./node_modules/ramda/es/dissocPath.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/dissocPath.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52749,13 +52749,13 @@ var dissocPath = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0_ }); /* harmony default export */ __webpack_exports__["default"] = (dissocPath); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/empty.js": +/***/ "./node_modules/ramda/es/empty.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/empty.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52805,13 +52805,13 @@ var empty = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (empty); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/equals.js": +/***/ "./node_modules/ramda/es/equals.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/equals.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52850,13 +52850,13 @@ var equals = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (equals); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/evolve.js": +/***/ "./node_modules/ramda/es/evolve.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/evolve.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52910,13 +52910,13 @@ var evolve = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (evolve); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/filter.js": +/***/ "./node_modules/ramda/es/filter.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/filter.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52975,13 +52975,13 @@ var filter = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["d })); /* harmony default export */ __webpack_exports__["default"] = (filter); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/find.js": +/***/ "./node_modules/ramda/es/find.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/find.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53028,13 +53028,13 @@ var find = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def })); /* harmony default export */ __webpack_exports__["default"] = (find); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/findIndex.js": +/***/ "./node_modules/ramda/es/findIndex.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/findIndex.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53080,13 +53080,13 @@ var findIndex = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ })); /* harmony default export */ __webpack_exports__["default"] = (findIndex); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/flatten.js": +/***/ "./node_modules/ramda/es/flatten.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/flatten.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53115,13 +53115,13 @@ __webpack_require__.r(__webpack_exports__); var flatten = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(/*#__PURE__*/(0,_internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(true)); /* harmony default export */ __webpack_exports__["default"] = (flatten); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/forEach.js": +/***/ "./node_modules/ramda/es/forEach.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/forEach.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53175,13 +53175,13 @@ var forEach = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__[" })); /* harmony default export */ __webpack_exports__["default"] = (forEach); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/forEachObjIndexed.js": +/***/ "./node_modules/ramda/es/forEachObjIndexed.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/forEachObjIndexed.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53224,13 +53224,13 @@ var forEachObjIndexed = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MO }); /* harmony default export */ __webpack_exports__["default"] = (forEachObjIndexed); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/groupBy.js": +/***/ "./node_modules/ramda/es/groupBy.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/groupBy.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53288,13 +53288,13 @@ var groupBy = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__[" }, []))); /* harmony default export */ __webpack_exports__["default"] = (groupBy); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/has.js": +/***/ "./node_modules/ramda/es/has.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/has.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53332,13 +53332,13 @@ var has = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (has); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/hasPath.js": +/***/ "./node_modules/ramda/es/hasPath.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/hasPath.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53388,13 +53388,13 @@ var hasPath = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (hasPath); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/identity.js": +/***/ "./node_modules/ramda/es/identity.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/identity.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53425,13 +53425,13 @@ __webpack_require__.r(__webpack_exports__); var identity = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_identity_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ __webpack_exports__["default"] = (identity); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/includes.js": +/***/ "./node_modules/ramda/es/includes.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/includes.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53465,13 +53465,13 @@ __webpack_require__.r(__webpack_exports__); var includes = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"]); /* harmony default export */ __webpack_exports__["default"] = (includes); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/indexOf.js": +/***/ "./node_modules/ramda/es/indexOf.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/indexOf.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53506,13 +53506,13 @@ var indexOf = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (indexOf); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/insert.js": +/***/ "./node_modules/ramda/es/insert.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/insert.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53546,13 +53546,13 @@ var insert = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (insert); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_Set.js": +/***/ "./node_modules/ramda/es/internal/_Set.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/internal/_Set.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53725,13 +53725,13 @@ function hasOrAdd(item, shouldAdd, set) { // A simple Set type that honours R.equals semantics /* harmony default export */ __webpack_exports__["default"] = (_Set); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_arity.js": +/***/ "./node_modules/ramda/es/internal/_arity.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_arity.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53790,13 +53790,13 @@ function _arity(n, fn) { } } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_arrayFromIterator.js": +/***/ "./node_modules/ramda/es/internal/_arrayFromIterator.js" /*!**************************************************************!*\ !*** ./node_modules/ramda/es/internal/_arrayFromIterator.js ***! \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53812,13 +53812,13 @@ function _arrayFromIterator(iter) { return list; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_arrayReduce.js": +/***/ "./node_modules/ramda/es/internal/_arrayReduce.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_arrayReduce.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53835,13 +53835,13 @@ function _arrayReduce(reducer, acc, list) { return acc; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_assoc.js": +/***/ "./node_modules/ramda/es/internal/_assoc.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_assoc.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53879,13 +53879,13 @@ function _assoc(prop, val, obj) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_checkForMethod.js": +/***/ "./node_modules/ramda/es/internal/_checkForMethod.js" /*!***********************************************************!*\ !*** ./node_modules/ramda/es/internal/_checkForMethod.js ***! \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53916,13 +53916,13 @@ function _checkForMethod(methodname, fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_clone.js": +/***/ "./node_modules/ramda/es/internal/_clone.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_clone.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54046,13 +54046,13 @@ var _ObjectMap = /*#__PURE__*/function () { return _ObjectMap; }(); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_cloneRegExp.js": +/***/ "./node_modules/ramda/es/internal/_cloneRegExp.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_cloneRegExp.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54063,13 +54063,13 @@ function _cloneRegExp(pattern) { return new RegExp(pattern.source, pattern.flags ? pattern.flags : (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : '') + (pattern.dotAll ? 's' : '')); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_complement.js": +/***/ "./node_modules/ramda/es/internal/_complement.js" /*!*******************************************************!*\ !*** ./node_modules/ramda/es/internal/_complement.js ***! \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54082,13 +54082,13 @@ function _complement(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_concat.js": +/***/ "./node_modules/ramda/es/internal/_concat.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_concat.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54126,13 +54126,13 @@ function _concat(set1, set2) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_createReduce.js": +/***/ "./node_modules/ramda/es/internal/_createReduce.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_createReduce.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54166,13 +54166,13 @@ function _createReduce(arrayReduce, methodReduce, iterableReduce) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_curry1.js": +/***/ "./node_modules/ramda/es/internal/_curry1.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_curry1.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54200,13 +54200,13 @@ function _curry1(fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_curry2.js": +/***/ "./node_modules/ramda/es/internal/_curry2.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_curry2.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54245,13 +54245,13 @@ function _curry2(fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_curry3.js": +/***/ "./node_modules/ramda/es/internal/_curry3.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_curry3.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54308,13 +54308,13 @@ function _curry3(fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_curryN.js": +/***/ "./node_modules/ramda/es/internal/_curryN.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_curryN.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54363,13 +54363,13 @@ function _curryN(length, received, fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_dispatchable.js": +/***/ "./node_modules/ramda/es/internal/_dispatchable.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_dispatchable.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54419,13 +54419,13 @@ function _dispatchable(methodNames, transducerCreator, fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_dissoc.js": +/***/ "./node_modules/ramda/es/internal/_dissoc.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_dissoc.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54462,13 +54462,13 @@ function _dissoc(prop, obj) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_equals.js": +/***/ "./node_modules/ramda/es/internal/_equals.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_equals.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54615,13 +54615,13 @@ function _equals(a, b, stackA, stackB) { return true; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_filter.js": +/***/ "./node_modules/ramda/es/internal/_filter.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_filter.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54641,13 +54641,13 @@ function _filter(fn, list) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_functionName.js": +/***/ "./node_modules/ramda/es/internal/_functionName.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_functionName.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54660,13 +54660,13 @@ function _functionName(f) { return match == null ? '' : match[1]; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_has.js": +/***/ "./node_modules/ramda/es/internal/_has.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/internal/_has.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54677,13 +54677,13 @@ function _has(prop, obj) { return Object.prototype.hasOwnProperty.call(obj, prop); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_identity.js": +/***/ "./node_modules/ramda/es/internal/_identity.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_identity.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54694,13 +54694,13 @@ function _identity(x) { return x; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_includes.js": +/***/ "./node_modules/ramda/es/internal/_includes.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_includes.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54713,13 +54713,13 @@ function _includes(a, list) { return (0,_indexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list, a, 0) >= 0; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_includesWith.js": +/***/ "./node_modules/ramda/es/internal/_includesWith.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_includesWith.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54738,13 +54738,13 @@ function _includesWith(pred, x, list) { return false; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_indexOf.js": +/***/ "./node_modules/ramda/es/internal/_indexOf.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_indexOf.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54808,13 +54808,13 @@ function _indexOf(list, a, idx) { return -1; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isArguments.js": +/***/ "./node_modules/ramda/es/internal/_isArguments.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isArguments.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54830,13 +54830,13 @@ var _isArguments = /*#__PURE__*/function () { }(); /* harmony default export */ __webpack_exports__["default"] = (_isArguments); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isArray.js": +/***/ "./node_modules/ramda/es/internal/_isArray.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_isArray.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54856,13 +54856,13 @@ __webpack_require__.r(__webpack_exports__); return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]'; }); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isArrayLike.js": +/***/ "./node_modules/ramda/es/internal/_isArrayLike.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isArrayLike.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54915,13 +54915,13 @@ var _isArrayLike = /*#__PURE__*/(0,_curry1_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (_isArrayLike); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isFunction.js": +/***/ "./node_modules/ramda/es/internal/_isFunction.js" /*!*******************************************************!*\ !*** ./node_modules/ramda/es/internal/_isFunction.js ***! \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54933,13 +54933,13 @@ function _isFunction(x) { return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isInteger.js": +/***/ "./node_modules/ramda/es/internal/_isInteger.js" /*!******************************************************!*\ !*** ./node_modules/ramda/es/internal/_isInteger.js ***! \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54955,13 +54955,13 @@ __webpack_require__.r(__webpack_exports__); return n << 0 === n; }); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isObject.js": +/***/ "./node_modules/ramda/es/internal/_isObject.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_isObject.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54972,13 +54972,13 @@ function _isObject(x) { return Object.prototype.toString.call(x) === '[object Object]'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isPlaceholder.js": +/***/ "./node_modules/ramda/es/internal/_isPlaceholder.js" /*!**********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isPlaceholder.js ***! \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54990,13 +54990,13 @@ function _isPlaceholder(a) { return a != null && _typeof(a) === 'object' && a['@@functional/placeholder'] === true; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isString.js": +/***/ "./node_modules/ramda/es/internal/_isString.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_isString.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55007,13 +55007,13 @@ function _isString(x) { return Object.prototype.toString.call(x) === '[object String]'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isTransformer.js": +/***/ "./node_modules/ramda/es/internal/_isTransformer.js" /*!**********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isTransformer.js ***! \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55024,13 +55024,13 @@ function _isTransformer(obj) { return obj != null && typeof obj['@@transducer/step'] === 'function'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isTypedArray.js": +/***/ "./node_modules/ramda/es/internal/_isTypedArray.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isTypedArray.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55056,13 +55056,13 @@ function _isTypedArray(val) { return type === '[object Uint8ClampedArray]' || type === '[object Int8Array]' || type === '[object Uint8Array]' || type === '[object Int16Array]' || type === '[object Uint16Array]' || type === '[object Int32Array]' || type === '[object Uint32Array]' || type === '[object Float32Array]' || type === '[object Float64Array]' || type === '[object BigInt64Array]' || type === '[object BigUint64Array]'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_makeFlat.js": +/***/ "./node_modules/ramda/es/internal/_makeFlat.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_makeFlat.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55102,13 +55102,13 @@ function _makeFlat(recursive) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_map.js": +/***/ "./node_modules/ramda/es/internal/_map.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/internal/_map.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55126,13 +55126,13 @@ function _map(fn, functor) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_nth.js": +/***/ "./node_modules/ramda/es/internal/_nth.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/internal/_nth.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55146,13 +55146,13 @@ function _nth(offset, list) { return (0,_isString_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list) ? list.charAt(idx) : list[idx]; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_objectAssign.js": +/***/ "./node_modules/ramda/es/internal/_objectAssign.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_objectAssign.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55182,13 +55182,13 @@ function _objectAssign(target) { } /* harmony default export */ __webpack_exports__["default"] = (typeof Object.assign === 'function' ? Object.assign : _objectAssign); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_objectIs.js": +/***/ "./node_modules/ramda/es/internal/_objectIs.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_objectIs.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55206,13 +55206,13 @@ function _objectIs(a, b) { } /* harmony default export */ __webpack_exports__["default"] = (typeof Object.is === 'function' ? Object.is : _objectIs); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_path.js": +/***/ "./node_modules/ramda/es/internal/_path.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/internal/_path.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55239,13 +55239,13 @@ function _path(pathAr, obj) { return val; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_quote.js": +/***/ "./node_modules/ramda/es/internal/_quote.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_quote.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55258,13 +55258,13 @@ function _quote(s) { return '"' + escaped.replace(/"/g, '\\"') + '"'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_reduce.js": +/***/ "./node_modules/ramda/es/internal/_reduce.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_reduce.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55286,13 +55286,13 @@ function _methodReduce(reducer, acc, obj, methodName) { var _reduce = /*#__PURE__*/(0,_createReduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__["default"], _methodReduce, _iterableReduce); /* harmony default export */ __webpack_exports__["default"] = (_reduce); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_reduced.js": +/***/ "./node_modules/ramda/es/internal/_reduced.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_reduced.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55306,13 +55306,13 @@ function _reduced(x) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_toISOString.js": +/***/ "./node_modules/ramda/es/internal/_toISOString.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_toISOString.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55329,13 +55329,13 @@ var _toISOString = typeof Date.prototype.toISOString === 'function' ? function _ }; /* harmony default export */ __webpack_exports__["default"] = (_toISOString); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_toString.js": +/***/ "./node_modules/ramda/es/internal/_toString.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_toString.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55401,13 +55401,13 @@ function _toString(x, seen) { } } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xArrayReduce.js": +/***/ "./node_modules/ramda/es/internal/_xArrayReduce.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_xArrayReduce.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55428,13 +55428,13 @@ function _xArrayReduce(xf, acc, list) { return xf['@@transducer/result'](acc); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xReduce.js": +/***/ "./node_modules/ramda/es/internal/_xReduce.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_xReduce.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55462,13 +55462,13 @@ function _xMethodReduce(xf, acc, obj, methodName) { var _xReduce = /*#__PURE__*/(0,_createReduce_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_xArrayReduce_js__WEBPACK_IMPORTED_MODULE_1__["default"], _xMethodReduce, _xIterableReduce); /* harmony default export */ __webpack_exports__["default"] = (_xReduce); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xall.js": +/***/ "./node_modules/ramda/es/internal/_xall.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/internal/_xall.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55507,13 +55507,13 @@ function _xall(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xany.js": +/***/ "./node_modules/ramda/es/internal/_xany.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/internal/_xany.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55552,13 +55552,13 @@ function _xany(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xfBase.js": +/***/ "./node_modules/ramda/es/internal/_xfBase.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_xfBase.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55571,13 +55571,13 @@ __webpack_require__.r(__webpack_exports__); } }); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xfilter.js": +/***/ "./node_modules/ramda/es/internal/_xfilter.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_xfilter.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55604,13 +55604,13 @@ function _xfilter(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xfind.js": +/***/ "./node_modules/ramda/es/internal/_xfind.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_xfind.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55649,13 +55649,13 @@ function _xfind(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xfindIndex.js": +/***/ "./node_modules/ramda/es/internal/_xfindIndex.js" /*!*******************************************************!*\ !*** ./node_modules/ramda/es/internal/_xfindIndex.js ***! \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55696,13 +55696,13 @@ function _xfindIndex(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xmap.js": +/***/ "./node_modules/ramda/es/internal/_xmap.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/internal/_xmap.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55727,13 +55727,13 @@ var _xmap = function _xmap(f) { }; /* harmony default export */ __webpack_exports__["default"] = (_xmap); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xreduceBy.js": +/***/ "./node_modules/ramda/es/internal/_xreduceBy.js" /*!******************************************************!*\ !*** ./node_modules/ramda/es/internal/_xreduceBy.js ***! \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55783,13 +55783,13 @@ function _xreduceBy(valueFn, valueAcc, keyFn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xtake.js": +/***/ "./node_modules/ramda/es/internal/_xtake.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_xtake.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55821,13 +55821,13 @@ function _xtake(n) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xuniqBy.js": +/***/ "./node_modules/ramda/es/internal/_xuniqBy.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_xuniqBy.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55857,13 +55857,13 @@ function _xuniqBy(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xwrap.js": +/***/ "./node_modules/ramda/es/internal/_xwrap.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_xwrap.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55889,13 +55889,13 @@ function _xwrap(fn) { return new XWrap(fn); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/intersection.js": +/***/ "./node_modules/ramda/es/intersection.js" /*!***********************************************!*\ !*** ./node_modules/ramda/es/intersection.js ***! \***********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55934,13 +55934,13 @@ var intersection = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_ }); /* harmony default export */ __webpack_exports__["default"] = (intersection); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/invoker.js": +/***/ "./node_modules/ramda/es/invoker.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/invoker.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56006,13 +56006,13 @@ var invoker = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (invoker); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/is.js": +/***/ "./node_modules/ramda/es/is.js" /*!*************************************!*\ !*** ./node_modules/ramda/es/is.js ***! \*************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56049,13 +56049,13 @@ var is = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defau }); /* harmony default export */ __webpack_exports__["default"] = (is); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/isEmpty.js": +/***/ "./node_modules/ramda/es/isEmpty.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/isEmpty.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56093,13 +56093,13 @@ var isEmpty = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (isEmpty); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/isNil.js": +/***/ "./node_modules/ramda/es/isNil.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/isNil.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56128,13 +56128,13 @@ var isNil = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (isNil); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/join.js": +/***/ "./node_modules/ramda/es/join.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/join.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56163,13 +56163,13 @@ __webpack_require__.r(__webpack_exports__); var join = /*#__PURE__*/(0,_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'join'); /* harmony default export */ __webpack_exports__["default"] = (join); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/juxt.js": +/***/ "./node_modules/ramda/es/juxt.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/juxt.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56202,13 +56202,13 @@ var juxt = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (juxt); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/keys.js": +/***/ "./node_modules/ramda/es/keys.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/keys.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56287,13 +56287,13 @@ var keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/( }); /* harmony default export */ __webpack_exports__["default"] = (keys); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/lens.js": +/***/ "./node_modules/ramda/es/lens.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/lens.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56336,13 +56336,13 @@ var lens = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (lens); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/lensPath.js": +/***/ "./node_modules/ramda/es/lensPath.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/lensPath.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56387,13 +56387,13 @@ var lensPath = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[ }); /* harmony default export */ __webpack_exports__["default"] = (lensPath); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/lt.js": +/***/ "./node_modules/ramda/es/lt.js" /*!*************************************!*\ !*** ./node_modules/ramda/es/lt.js ***! \*************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56426,13 +56426,13 @@ var lt = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defau }); /* harmony default export */ __webpack_exports__["default"] = (lt); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/map.js": +/***/ "./node_modules/ramda/es/map.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/map.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56503,13 +56503,13 @@ var map = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["defa })); /* harmony default export */ __webpack_exports__["default"] = (map); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mapObjIndexed.js": +/***/ "./node_modules/ramda/es/mapObjIndexed.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/mapObjIndexed.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56549,13 +56549,13 @@ var mapObjIndexed = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE }); /* harmony default export */ __webpack_exports__["default"] = (mapObjIndexed); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/max.js": +/***/ "./node_modules/ramda/es/max.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/max.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56609,13 +56609,13 @@ var max = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (max); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/memoizeWith.js": +/***/ "./node_modules/ramda/es/memoizeWith.js" /*!**********************************************!*\ !*** ./node_modules/ramda/es/memoizeWith.js ***! \**********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56676,13 +56676,13 @@ var memoizeWith = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1 }); /* harmony default export */ __webpack_exports__["default"] = (memoizeWith); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeDeepRight.js": +/***/ "./node_modules/ramda/es/mergeDeepRight.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/mergeDeepRight.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56719,13 +56719,13 @@ var mergeDeepRight = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODUL }); /* harmony default export */ __webpack_exports__["default"] = (mergeDeepRight); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeDeepWithKey.js": +/***/ "./node_modules/ramda/es/mergeDeepWithKey.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/mergeDeepWithKey.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56775,13 +56775,13 @@ var mergeDeepWithKey = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MOD }); /* harmony default export */ __webpack_exports__["default"] = (mergeDeepWithKey); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeLeft.js": +/***/ "./node_modules/ramda/es/mergeLeft.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/mergeLeft.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56818,13 +56818,13 @@ var mergeLeft = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ }); /* harmony default export */ __webpack_exports__["default"] = (mergeLeft); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeRight.js": +/***/ "./node_modules/ramda/es/mergeRight.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/mergeRight.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56861,13 +56861,13 @@ var mergeRight = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1_ }); /* harmony default export */ __webpack_exports__["default"] = (mergeRight); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeWith.js": +/***/ "./node_modules/ramda/es/mergeWith.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/mergeWith.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56906,13 +56906,13 @@ var mergeWith = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ }); /* harmony default export */ __webpack_exports__["default"] = (mergeWith); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeWithKey.js": +/***/ "./node_modules/ramda/es/mergeWithKey.js" /*!***********************************************!*\ !*** ./node_modules/ramda/es/mergeWithKey.js ***! \***********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56965,13 +56965,13 @@ var mergeWithKey = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_ }); /* harmony default export */ __webpack_exports__["default"] = (mergeWithKey); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/omit.js": +/***/ "./node_modules/ramda/es/omit.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/omit.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57012,13 +57012,13 @@ var omit = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (omit); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/once.js": +/***/ "./node_modules/ramda/es/once.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/once.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57060,13 +57060,13 @@ var once = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["def }); /* harmony default export */ __webpack_exports__["default"] = (once); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/over.js": +/***/ "./node_modules/ramda/es/over.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/over.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57116,13 +57116,13 @@ var over = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (over); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/partition.js": +/***/ "./node_modules/ramda/es/partition.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/partition.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57160,13 +57160,13 @@ __webpack_require__.r(__webpack_exports__); var partition = /*#__PURE__*/(0,_juxt_js__WEBPACK_IMPORTED_MODULE_1__["default"])([_filter_js__WEBPACK_IMPORTED_MODULE_0__["default"], _reject_js__WEBPACK_IMPORTED_MODULE_2__["default"]]); /* harmony default export */ __webpack_exports__["default"] = (partition); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/path.js": +/***/ "./node_modules/ramda/es/path.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/path.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57203,13 +57203,13 @@ __webpack_require__.r(__webpack_exports__); var path = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_path_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ __webpack_exports__["default"] = (path); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/pathOr.js": +/***/ "./node_modules/ramda/es/pathOr.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/pathOr.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57244,13 +57244,13 @@ var pathOr = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (pathOr); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/pick.js": +/***/ "./node_modules/ramda/es/pick.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/pick.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57288,13 +57288,13 @@ var pick = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (pick); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/pickBy.js": +/***/ "./node_modules/ramda/es/pickBy.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/pickBy.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57332,13 +57332,13 @@ var pickBy = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (pickBy); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/pluck.js": +/***/ "./node_modules/ramda/es/pluck.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/pluck.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57381,13 +57381,13 @@ var pluck = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (pluck); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/prepend.js": +/***/ "./node_modules/ramda/es/prepend.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/prepend.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57418,13 +57418,13 @@ var prepend = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__[" }); /* harmony default export */ __webpack_exports__["default"] = (prepend); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/prop.js": +/***/ "./node_modules/ramda/es/prop.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/prop.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57465,13 +57465,13 @@ var prop = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (prop); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/propEq.js": +/***/ "./node_modules/ramda/es/propEq.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/propEq.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57514,13 +57514,13 @@ var propEq = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (propEq); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/props.js": +/***/ "./node_modules/ramda/es/props.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/props.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57557,13 +57557,13 @@ var props = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (props); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/reduce.js": +/***/ "./node_modules/ramda/es/reduce.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/reduce.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57631,13 +57631,13 @@ var reduce = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (reduce); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/reduceBy.js": +/***/ "./node_modules/ramda/es/reduceBy.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/reduceBy.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57716,13 +57716,13 @@ var reduceBy = /*#__PURE__*/(0,_internal_curryN_js__WEBPACK_IMPORTED_MODULE_1__[ })); /* harmony default export */ __webpack_exports__["default"] = (reduceBy); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/reject.js": +/***/ "./node_modules/ramda/es/reject.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/reject.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57762,13 +57762,13 @@ var reject = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["d }); /* harmony default export */ __webpack_exports__["default"] = (reject); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/remove.js": +/***/ "./node_modules/ramda/es/remove.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/remove.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57802,13 +57802,13 @@ var remove = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (remove); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/reverse.js": +/***/ "./node_modules/ramda/es/reverse.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/reverse.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57846,13 +57846,13 @@ var reverse = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (reverse); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/set.js": +/***/ "./node_modules/ramda/es/set.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/set.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57890,13 +57890,13 @@ var set = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (set); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/slice.js": +/***/ "./node_modules/ramda/es/slice.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/slice.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57934,13 +57934,13 @@ var slice = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["de })); /* harmony default export */ __webpack_exports__["default"] = (slice); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/sort.js": +/***/ "./node_modules/ramda/es/sort.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/sort.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57973,13 +57973,13 @@ var sort = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (sort); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/startsWith.js": +/***/ "./node_modules/ramda/es/startsWith.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/startsWith.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58017,13 +58017,13 @@ var startsWith = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0_ }); /* harmony default export */ __webpack_exports__["default"] = (startsWith); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/take.js": +/***/ "./node_modules/ramda/es/take.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/take.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58084,13 +58084,13 @@ var take = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def })); /* harmony default export */ __webpack_exports__["default"] = (take); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/toPairs.js": +/***/ "./node_modules/ramda/es/toPairs.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/toPairs.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58128,13 +58128,13 @@ var toPairs = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (toPairs); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/toString.js": +/***/ "./node_modules/ramda/es/toString.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/toString.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58184,13 +58184,13 @@ var toString = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[ }); /* harmony default export */ __webpack_exports__["default"] = (toString); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/type.js": +/***/ "./node_modules/ramda/es/type.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/type.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58229,13 +58229,13 @@ var type = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (type); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/uniq.js": +/***/ "./node_modules/ramda/es/uniq.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/uniq.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58264,13 +58264,13 @@ __webpack_require__.r(__webpack_exports__); var uniq = /*#__PURE__*/(0,_uniqBy_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_identity_js__WEBPACK_IMPORTED_MODULE_0__["default"]); /* harmony default export */ __webpack_exports__["default"] = (uniq); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/uniqBy.js": +/***/ "./node_modules/ramda/es/uniqBy.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/uniqBy.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58320,13 +58320,13 @@ var uniqBy = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["d })); /* harmony default export */ __webpack_exports__["default"] = (uniqBy); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/values.js": +/***/ "./node_modules/ramda/es/values.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/values.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58365,13 +58365,13 @@ var values = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (values); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/view.js": +/***/ "./node_modules/ramda/es/view.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/view.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58416,13 +58416,13 @@ var view = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (view); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/zip.js": +/***/ "./node_modules/ramda/es/zip.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/zip.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58460,13 +58460,13 @@ var zip = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (zip); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/zipObj.js": +/***/ "./node_modules/ramda/es/zipObj.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/zipObj.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58502,13 +58502,13 @@ var zipObj = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (zipObj); -/***/ }), +/***/ }, -/***/ "./node_modules/cytoscape/dist/cytoscape.esm.mjs": +/***/ "./node_modules/cytoscape/dist/cytoscape.esm.mjs" /*!*******************************************************!*\ !*** ./node_modules/cytoscape/dist/cytoscape.esm.mjs ***! \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -94223,7 +94223,7 @@ cytoscape.stylesheet = cytoscape.Stylesheet = _Stylesheet; -/***/ }) +/***/ } /******/ }); /************************************************************************/ diff --git a/dash/dash-renderer/build/dash_renderer.min.js b/dash/dash-renderer/build/dash_renderer.min.js index c239a9a8f1..8a67f3902f 100644 --- a/dash/dash-renderer/build/dash_renderer.min.js +++ b/dash/dash-renderer/build/dash_renderer.min.js @@ -1,2 +1,2 @@ /*! For license information please see dash_renderer.min.js.LICENSE.txt */ -!function(){var t={296:function(t,e,r){var n;window,t.exports=(n=r(609),function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e){t.exports=n},function(t,e,r){"use strict";r.r(e),r.d(e,"asyncDecorator",function(){return a}),r.d(e,"inheritAsyncDecorator",function(){return u}),r.d(e,"isReady",function(){return c}),r.d(e,"History",function(){return f});var n=r(0);function o(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var a=t.apply(e,r);function u(t){o(a,n,i,u,c,"next",t)}function c(t){o(a,n,i,u,c,"throw",t)}u(void 0)})}}var a=function(t,e){var r,o={isReady:new Promise(function(t){r=t}),get:Object(n.lazy)(function(){return Promise.resolve(e()).then(function(t){return setTimeout(i(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r(!0);case 2:o.isReady=!0;case 3:case"end":return t.stop()}},t)})),0),t})})};return Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},u=function(t,e){Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return c(e)}})},c=function(t){return t&&t._dashprivate_isLazyComponentReady};function s(t,e){for(var r=0;r=19&&Symbol.for("react.element")!==Symbol.for("react.transitional.element")){var r=Symbol.for("react.transitional.element"),n=Symbol.for;Symbol.for=function(t){return"react.element"===t?r:n.apply(Symbol,arguments)}}window.ReactJSXRuntime||(window.ReactJSXRuntime={jsx:o,jsxs:o,jsxDEV:o,Fragment:t.Fragment})}function o(e,r,n){var o={},i=null;if(null!=r)for(var a in void 0!==r.key&&(o.key=""+r.key),r)Object.prototype.hasOwnProperty.call(r,a)&&"key"!==a&&"__self"!==a&&"__source"!==a&&("children"===a?i=r[a]:o[a]=r[a]);return void 0!==n&&(o.key=""+n),null!=i?Array.isArray(i)?t.createElement.apply(t,[e,o].concat(i)):t.createElement(e,o,i):t.createElement(e,o)}}()},217:function(t,e,r){"use strict";var n=r(601),o=r.n(n),i=r(314),a=r.n(i)()(o());a.push([t.id,"._dash-undo-redo {\n position: fixed;\n bottom: 30px;\n left: 30px;\n font-size: 20px;\n text-align: center;\n z-index: 9999;\n background-color: rgba(255, 255, 255, 0.9);\n}\n._dash-undo-redo > div {\n position: relative;\n}\n._dash-undo-redo-link {\n color: #0074d9;\n cursor: pointer;\n margin-left: 10px;\n margin-right: 10px;\n display: inline-block;\n opacity: 0.2;\n}\n._dash-undo-redo-link:hover {\n opacity: 1;\n}\n._dash-undo-redo-link ._dash-icon-undo {\n font-size: 20px;\n transform: rotate(270deg);\n}\n._dash-undo-redo-link ._dash-icon-redo {\n font-size: 20px;\n transform: rotate(90deg);\n}\n._dash-undo-redo-link ._dash-undo-redo-label {\n font-size: 15px;\n}\n",""]),e.A=a},314:function(t){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r="",n=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),n&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r}).join("")},e.i=function(t,r,n,o,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(n)for(var u=0;u0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=i),r&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=r):l[2]=r),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},601:function(t){"use strict";t.exports=function(t){return t[1]}},131:function(t,e){function r(t,e,r,n){var i={};return function(a){if(!i[a]){var u={},c=[],s=[];for(s.push({node:a,processed:!1});s.length>0;){var l=s[s.length-1],f=l.processed,p=l.node;if(f)s.pop(),c.pop(),u[p]=!1,i[p]=!0,e&&0!==t[p].length||r.push(p);else{if(i[p]){s.pop();continue}if(u[p]){if(n){s.pop();continue}throw c.push(p),new o(c)}u[p]=!0,c.push(p);for(var d=t[p],y=d.length-1;y>=0;y--)s.push({node:d[y],processed:!1});l.processed=!0}}}}}var n=e.DepGraph=function(t){this.nodes={},this.outgoingEdges={},this.incomingEdges={},this.circular=t&&!!t.circular};n.prototype={size:function(){return Object.keys(this.nodes).length},addNode:function(t,e){this.hasNode(t)||(this.nodes[t]=2===arguments.length?e:t,this.outgoingEdges[t]=[],this.incomingEdges[t]=[])},removeNode:function(t){this.hasNode(t)&&(delete this.nodes[t],delete this.outgoingEdges[t],delete this.incomingEdges[t],[this.incomingEdges,this.outgoingEdges].forEach(function(e){Object.keys(e).forEach(function(r){var n=e[r].indexOf(t);n>=0&&e[r].splice(n,1)},this)}))},hasNode:function(t){return this.nodes.hasOwnProperty(t)},getNodeData:function(t){if(this.hasNode(t))return this.nodes[t];throw new Error("Node does not exist: "+t)},setNodeData:function(t,e){if(!this.hasNode(t))throw new Error("Node does not exist: "+t);this.nodes[t]=e},addDependency:function(t,e){if(!this.hasNode(t))throw new Error("Node does not exist: "+t);if(!this.hasNode(e))throw new Error("Node does not exist: "+e);return-1===this.outgoingEdges[t].indexOf(e)&&this.outgoingEdges[t].push(e),-1===this.incomingEdges[e].indexOf(t)&&this.incomingEdges[e].push(t),!0},removeDependency:function(t,e){var r;this.hasNode(t)&&(r=this.outgoingEdges[t].indexOf(e))>=0&&this.outgoingEdges[t].splice(r,1),this.hasNode(e)&&(r=this.incomingEdges[e].indexOf(t))>=0&&this.incomingEdges[e].splice(r,1)},clone:function(){var t=this,e=new n;return Object.keys(t.nodes).forEach(function(r){e.nodes[r]=t.nodes[r],e.outgoingEdges[r]=t.outgoingEdges[r].slice(0),e.incomingEdges[r]=t.incomingEdges[r].slice(0)}),e},directDependenciesOf:function(t){if(this.hasNode(t))return this.outgoingEdges[t].slice(0);throw new Error("Node does not exist: "+t)},directDependantsOf:function(t){if(this.hasNode(t))return this.incomingEdges[t].slice(0);throw new Error("Node does not exist: "+t)},dependenciesOf:function(t,e){if(this.hasNode(t)){var n=[];r(this.outgoingEdges,e,n,this.circular)(t);var o=n.indexOf(t);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+t)},dependantsOf:function(t,e){if(this.hasNode(t)){var n=[];r(this.incomingEdges,e,n,this.circular)(t);var o=n.indexOf(t);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+t)},overallOrder:function(t){var e=this,n=[],o=Object.keys(this.nodes);if(0===o.length)return n;if(!this.circular){var i=r(this.outgoingEdges,!1,[],this.circular);o.forEach(function(t){i(t)})}var a=r(this.outgoingEdges,t,n,this.circular);return o.filter(function(t){return 0===e.incomingEdges[t].length}).forEach(function(t){a(t)}),this.circular&&o.filter(function(t){return-1===n.indexOf(t)}).forEach(function(t){a(t)}),n},entryNodes:function(){var t=this;return Object.keys(this.nodes).filter(function(e){return 0===t.incomingEdges[e].length})}},n.prototype.directDependentsOf=n.prototype.directDependantsOf,n.prototype.dependentsOf=n.prototype.dependantsOf;var o=e.DepGraphCycleError=function(t){var e="Dependency Cycle Found: "+t.join(" -> "),r=new Error(e);return r.cyclePath=t,Object.setPrototypeOf(r,Object.getPrototypeOf(this)),Error.captureStackTrace&&Error.captureStackTrace(r,o),r};o.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(o,Error)},886:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},799:function(t,e){"use strict";var r="function"==typeof Symbol&&Symbol.for,n=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,a=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,s=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,d=r?Symbol.for("react.suspense"):60113,y=r?Symbol.for("react.suspense_list"):60120,h=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116,b=r?Symbol.for("react.block"):60121,m=r?Symbol.for("react.fundamental"):60117,g=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function O(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case n:switch(t=t.type){case l:case f:case i:case u:case a:case d:return t;default:switch(t=t&&t.$$typeof){case s:case p:case v:case h:case c:return t;default:return e}}case o:return e}}}function S(t){return O(t)===f}e.AsyncMode=l,e.ConcurrentMode=f,e.ContextConsumer=s,e.ContextProvider=c,e.Element=n,e.ForwardRef=p,e.Fragment=i,e.Lazy=v,e.Memo=h,e.Portal=o,e.Profiler=u,e.StrictMode=a,e.Suspense=d,e.isAsyncMode=function(t){return S(t)||O(t)===l},e.isConcurrentMode=S,e.isContextConsumer=function(t){return O(t)===s},e.isContextProvider=function(t){return O(t)===c},e.isElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===n},e.isForwardRef=function(t){return O(t)===p},e.isFragment=function(t){return O(t)===i},e.isLazy=function(t){return O(t)===v},e.isMemo=function(t){return O(t)===h},e.isPortal=function(t){return O(t)===o},e.isProfiler=function(t){return O(t)===u},e.isStrictMode=function(t){return O(t)===a},e.isSuspense=function(t){return O(t)===d},e.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===i||t===f||t===u||t===a||t===d||t===y||"object"==typeof t&&null!==t&&(t.$$typeof===v||t.$$typeof===h||t.$$typeof===c||t.$$typeof===s||t.$$typeof===p||t.$$typeof===m||t.$$typeof===g||t.$$typeof===w||t.$$typeof===b)},e.typeOf=O},363:function(t,e,r){"use strict";t.exports=r(799)},609:function(t){"use strict";t.exports=window.React}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={id:n,exports:{}};return t[n](i,i.exports,r),i.exports}r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.cw=function(t){var e;return function(){if(t){var r=t;t=0,e={exports:{}},r.call(e.exports,e,e.exports)}return e.exports}},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.nc=void 0,function(){"use strict";var t="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==r.g&&r.g||{},e="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,a="ArrayBuffer"in t;if(a)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(t){return t&&u.indexOf(Object.prototype.toString.call(t))>-1};function s(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function l(t){return"string"!=typeof t&&(t=String(t)),t}function f(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function p(t){this.map={},t instanceof p?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function d(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function y(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function h(t){var e=new FileReader,r=y(e);return e.readAsArrayBuffer(t),r}function v(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(t){var r;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():a&&o&&(r=t)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=v(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(t)||c(t))?this._bodyArrayBuffer=v(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=d(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer)return d(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer));if(o)return this.blob().then(h);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,n,o,i=d(this);if(i)return i;if(this._bodyBlob)return t=this._bodyBlob,r=y(e=new FileReader),o=(n=/charset=([A-Za-z0-9_-]+)/.exec(t.type))?n[1]:"utf-8",e.readAsText(t,o),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?o:n),this.mode=r.mode||this.mode||null,this.signal=r.signal||this.signal||function(){if("AbortController"in t)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(i),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==r.cache&&"no-cache"!==r.cache)){var a=/([?&])_=[^&]*/;a.test(this.url)?this.url=this.url.replace(a,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function w(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function O(t,e){if(!(this instanceof O))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new p(e.headers),this.url=e.url||"",this._initBody(t)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},b.call(g.prototype),b.call(O.prototype),O.prototype.clone=function(){return new O(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},O.error=function(){var t=new O(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var S=[301,302,303,307,308];O.redirect=function(t,e){if(-1===S.indexOf(e))throw new RangeError("Invalid status code");return new O(null,{status:e,headers:{location:t}})};var j=t.DOMException;try{new j}catch(t){(j=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),j.prototype.constructor=j}function _(e,r){return new Promise(function(n,i){var u=new g(e,r);if(u.signal&&u.signal.aborted)return i(new j("Aborted","AbortError"));var c=new XMLHttpRequest;function f(){c.abort()}if(c.onload=function(){var t,e,r={statusText:c.statusText,headers:(t=c.getAllResponseHeaders()||"",e=new p,t.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t}).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();try{e.append(n,o)}catch(t){console.warn("Response "+t.message)}}}),e)};0===u.url.indexOf("file://")&&(c.status<200||c.status>599)?r.status=200:r.status=c.status,r.url="responseURL"in c?c.responseURL:r.headers.get("X-Request-URL");var o="response"in c?c.response:c.responseText;setTimeout(function(){n(new O(o,r))},0)},c.onerror=function(){setTimeout(function(){i(new TypeError("Network request failed"))},0)},c.ontimeout=function(){setTimeout(function(){i(new TypeError("Network request timed out"))},0)},c.onabort=function(){setTimeout(function(){i(new j("Aborted","AbortError"))},0)},c.open(u.method,function(e){try{return""===e&&t.location.href?t.location.href:e}catch(t){return e}}(u.url),!0),"include"===u.credentials?c.withCredentials=!0:"omit"===u.credentials&&(c.withCredentials=!1),"responseType"in c&&(o?c.responseType="blob":a&&(c.responseType="arraybuffer")),r&&"object"==typeof r.headers&&!(r.headers instanceof p||t.Headers&&r.headers instanceof t.Headers)){var d=[];Object.getOwnPropertyNames(r.headers).forEach(function(t){d.push(s(t)),c.setRequestHeader(t,l(r.headers[t]))}),u.headers.forEach(function(t,e){-1===d.indexOf(e)&&c.setRequestHeader(e,t)})}else u.headers.forEach(function(t,e){c.setRequestHeader(e,t)});u.signal&&(u.signal.addEventListener("abort",f),c.onreadystatechange=function(){4===c.readyState&&u.signal.removeEventListener("abort",f)}),c.send(void 0===u._bodyInit?null:u._bodyInit)})}_.polyfill=!0,t.fetch||(t.fetch=_,t.Headers=p,t.Request=g,t.Response=O)}(),function(){"use strict";var t=r.cw(function(t,e){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var n=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.server_context"),f=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),h=Symbol.for("react.lazy");Symbol.for("react.offscreen");Symbol.for("react.module.reference"),e.isContextConsumer=function(t){return function(t){if("object"===r(t)&&null!==t){var e=t.$$typeof;switch(e){case n:switch(t=t.type){case i:case u:case a:case p:case d:return t;default:switch(t=t&&t.$$typeof){case l:case s:case f:case h:case y:case c:return t;default:return e}}case o:return e}}}(t)===s}}),e=r.cw(function(e,r){e.exports=t()}),n=r.cw(function(t,e){var r=a();t.exports=function(t){var e=typeof t;if("string"===e){var n=t;if(0===(t=+t)&&r(n))return!1}else if("number"!==e)return!1;return t-t<1}}),o=r.cw(function(t,e){var r=c(),n={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},a={};function u(t){return r.isMemo(t)?i:a[t.$$typeof]||n}a[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a[r.Memo]=i;var s=Object.defineProperty,l=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,y=Object.prototype;t.exports=function t(e,r,n){if("string"!=typeof r){if(y){var i=d(r);i&&i!==y&&t(e,i,n)}var a=l(r);f&&(a=a.concat(f(r)));for(var c=u(e),h=u(r),v=0;v0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}}),y=r.cw(function(t,e){t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}),h=r.cw(function(t,e){var r=g(),n="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},o=r.useState,i=r.useEffect,a=r.useLayoutEffect,u=r.useDebugValue;function c(t){var e=t.getSnapshot;t=t.value;try{var r=e();return!n(t,r)}catch(t){return!0}}var s="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(t,e){return e()}:function(t,e){var r=e(),n=o({inst:{value:r,getSnapshot:e}}),s=n[0].inst,l=n[1];return a(function(){s.value=r,s.getSnapshot=e,c(s)&&l({inst:s})},[t,r,e]),i(function(){return c(s)&&l({inst:s}),t(function(){c(s)&&l({inst:s})})},[t]),u(r),r};e.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:s}),v=r.cw(function(t,e){var r=g(),n=b(),o="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},i=n.useSyncExternalStore,a=r.useRef,u=r.useEffect,c=r.useMemo,s=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(t,e,r,n,l){var f=a(null);if(null===f.current){var p={hasValue:!1,value:null};f.current=p}else p=f.current;f=c(function(){function t(t){if(!u){if(u=!0,i=t,t=n(t),void 0!==l&&p.hasValue){var e=p.value;if(l(e,t))return a=e}return a=t}if(e=a,o(i,t))return e;var r=n(t);return void 0!==l&&l(e,r)?(i=t,e):(i=t,a=r)}var i,a,u=!1,c=void 0===r?null:r;return[function(){return t(e())},null===c?void 0:function(){return t(c())}]},[e,r,n,l]);var d=i(t,f[0],f[1]);return u(function(){p.hasValue=!0,p.value=d},[d]),s(d),d}}),b=r.cw(function(t,e){t.exports=h()}),m=r.cw(function(t,e){t.exports=v()}),g=function(){return r(609)};function w(){return w.c||(w.c=r.n(g()))}r(186),g();var O=window.ReactDOM,S=r.n(O),j=window.PropTypes,_=r.n(j);b(),m();var E=function(t){t()},P=function(){return E},k=Symbol.for("react-redux-context"),A="undefined"!=typeof globalThis?globalThis:{};function T(){var t;if(!g().createContext)return{};var e=null!=(t=A[k])?t:A[k]=new Map,r=e.get(g().createContext);return r||(r=g().createContext(null),e.set(g().createContext,r)),r}var x=T();function I(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x;return function(){return(0,g().useContext)(t)}}var C=I(),R=function(){throw new Error("uSES not initialized!")},D=R,N=function(t,e){return t===e};function M(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?C:I(t);return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="function"==typeof r?{equalityFn:r}:r,o=n.equalityFn,i=void 0===o?N:o,a=n.stabilityCheck,u=void 0===a?void 0:a;n.noopCheck;var c=e(),s=c.store,l=c.subscription,f=c.getServerState,p=c.stabilityCheck,d=(c.noopCheck,(0,g().useRef)(!0),(0,g().useCallback)({[t.name]:e=>t(e)}[t.name],[t,p,u])),y=D(l.addNestedSub,s.getState,f||s.getState,d,i);return(0,g().useDebugValue)(y),y}}var U=M();function q(){return q=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]?arguments[3]:{},i=(o.pure,o.areStatesEqual),a=void 0===i?st:i,u=o.areOwnPropsEqual,c=void 0===u?et:u,s=o.areStatePropsEqual,l=void 0===s?et:s,f=o.areMergedPropsEqual,p=void 0===f?et:f,d=o.forwardRef,y=void 0!==d&&d,h=o.context,v=void 0===h?x:h,b=function(t){return t?"function"==typeof t?$(t):z(t,"mapStateToProps"):H(function(){return{}})}(e),m=function(t){return t&&"object"===V(t)?H(function(e){return function(t,e){var r={},n=function(){var n=t[o];"function"==typeof n&&(r[o]=function(){return e(n.apply(void 0,arguments))})};for(var o in t)n();return r}(t,e)}):t?"function"==typeof t?$(t):z(t,"mapDispatchToProps"):H(function(t){return{dispatch:t}})}(r),w=function(t){return t?"function"==typeof t?function(t){return function(e,r){r.displayName;var n,o=r.areMergedPropsEqual,i=!1;return function(e,r,a){var u=t(e,r,a);return i?o(u,n)||(n=u):(i=!0,n=u),n}}}(t):z(t,"mergeProps"):function(){return K}}(n),O=Boolean(e);return function(e){var r=e.displayName||e.name||"Component",n="Connect(".concat(r,")"),o={shouldHandleStateChanges:O,displayName:n,wrappedComponentName:r,WrappedComponent:e,initMapStateToProps:b,initMapDispatchToProps:m,initMergeProps:w,areStatesEqual:a,areStatePropsEqual:l,areOwnPropsEqual:c,areMergedPropsEqual:p};function i(r){var n=g().useMemo(function(){var t=r.reactReduxForwardedRef,e=L(r,it);return[r.context,t,e]},[r]),i=rt(n,3),a=i[0],u=i[1],c=i[2],s=g().useMemo(function(){return a&&a.Consumer&&(0,t().isContextConsumer)(g().createElement(a.Consumer,null))?a:v},[a,v]),l=g().useContext(s),f=Boolean(r.store)&&Boolean(r.store.getState)&&Boolean(r.store.dispatch),p=Boolean(l)&&Boolean(l.store),d=f?r.store:l.store,y=p?l.getServerState:d.getState,h=g().useMemo(function(){return function(t,e){var r=e.initMapStateToProps,n=e.initMapDispatchToProps,o=e.initMergeProps,i=L(e,F);return B(r(t,i),n(t,i),o(t,i),t,i)}(d.dispatch,o)},[d]),b=g().useMemo(function(){if(!O)return ut;var t=Q(d,f?void 0:l.subscription),e=t.notifyNestedSubs.bind(t);return[t,e]},[d,f,l]),m=rt(b,2),w=m[0],S=m[1],j=g().useMemo(function(){return f?l:q({},l,{subscription:w})},[f,l,w]),_=g().useRef(),E=g().useRef(c),P=g().useRef(),k=g().useRef(!1),A=(g().useRef(!1),g().useRef(!1)),T=g().useRef();X(function(){return A.current=!0,function(){A.current=!1}},[]);var x,I,C,R=g().useMemo(function(){return function(){return P.current&&c===E.current?P.current:h(d.getState(),c)}},[d,c]),D=g().useMemo(function(){return function(t){return w?function(t,e,r,n,o,i,a,u,c,s,l){if(!t)return function(){};var f=!1,p=null,d=function(){if(!f&&u.current){var t,r,d=e.getState();try{t=n(d,o.current)}catch(t){r=t,p=t}r||(p=null),t===i.current?a.current||s():(i.current=t,c.current=t,a.current=!0,l())}};return r.onStateChange=d,r.trySubscribe(),d(),function(){if(f=!0,r.tryUnsubscribe(),r.onStateChange=null,p)throw p}}(O,d,w,h,E,_,k,A,P,S,t):function(){}}},[w]);x=ct,I=[E,_,k,c,P,S],X(function(){return x.apply(void 0,function(t){if(Array.isArray(t))return ot(t)}(t=I)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||nt(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var t},void 0);try{C=at(D,R,y?function(){return h(y(),c)}:R)}catch(t){throw T.current&&(t.message+="\nThe error may be correlated with this previous error:\n".concat(T.current.stack,"\n\n")),t}X(function(){T.current=void 0,P.current=void 0,_.current=C});var N=g().useMemo(function(){return g().createElement(e,q({},C,{ref:u}))},[u,e,C]);return g().useMemo(function(){return O?g().createElement(s.Provider,{value:j},N):N},[s,N,j])}var u=g().memo(i);if(u.WrappedComponent=e,u.displayName=i.displayName=n,y){var s=g().forwardRef(function(t,e){return g().createElement(u,q({},t,{reactReduxForwardedRef:e}))});return s.displayName=n,s.WrappedComponent=e,G()()(s,e)}return G()()(u,e)}},ft=function(t){var e=t.store,r=t.context,n=t.children,o=t.serverState,i=t.stabilityCheck,a=void 0===i?"once":i,u=t.noopCheck,c=void 0===u?"once":u,s=g().useMemo(function(){var t=Q(e);return{store:e,subscription:t,getServerState:o?function(){return o}:void 0,stabilityCheck:a,noopCheck:c}},[e,o,a,c]),l=g().useMemo(function(){return e.getState()},[e]);X(function(){var t=s.subscription;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),l!==e.getState()&&t.notifyNestedSubs(),function(){t.tryUnsubscribe(),t.onStateChange=void 0}},[s,l]);var f=r||x;return g().createElement(f.Provider,{value:s},n)};function pt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?C:I(t);return function(){return e().store}}var dt=pt();function yt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?dt:pt(t);return function(){return e().dispatch}}var ht,vt,bt=yt();function mt(t,e){switch(t){case 0:return function(){return e.apply(this,arguments)};case 1:return function(t){return e.apply(this,arguments)};case 2:return function(t,r){return e.apply(this,arguments)};case 3:return function(t,r,n){return e.apply(this,arguments)};case 4:return function(t,r,n,o){return e.apply(this,arguments)};case 5:return function(t,r,n,o,i){return e.apply(this,arguments)};case 6:return function(t,r,n,o,i,a){return e.apply(this,arguments)};case 7:return function(t,r,n,o,i,a,u){return e.apply(this,arguments)};case 8:return function(t,r,n,o,i,a,u,c){return e.apply(this,arguments)};case 9:return function(t,r,n,o,i,a,u,c,s){return e.apply(this,arguments)};case 10:return function(t,r,n,o,i,a,u,c,s,l){return e.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}function wt(t){return null!=t&&"object"===gt(t)&&!0===t["@@functional/placeholder"]}function Ot(t){return function e(r){return 0===arguments.length||wt(r)?e:t.apply(this,arguments)}}ht=v().useSyncExternalStoreWithSelector,D=ht,function(t){at=t}(h().useSyncExternalStore),vt=O.unstable_batchedUpdates,E=vt;var St=Ot(function(t){var e,r=!1;return mt(t.length,function(){return r?e:(r=!0,e=t.apply(this,arguments))})}),jt=St;function _t(t){return _t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_t(t)}function Et(t,e,r){return(e=function(t){var e=function(t){if("object"!=_t(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=_t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==_t(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Pt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function kt(t){for(var e=1;e=0;)Ft(e=zt[r],t)&&!Kt(n,e)&&(n[n.length]=e),r-=1;return n}):Ot(function(t){return Object(t)!==t?[]:Object.keys(t)}),Qt=Ot(function(t){return null===t?"Null":void 0===t?"Undefined":Object.prototype.toString.call(t).slice(8,-1)});function Xt(t){return Xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xt(t)}function Zt(t,e,r,n){var o=Lt(t);function i(t,e){return te(t,e,r.slice(),n.slice())}return!Gt(function(t,e){return!Gt(i,e,t)},Lt(e),o)}function te(t,e,r,n){if(Bt(t,e))return!0;var o,i,a=Qt(t);if(a!==Qt(e))return!1;if("function"==typeof t["fantasy-land/equals"]||"function"==typeof e["fantasy-land/equals"])return"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e)&&"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t);if("function"==typeof t.equals||"function"==typeof e.equals)return"function"==typeof t.equals&&t.equals(e)&&"function"==typeof e.equals&&e.equals(t);switch(a){case"Arguments":case"Array":case"Object":if("function"==typeof t.constructor&&"Promise"===(o=t.constructor,null==(i=String(o).match(/^function (\w*)/))?"":i[1]))return t===e;break;case"Boolean":case"Number":case"String":if(Xt(t)!==Xt(e)||!Bt(t.valueOf(),e.valueOf()))return!1;break;case"Date":if(!Bt(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(t.source!==e.source||t.global!==e.global||t.ignoreCase!==e.ignoreCase||t.multiline!==e.multiline||t.sticky!==e.sticky||t.unicode!==e.unicode)return!1}for(var u=r.length-1;u>=0;){if(r[u]===t)return n[u]===e;u-=1}switch(a){case"Map":return t.size===e.size&&Zt(t.entries(),e.entries(),r.concat([t]),n.concat([e]));case"Set":return t.size===e.size&&Zt(t.values(),e.values(),r.concat([t]),n.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var c=Yt(t);if(c.length!==Yt(e).length)return!1;var s=r.concat([t]),l=n.concat([e]);for(u=c.length-1;u>=0;){var f=c[u];if(!Ft(f,e)||!te(e[f],t[f],s,l))return!1;u-=1}return!0}var ee=qt(function(t,e){return te(t,e,[],[])});function re(t){return re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},re(t)}function ne(t,e,r){var n,o;if("function"==typeof t.indexOf)switch(re(e)){case"number":if(0===e){for(n=1/e;r=0}var ie=qt(oe);function ae(t){return function e(r,n,o){switch(arguments.length){case 0:return e;case 1:return wt(r)?e:qt(function(e,n){return t(r,e,n)});case 2:return wt(r)&&wt(n)?e:wt(r)?qt(function(e,r){return t(e,n,r)}):wt(n)?qt(function(e,n){return t(r,e,n)}):Ot(function(e){return t(r,n,e)});default:return wt(r)&&wt(n)&&wt(o)?e:wt(r)&&wt(n)?qt(function(e,r){return t(e,r,o)}):wt(r)&&wt(o)?qt(function(e,r){return t(e,n,r)}):wt(n)&&wt(o)?qt(function(e,n){return t(r,e,n)}):wt(r)?Ot(function(e){return t(e,n,o)}):wt(n)?Ot(function(e){return t(r,e,o)}):wt(o)?Ot(function(e){return t(r,n,e)}):t(r,n,o)}}}var ue=Number.isInteger||function(t){return(0|t)===t};function ce(t){return"[object String]"===Object.prototype.toString.call(t)}function se(t,e){var r=t<0?e.length+t:t;return ce(e)?e.charAt(r):e[r]}function le(t,e){for(var r=e,n=0;n=0&&"[object Array]"===Object.prototype.toString.call(t)},ye=Ot(function(t){return null==t});function he(t){return he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},he(t)}var ve=ae(function t(e,r,n){if(0===e.length)return r;var o=e[0];if(e.length>1){var i=!ye(n)&&Ft(o,n)&&"object"===he(n[o])?n[o]:ue(e[1])?[]:{};r=t(Array.prototype.slice.call(e,1),r,i)}return function(t,e,r){if(ue(t)&&de(r)){var n=[].concat(r);return n[t]=e,n}var o={};for(var i in r)o[i]=r[i];return o[t]=e,o}(o,r,n)}),be=ae(function(t,e,r){return ve([t],e,r)});function me(t,e){return function(){var r=arguments.length;if(0===r)return e();var n=arguments[r-1];return de(n)||"function"!=typeof n[t]?e.apply(this,arguments):n[t].apply(n,Array.prototype.slice.call(arguments,0,r-1))}}var ge=qt(me("forEach",function(t,e){for(var r=e.length,n=0;n0&&t.hasOwnProperty(0)&&t.hasOwnProperty(t.length-1))});function Be(t){return function e(r){for(var n,o,i,a=[],u=0,c=r.length;u=arguments.length)?c=e[a]:(c=arguments[o],o+=1),n[a]=c,wt(c)?u=!0:i-=1,a+=1}return!u&&i<=0?r.apply(this,n):mt(Math.max(0,i),ze(t,n,r))}}var Ve=qt(function(t,e){return 1===t?Ot(e):mt(t,ze(t,[],e))}),Ke=Ve,Ye=qt(Re(["fantasy-land/map","map"],We,function(t,e){switch(Object.prototype.toString.call(e)){case"[object Function]":return Ke(e.length,function(){return t.call(this,e.apply(this,arguments))});case"[object Object]":return Ce(function(r,n){return r[n]=t(e[n]),r},{},Yt(e));default:return Je(t,e)}})),Qe=Ye,Xe="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function Ze(t,e,r){return function(n,o,i){if(Fe(i))return t(n,o,i);if(null==i)return o;if("function"==typeof i["fantasy-land/reduce"])return e(n,o,i,"fantasy-land/reduce");if(null!=i[Xe])return r(n,o,i[Xe]());if("function"==typeof i.next)return r(n,o,i);if("function"==typeof i.reduce)return e(n,o,i,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function tr(t,e,r){for(var n=0,o=r.length;n":vr(r,n)},n=function(t,e){return Je(function(e){return lr(e)+": "+r(t[e])},e.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+Je(r,t).join(", ")+"))";case"[object Array]":return"["+Je(r,t).concat(n(t,yr(function(t){return/^\d+$/.test(t)},Yt(t)))).join(", ")+"]";case"[object Boolean]":return"object"===hr(t)?"new Boolean("+r(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?r(NaN):lr(pr(t)))+")";case"[object Map]":return"new Map("+r(Array.from(t))+")";case"[object Null]":return"null";case"[object Number]":return"object"===hr(t)?"new Number("+r(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object Set]":return"new Set("+r(Array.from(t).sort())+")";case"[object String]":return"object"===hr(t)?"new String("+r(t.valueOf())+")":lr(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var o=t.toString();if("[object Object]"!==o)return o}return"{"+n(t,Yt(t)).join(", ")+"}"}}var br=Ot(function(t){return vr(t,[])}),mr=qt(function(t,e){if(de(t)){if(de(e))return t.concat(e);throw new TypeError(br(e)+" is not an array")}if(ce(t)){if(ce(e))return t+e;throw new TypeError(br(e)+" is not a string")}if(null!=t&&sr(t["fantasy-land/concat"]))return t["fantasy-land/concat"](e);if(null!=t&&sr(t.concat))return t.concat(e);throw new TypeError(br(t)+' does not have a method named "concat" or "fantasy-land/concat"')});function gr(t){return t&&t["@@transducer/reduced"]?t:{"@@transducer/value":t,"@@transducer/reduced":!0}}var wr=function(){function t(t,e){this.xf=e,this.f=t,this.all=!0}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){return this.all&&(t=this.xf["@@transducer/step"](t,!0)),this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){return this.f(e)||(this.all=!1,t=gr(this.xf["@@transducer/step"](t,!1))),t},t}();function Or(t){return function(e){return new wr(t,e)}}var Sr=qt(Re(["all"],Or,function(t,e){for(var r=0;re!=e>t)return e>t?e:t}var n=r(t,e);if(void 0!==n)return n;var o=r(_r(t),_r(e));if(void 0!==o)return o===_r(t)?t:e;var i=br(t),a=r(i,br(e));return void 0!==a&&a===i?t:e}),Pr=qt(function(t,e){return Qe(xe(t),e)}),kr=qt(function(t,e){return Ke(cr(Er,0,Pr("length",e)),function(){var r=arguments,n=this;return t.apply(n,Je(function(t){return t.apply(n,r)},e))})}),Ar=kr,Tr=Ot(function(t){return Ar(function(){return Array.prototype.slice.call(arguments,0)},t)}),xr=Tr([Le,yr]);function Ir(t){return Ir="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ir(t)}function Cr(t,e,r){var n,o=Ir(t);switch(o){case"string":case"number":return 0===t&&1/t==-1/0?!!r._items["-0"]||(e&&(r._items["-0"]=!0),!1):null!==r._nativeSet?e?(n=r._nativeSet.size,r._nativeSet.add(t),r._nativeSet.size===n):r._nativeSet.has(t):o in r._items?t in r._items[o]||(e&&(r._items[o][t]=!0),!1):(e&&(r._items[o]={},r._items[o][t]=!0),!1);case"boolean":if(o in r._items){var i=t?1:0;return!!r._items[o][i]||(e&&(r._items[o][i]=!0),!1)}return e&&(r._items[o]=t?[!1,!0]:[!0,!1]),!1;case"function":return null!==r._nativeSet?e?(n=r._nativeSet.size,r._nativeSet.add(t),r._nativeSet.size===n):r._nativeSet.has(t):o in r._items?!!oe(t,r._items[o])||(e&&r._items[o].push(t),!1):(e&&(r._items[o]=[t]),!1);case"undefined":return!!r._items[o]||(e&&(r._items[o]=!0),!1);case"object":if(null===t)return!!r._items.null||(e&&(r._items.null=!0),!1);default:return(o=Object.prototype.toString.call(t))in r._items?!!oe(t,r._items[o])||(e&&r._items[o].push(t),!1):(e&&(r._items[o]=[t]),!1)}}var Rr=function(){function t(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return t.prototype.add=function(t){return!Cr(t,!0,this)},t.prototype.has=function(t){return Cr(t,!1,this)},t}(),Dr=qt(function(t,e){for(var r=[],n=0,o=t.length,i=e.length,a=new Rr,u=0;u=0&&this.i>=this.n?gr(r):r},t}();function vn(t){return function(e){return new hn(t,e)}}var bn=ae(me("slice",function(t,e,r){return Array.prototype.slice.call(r,t,e)})),mn=qt(Re(["take"],vn,function(t,e){return bn(0,t<0?1/0:t,e)})),gn=qt(function(t,e){return ee(mn(t.length,e),t)}),wn=qt(function(t,e){return"function"!=typeof e.indexOf||de(e)?ne(e,t,0):e.indexOf(t)}),On=ae(function(t,e,r){t=t=0?t:r.length;var n=Array.prototype.slice.call(r,0);return n.splice(t,0,e),n}),Sn=function(){function t(t,e){this.xf=e,this.f=t,this.found=!1}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){return this.found||(t=this.xf["@@transducer/step"](t,void 0)),this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){return this.f(e)&&(this.found=!0,t=gr(this.xf["@@transducer/step"](t,e))),t},t}();function jn(t){return function(e){return new Sn(t,e)}}var _n=qt(Re(["find"],jn,function(t,e){for(var r=0,n=e.length;rt.length)&&(e=t.length);for(var r=0,n=Array(e);r2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;if(Array.isArray(t))t.forEach(function(t,o){if(n){var i=cn(function(t){return ie("{}",t)},n);if(-1!==i){var a=bn(0,i,n),u=bn(i,n.length,n);if(a.length)qn(Oe(a,t),e,mr(r,mr([o],a)),u);else{var c,s=u.map(function(t){return t.replace("{}","")}).filter(function(t){return t}),l=mr([o],s);for(var f in c=s.length?Oe(s,t):t){var p=c[f];qn(p,e,mr(r,l.concat([f])))}}}else qn(Oe(n,t),e,mr(r,mr([o],n)))}else qn(t,e,r.concat(o))});else if("Object"===Qt(t)){e(t,r);var o=t.props&&t.props.children;if(o){var i=r.concat(Un);qn(o,e,i)}var a=window.__dashprivate_childrenProps;(a&&a[t.namespace]&&a[t.namespace][t.type]||[]).forEach(function(n){if(n.includes("[]")){var o=(w=n.split("[]").map(function(t){return t.split(".").filter(function(t){return t})}),O=2,function(t){if(Array.isArray(t))return t}(w)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(w,O)||Dn(w,O)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1],u=mr(["props"],i),c=mr(r,u);qn(Oe(u,t),e,c,a)}else if(n.includes("{}")){for(var s=n.split("."),l=[],f=[],p=!1,d=0;d-1&&r.splice(n,1)}}},{key:"emit",value:function(t){for(var e=this,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function ro(t,e){if(t){if("string"==typeof t)return no(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?no(t,e):void 0}}function no(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);ro?1:ne?1:t0;[[e,"Input"],[r,"State"]].forEach(function(e){var r=to(e,2),u=r[0],c=r[1];u.forEach(function(e,r){var u=ko(e.id),s=u.matchKeys,l=u.allsmallerKeys,f=a?s.concat(l):l,p=Dr(f,i);if(p.length){p.sort();var d=t.length?"Output 0 (".concat(Wo(t[0]),")"):"the (absent) Output";o("`Input` / `State` wildcards not in `Output`s",[n,"".concat(c," ").concat(r," (").concat(Wo(e),")"),"has MATCH or ALLSMALLER on key(s) ".concat(p.join(", ")),"where ".concat(d),"does not have a MATCH wildcard. Inputs and State do not","need every MATCH from the Output(s), but ALLSMALLER","requires a matching MATCH in the Output(s), and when","the Output(s) have any MATCH, Input/State MATCH keys","must be a subset of them."])}})})}(i,o,a,c,e))})}(u,function(t,r){c=!0,e(t,r)});var s={},l={},f=new Map,p=new Map,d=new Map,y=new Map,h={},v={},b={},m={},g=!1,w=!1,O={MultiGraph:n,outputMap:s,inputMap:l,outputPatterns:h,inputPatterns:v,partialOutputPatterns:b,partialInputPatterns:m,hasPartialOutputPatterns:g,hasPartialInputPatterns:w,callbacks:u};if(c)return O;function S(t,e){var r=[{}];return Fr(function(t,n){var o=i[n].vals,a=o.indexOf(e[n]),u=[t];t&&t.wild&&(u=t===co?a>0?o.slice(0,a):[]:-1===a||t===ao?o:[e[n]]),r=nn(nn([be(n)],u),r)},t),r}u.forEach(function(t){var e=t.outputs,r=t.inputs;e.concat(r).filter(function(t){return"object"===oo(t.id)}).forEach(function(t){Fr(function(t,e){i[e]||(i[e]={exact:[],expand:0});var r=i[e];t&&t.wild?t.expand&&(r.expand+=1):-1===r.exact.indexOf(t)&&r.exact.push(t)},t.id)})}),Fr(function(t){var e=t.exact,r=t.expand,n=e.slice().sort(bo);if(r)for(var o=0;o2&&void 0!==arguments[2])||arguments[2];r.validate_callbacks&&(n.addNode(t),n.addDependency(t,e),o&&(E[E.length-1].push(t),P[P.length-1].push(e)))}u.forEach(function(t){var e=t.outputs,o=t.inputs;function i(t,e){r.validate_callbacks&&(n.addNode(e),o.forEach(function(r){var n=r.id,o=r.property;"object"===oo(n)?S(n,t).forEach(function(t){k(Wo({id:t,property:o}),e)}):k(Wo(r),e)}))}E.push([]),P.push([]);var a=ko(e.length?e[0].id:void 0).matchKeys,u=cn(function(t){return!Io(t)},e),c=ln({matchKeys:a,firstSingleOutput:u,outputs:e},t);e.forEach(function(t){var e,n=t.id,a=t.property,u=t.partial;if(r.validate_callbacks&&(e=function(t,e){var r=t.id,n=t.property;return e.some(function(e){var o=e.id,i=e.property;if(n!==i||oo(r)!==oo(o))return!1;if("string"==typeof r){if(r===o)return!0}else if(Eo(e,[t]))return!0;return!1})}(t,o)),"object"===oo(n))r.validate_callbacks&&S(n,{}).forEach(function(t){var r={id:t,property:a},n=Wo(r);e&&(_.push(r),n+=j),i(t,n)}),u?(So(f,n,a,c),So(d,n,a,c),g=!0):Oo(f,n,a,c);else{if(r.validate_callbacks){var l=Wo(t);e&&(_.push(t),l+=j),i({},l)}wo(s,n,a,c)}}),o.forEach(function(t){var e=t.id,r=t.property,n=t.partial;"object"===oo(e)?n?(So(p,e,r,c),So(y,e,r,c),w=!0):Oo(p,e,r,c):wo(l,e,r,c)})}),h=jo(f,h),v=jo(p,v),b=jo(d,b),m=jo(y,m),O.outputPatterns=h,O.inputPatterns=v,O.partialOutputPatterns=b,O.partialInputPatterns=m,O.hasPartialOutputPatterns=g,O.hasPartialInputPatterns=w,_.forEach(function(t){for(var e=Wo(t),r=e.concat(j),n=0;n3&&void 0!==arguments[3]?arguments[3]:"";return function(o){var i=o.matchKeys,a=o.firstSingleOutput,u=o.outputs;if(i.length){var c=u[a];if(c)Ro(o,c,t(e)(c),r);else{var s={};u.forEach(function(n){var a=t(e)(n).filter(function(t){var e=JSON.stringify(Ie(i,t.id));return!s[e]&&(s[e]=1,!0)});Ro(o,n,a,r)})}}else{var l=Zo(o,t,n);r.push(l)}}}function No(t){return No="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},No(t)}function Mo(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Uo(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r5&&void 0!==arguments[5])||arguments[5],a=[],u=Wo({id:r,property:n});if("string"==typeof r){var c=(t.inputMap[r]||{})[n];if(!c)return[];c.forEach(Do(ei(),e,a))}else{var s=Object.keys(r).sort(),l=Ie(s,r),f=s.join(","),p=(t.inputPatterns[f]||{})[n];if(p&&p.forEach(function(t){if(t.partial){if(To(t.keys,t.values,s,l)){var r=xo(t.values,l),n=t.keys.map(function(t){return l[s.indexOf(t)]});t.callbacks.forEach(Do(ri(t.keys,n,t.values),e,a,r))}}else if(Ao(s,l,t.values)){var o=xo(t.values,l);t.callbacks.forEach(Do(ei(s,l,t.values),e,a,o))}}),t.hasPartialInputPatterns)for(var d in t.partialInputPatterns)if(d!==f&&d.split(",").every(function(t){return-1!==s.indexOf(t)})){var y=t.partialInputPatterns[d][n];y&&y.forEach(function(t){if(To(t.keys,t.values,s,l)){var r=xo(t.values,l),n=t.keys.map(function(t){return l[s.indexOf(t)]});t.callbacks.forEach(Do(ri(t.keys,n,t.values),e,a,r))}})}}return a.forEach(function(r){r.changedPropIds[u]=o||Ho,i&&(r.priority=Vo(t,e,r))}),a}function Vo(t,e,r){for(var n=[r],o={},i={},a=[];n.length;){n=Le(function(t){var e=i[t.resolvedId];return i[t.resolvedId]=!0,e},n);var u=Le(function(t){return!o[Wo(t)]},He(Qe(function(t){return He(t.getOutputs(e))},n)));u.forEach(function(t){return o[Wo(t)]=!0}),(n=He(Qe(function(r){var n=r.id,o=r.property;return zo(t,e,n,o,Jo,!1)},u))).length&&a.push(n.length)}return a.unshift(a.length),Qe(function(t){return Math.min(t,35).toString(36)},a).join("")}var Ko=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e.length)return[];var o=Qe(Wo,cr(function(e,r){return mr(e,He(r.getOutputs(t)))},[],r)),i={};if(o.forEach(function(t){return i[t]=!0}),Object.keys(n).length){var a=He(Qe(function(e){return function(t,e,r){for(var n=[r],o={};n.length;){var i=Le(function(t){return!o[Wo(t)]},He(Qe(function(t){return He(t.getOutputs(e))},n)));o=cr(function(t,e){return be(Wo(e),!0,t)},o,i),n=He(Qe(function(r){var n=r.id,o=r.property;return zo(t,e,n,o,Jo,!1)},i))}return o}(n,t,e)},r));a.length>0&&(i=Object.assign.apply(Object,[a[0]].concat(Go(a))))}return Le(function(e){return jr(function(t){return!i[Wo(t)]},function(t,e){return t.filter(function(t){return!e.some(function(e){return Wo(t)===Wo(e)})})}(He(e.getInputs(t)),He(e.getOutputs(t))))},e)},Yo=function(t,e,r,n){for(var o=[],i=function(t,e,r,n){var o=n.outputsOnly,i=n.removedArrayInputsOnly,a=n.newPaths,u=n.chunkPath,c=n.patchAnalysis,s={},l=[];function f(t){if(t){var e=s[t.resolvedId];if(void 0!==e){var r=l[e];r.changedPropIds=$o(r.changedPropIds,t.changedPropIds),t.initialCall&&(r.initialCall=!0)}else s[t.resolvedId]=l.length,l.push(t)}}function p(r,n,s){if(n){var l=!!c&&function(t,e){return!(!t||!e||t.freshIds[e])}(c,vo(r));for(var p in n){var d=Co(t,0,r,p);d&&(d.callback.prevent_initial_call||l||(d.initialCall=!0,f(d)))}}if(!o&&s){var y=vo(r),h=i?function(t){return function(r){return r.getInputs(e).some(function(e){return!(!Array.isArray(e)||!e.some(function(e){return vo(e.id)===t})||(He(r.getOutputs(a)).length&&(r.initialCall=!0,r.changedPropIds={},f(r)),0))})}}(y):f;for(var v in s){var b=h;u&&!Kn(c,y,v)&&(b=function(t){jr(gn(u),Pr("path",He(t.getOutputs(e))))||h(t)}),zo(t,e,r,v,Jo).forEach(b)}}}return qn(r,function(e){var r=e.props&&e.props.id;if(r)if("string"!=typeof r||i){var n=Object.keys(r).sort(),o=n.join(",");if(p(r,!i&&t.outputPatterns[o],t.inputPatterns[o]),t.hasPartialInputPatterns)for(var a in t.partialInputPatterns)a!==o&&a.split(",").every(function(t){return-1!==n.indexOf(t)})&&p(r,null,t.partialInputPatterns[a]);if(!i&&t.hasPartialOutputPatterns)for(var u in t.partialOutputPatterns)u!==o&&u.split(",").every(function(t){return-1!==n.indexOf(t)})&&p(r,t.partialOutputPatterns[u],null)}else p(r,t.outputMap[r],t.inputMap[r])}),Qe(function(r){return Xn(Xn({},r),{},{priority:Vo(t,e,r)})},l)}(t,e,r,n);;){var a=Lo(xr(function(t){var r=t.callback.inputs,n=t.getInputs;return jr(Io,r)||!Ee(Dr(Qe(Wo,He(n(e))),o))},i),2),u=a[0],c=a[1];if(!c.length)break;i=u,o=mr(o,Qe(Wo,He(Qe(function(t){return(0,t.getOutputs)(e)},c))))}if(n.filterRoot){var s=Oe(["props","id"],r);s&&(s=vo(s),i=i.filter(function(t){return t.callback.inputs.reduce(function(t,e){return t||vo(e.id)==s&&n.filterRoot.includes(e.property)},!1)}))}var l=Math.random().toString(16);return Qe(function(t){return Uo(Uo({},t),{},{executionGroup:l})},i)},Qo=function(t){var e=t.anyVals,r=t.callback,n=r.inputs,o=r.outputs,i=r.state,a=r.output,u=Qe(Wo,[].concat(Go(n),Go(o),Go(i)));return 0===o.length&&a&&u.push(a),mr(u,Array.isArray(e)?e:""===e?[]:[e]).join(",")};function Xo(t,e,r,n){return He(Qe(function(e){return zo(r,n,t,e)},Yt(e)))}var Zo=function(t,e,r){return{callback:t,anyVals:r,resolvedId:t.output+r,getOutputs:function(r){return t.outputs.map(e(r))},getInputs:function(r){return t.inputs.map(e(r))},getState:function(r){return t.state.map(e(r))},changedPropIds:{},initialCall:!1}};function ti(t,e){var r=Lo(xr(function(t){var r=t.getOutputs,n=t.callback.outputs;return He(r(e)).length===n.length},t),2)[1],n=Lo(xr(function(t){var r=t.getOutputs;return!He(r(e)).length},r),2)[1];return{added:Qe(function(t){return be("changedPropIds",Nr(function(t,r){return Wn(e,yo(r).id)},t.changedPropIds),t)},n),removed:r}}function ei(t,e,r){return function(n){return function(o){var i=o.id,a=o.property,u=o.partial;if("string"==typeof i){var c=Wn(n,i);return c?[{id:i,property:a,path:c}]:[]}var s=Object.keys(i).sort(),l=Ie(s,i),f=s.join(","),p=n.objs[f];if(p){var d=[];return p.forEach(function(n){var o=n.values,i=n.path;Ao(s,o,l,t,e,r)&&d.push({id:Ur(s,o),property:a,path:i})}),d}if(u){var y=[],h=function(){var o=v.split(",");if(!s.every(function(t){return-1!==o.indexOf(t)}))return 1;n.objs[v].forEach(function(n){var i=n.values,u=n.path;To(s,l,o,i,t,e,r)&&y.push({id:Ur(o,i),property:a,path:u})})};for(var v in n.objs)h();return y}return[]}}}function ri(t,e,r,n){return function(n){return function(o){var i=o.id,a=o.property,u=o.partial;if("string"==typeof i){var c=Wn(n,i);return c?[{id:i,property:a,path:c}]:[]}var s=Object.keys(i).sort(),l=Ie(s,i);if(!u){var f=s.join(","),p=n.objs[f];if(!p)return[];var d=[],y=e?s.map(function(r){var n=t.indexOf(r);return-1!==n?e[n]:void 0}):void 0,h=r?s.map(function(e){var n=t.indexOf(e);return-1!==n?r[n]:void 0}):void 0;return p.forEach(function(e){var r=e.values,n=e.path;Ao(s,r,l,t,y,h)&&d.push({id:Ur(s,r),property:a,path:n})}),d}var v=[],b=function(){var o=m.split(",");if(!s.every(function(t){return-1!==o.indexOf(t)}))return 1;n.objs[m].forEach(function(n){var i=n.values,u=n.path;To(s,l,o,i,t,e,r)&&v.push({id:Ur(o,i),property:a,path:u})})};for(var m in n.objs)b();return v}}}var ni={ON_PROP_CHANGE:1,SET_REQUEST_QUEUE:1,SET_GRAPHS:1,SET_PATHS:1,SET_LAYOUT:1,SET_APP_LIFECYCLE:1,SET_CONFIG:1,ADD_HTTP_HEADERS:1,ON_ERROR:1,SET_HOOKS:1,INSERT_COMPONENT:1,REMOVE_COMPONENT:1,RESET_COMPONENT_STATE:1},oi=function(t){if(ni[t])return t;throw new Error("".concat(t," is not defined."))};function ii(t){var e={STARTED:"STARTED",HYDRATED:"HYDRATED",DESTROYED:"DESTROYED"};if(e[t])return e[t];throw new Error("".concat(t," is not a valid app state."))}var ai,ui,ci=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ii("STARTED"),e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_APP_LIFECYCLE")?ii(e.payload):t};function si(t){return si="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},si(t)}function li(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function fi(t){for(var e=1;e1?arguments[1]:void 0;return cr(function(t,e){return null===e?t:e.type===ui.AddCompleted?function(t,e){return fi(fi({},t),{},{completed:t.completed+e.payload})}(t,e):function(t,e){var r=yi[e.type],n=hi[e.type];return r&&n&&0!==e.payload.length?fi(fi({},t),{},{[n]:r(t[n],e.payload)}):t}(t,e)},arguments.length>0&&void 0!==arguments[0]?arguments[0]:di,t.type===ui.Aggregate?t.payload:[t])},bi=ae(function t(e,r,n){return ke(function(r,n,o){return Se(n)&&Se(o)?t(e,n,o):e(r,n,o)},r,n)}),mi=bi,gi=qt(function(t,e){return mi(function(t,e,r){return r},t,e)});function wi(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_CONFIG")?(window.__dashprivate_childrenProps=gi(window.__dashprivate_childrenProps||{},e.payload.children_props),e.payload):e.type===oi("ADD_HTTP_HEADERS")?gi(t,{fetch:{headers:e.payload}}):t}var Oi={},Si=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Oi,e=arguments.length>1?arguments[1]:void 0;return"SET_GRAPHS"===e.type?e.payload:t};function ji(t){return function(t){if(Array.isArray(t))return _i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return _i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_i(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:Ei,e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"ON_ERROR":var r=t.frontEnd,n=t.backEnd,o=t.backEndConnected;return console.error(e.payload.error),"frontEnd"===e.payload.type?{frontEnd:[ln(e.payload,{timestamp:new Date})].concat(ji(r)),backEnd:n,backEndConnected:o}:"backEnd"===e.payload.type?{frontEnd:r,backEnd:[ln(e.payload,{timestamp:new Date})].concat(ji(n)),backEndConnected:o}:t;case"SET_CONNECTION_STATUS":return ln(t,{backEndConnected:e.payload});default:return t}}function ki(t){return function(t){if(Array.isArray(t))return Ai(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ai(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ai(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ai(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:Ti;switch((arguments.length>1?arguments[1]:void 0).type){case"UNDO":var e=t.past,r=t.present,n=t.future,o=e[e.length-1];return{past:e.slice(0,e.length-1),present:o,future:[r].concat(ki(n))};case"REDO":var i=t.past,a=t.present,u=t.future,c=u[0],s=u.slice(1);return{past:[].concat(ki(i),[a]),present:c,future:s};case"REVERT":var l=t.past,f=t.future,p=l[l.length-1];return{past:l.slice(0,l.length-1),present:p,future:ki(f)};default:return t}},Ii=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{layout_pre:null,layout_post:null,request_pre:null,request_post:null,callback_resolved:null,request_refresh_jwt:null,bear:!1},e=arguments.length>1?arguments[1]:void 0;return"SET_HOOKS"===e.type?e.payload:t};function Ci(t){return Ci="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ci(t)}function Ri(t,e,r){if(r||(r=new Ni),o=Ci(n=t),null==n||"object"!=o&&"function"!=o)return t;var n,o,i,a=function(n){var o=r.get(t);if(o)return o;for(var i in r.set(t,n),t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=e?Ri(t[i],!0,r):t[i]);return n};switch(Qt(t)){case"Object":return a(Object.create(Object.getPrototypeOf(t)));case"Array":return a(Array(t.length));case"Date":return new Date(t.valueOf());case"RegExp":return i=t,new RegExp(i.source,i.flags?i.flags:(i.global?"g":"")+(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.sticky?"y":"")+(i.unicode?"u":"")+(i.dotAll?"s":""));case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":return t.slice();default:return t}}var Di,Ni=function(){function t(){this.map={},this.length=0}return t.prototype.set=function(t,e){var r=this.hash(t),n=this.map[r];n||(this.map[r]=n=[]),n.push([t,e]),this.length+=1},t.prototype.hash=function(t){var e=[];for(var r in t)e.push(Object.prototype.toString.call(t[r]));return e.join()},t.prototype.get=function(t){if(this.length<=180){for(var e in this.map)for(var r=this.map[e],n=0;n0&&void 0!==arguments[0]?arguments[0]:Ji,e=arguments.length>1?arguments[1]:void 0;if("UPDATE_RESOURCE_USAGE"===e.type){var r=e.payload,n=r.id,o=r.usage,i=r.status,a=Fi[i]||i,u={updated:[n],resources:t.resources,callbacks:t.callbacks,graphLayout:t.graphLayout};u.callbacks[n]=u.callbacks[n]||Mi(Hi);var c=u.callbacks[n],s=c.resources,l=u.resources;if(c.count+=1,c.status.latest=a,c.status[a]=(c.status[a]||0)+1,c.result=e.payload.result,c.inputs=e.payload.inputs,c.state=e.payload.state,o){var f=o.__dash_client,p=o.__dash_server,d=o.__dash_upload,y=o.__dash_download,h=function(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n0&&void 0!==arguments[0]?arguments[0]:Wi};!function(t){t.Set="IsLoading.Set"}(Di||(Di={}));var Vi=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1?arguments[1]:void 0;return e.type===Di.Set?e.payload:t},Ki=qt(function(t,e){return Zr(e,[t])}),Yi=function(t){return{value:t,"fantasy-land/map":function(){return this}}},Qi=qt(function(t,e){return t(Yi)(e).value}),Xi=qt(function(t,e){return function(r){return function(n){return Qe(function(t){return e(t,n)},r(t(n)))}}}),Zi=Ot(function(t){return Xi(function(e){return le(t,e)},ve(t))}),ta=ae(function(t,e,r){var n=Array.prototype.slice.call(r,0);return n.splice(t,e),n}),ea=qt(function t(e,r){if(null==r)return r;switch(e.length){case 0:return r;case 1:return function(t,e){if(null==e)return e;if(ue(t)&&de(e))return ta(t,1,e);var r={};for(var n in e)r[n]=e[n];return delete r[t],r}(e[0],r);default:var n=e[0],o=Array.prototype.slice.call(e,1);return null==r[n]?function(t,e){if(ue(t)&&de(e))return[].concat(e);var r={};for(var n in e)r[n]=e[n];return r}(n,r):be(n,t(o,r[n]),r)}});function ra(t){return ra="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ra(t)}function na(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function oa(t,e,r){return(e=function(t){var e=function(t){if("object"!=ra(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=ra(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==ra(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ia(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{components:[]},r=arguments.length>1?arguments[1]:void 0;if(r.type===oi("SET_LAYOUT"))return Array.isArray(r.payload)?e.components=function(t){if(Array.isArray(t))return ia(t)}(t=r.payload)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ia(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ia(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}():e.components=function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:ua,e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_PATHS")?e.payload:t},sa=qt(function(t,e){return ea([t],e)});function la(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"ADD_CALLBACK_JOB":return function(t,e){return be(t.jobId,t,e)}(e.payload,t);case"REMOVE_CALLBACK_JOB":return function(t,e){return sa(t,e)}(e.payload.jobId,t);case"CALLBACK_JOB_OUTDATED":return function(t,e){return ve([t,"outdated"],!0,e)}(e.payload.jobId,t);default:return t}}function fa(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"LOADED":return e.payload.reduce(function(t,e){var r=[JSON.stringify(e.path)],n=pe([],r,t);return ve(r,n.filter(function(t){return t.property!==e.property}),t)},t);case"LOADING":return e.payload.reduce(function(t,e){var r=[JSON.stringify(e.path)],n=pe([],r,t);return ie(e,n)||n.push(e),ve(r,n,t)},t);default:return t}}var pa=qt(function(t,e){return Ke(t+1,function(){var r=arguments[t];if(null!=r&&sr(r[e]))return r[e].apply(r,Array.prototype.slice.call(arguments,0,t));throw new TypeError(br(r)+' does not have a method named "'+e+'"')})}),da=pa(1,"join");function ya(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if(ie(e.type,["UNDO_PROP_CHANGE","REDO_PROP_CHANGE","ON_PROP_CHANGE"])){var r=ba(e.payload.itempath),n=pe(0,[r,"hash"],t);t=be(r,{hash:n+1,changedProps:e.payload.props,renderType:e.payload.renderType},t)}else if("RESET_COMPONENT_STATE"===e.type){var o=e.payload.itempath;if(o){var i=ba(o);return Object.fromEntries(Object.entries(t).filter(function(t){return!(e=t,r=1,function(t){if(Array.isArray(t))return t}(e)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,r)||ga(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0].startsWith(i);var e,r}))}}return t};function ja(){var t={appLifecycle:ci,callbacks:vi,config:wi,error:Pi,graphs:Si,history:xi,hooks:Ii,profile:$i,changed:zi,isLoading:Vi,layout:aa,paths:ca,layoutHashes:Sa,loading:fa};return we(function(e){var r;t[e]=(r=e,function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,n=t;if(e.type===r){var o=e.payload,i=o.id,a={status:o.status,content:o.content};n=Array.isArray(i)?ve(i,a,t):i?be(i,a,t):ln(t,a)}return n})},Oa),t.callbackJobs=la,function(t){for(var e=Object.keys(t),r={},n=0;n1?r-1:0),o=1;on;){var a=t.charCodeAt(o-1);if(32!==a&&9!==a)break;o--}return t.slice(n,o)}function $a(t){if(-1===t.indexOf("%"))return t;try{return decodeURIComponent(t)}catch(e){return t}}var Wa=Ot(function(t){return function(){return t}}),za=function(t){return{value:t,map:function(e){return za(e(t))}}},Va=ae(function(t,e,r){return t(function(t){return za(e(t))})(r).value}),Ka=ae(function(t,e,r){return Va(t,Wa(e),r)});function Ya(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Qa(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Qa(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qa(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(wu(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,wu(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,wu(f,"constructor",s),wu(s,"constructor",c),c.displayName="GeneratorFunction",wu(s,o,"GeneratorFunction"),wu(f),wu(f,o,"Generator"),wu(f,n,function(){return this}),wu(f,"toString",function(){return"[object Generator]"}),(gu=function(){return{w:i,m:p}})()}function wu(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}wu=function(t,e,r,n){function i(e,r){wu(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},wu(t,e,r,n)}function Ou(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Su(t){return function(t){if(Array.isArray(t))return ju(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ju(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ju(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ju(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);ra)o=t.lastIndexOf(";",i-1)+1;else{var u=Ja(t,o,i);void 0===e[u]&&(e[u]=n(Ja(t,i+1,a))),o=a+1}}while(o3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(vc(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,vc(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,vc(f,"constructor",s),vc(s,"constructor",c),c.displayName="GeneratorFunction",vc(s,o,"GeneratorFunction"),vc(f),vc(f,o,"Generator"),vc(f,n,function(){return this}),vc(f,"toString",function(){return"[object Generator]"}),(hc=function(){return{w:i,m:p}})()}function vc(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}vc=function(t,e,r,n){function i(e,r){vc(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},vc(t,e,r,n)}function bc(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}var mc=jt(console.warn),gc={GET:function(t,e,r,n){return fetch(t,gi(e,{method:"GET",headers:Gu(n)}))},POST:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(t,gi(e,{method:"POST",headers:Gu(arguments.length>3?arguments[3]:void 0),body:r?JSON.stringify(r):null}))}};function wc(t,e,r,n,o){return function(){var i,a=(i=hc().m(function i(a,u){var c,s,l,f,p,d,y,h,v,b,m;return hc().w(function(i){for(;;)switch(i.p=i.n){case 0:d=function(t){u().error.backEndConnected!==t&&a({type:"SET_CONNECTION_STATUS",payload:t})},c=u(),s=c.config,l=c.hooks,f=null,p="".concat(Mn(s)).concat(t),a({type:r,payload:{id:n,status:"loading"}}),i.p=1,h=0;case 2:if(!(h<=1)){i.n=11;break}return i.p=3,i.n=4,gc[e](p,s.fetch,o,s);case 4:y=i.v,i.n=6;break;case 5:return i.p=5,i.v,console.log("fetch error",y),d(!1),i.a(2);case 6:if(401!==y.status&&400!==y.status){i.n=9;break}if(!l.request_refresh_jwt){i.n=9;break}return i.n=7,y.text();case 7:if(!i.v.includes(Ui)){i.n=9;break}return i.n=8,l.request_refresh_jwt(s.fetch.headers.Authorization.substr(7));case 8:if(!(v=i.v)){i.n=9;break}return f={Authorization:"Bearer ".concat(v)},s=gi(s,{fetch:{headers:f}}),i.a(3,10);case 9:return i.a(3,11);case 10:h++,i.n=2;break;case 11:if(b=y.headers.get("content-type"),f&&a(ku(f)),d(!0),!b||-1===b.indexOf("application/json")){i.n=12;break}return i.a(2,y.json().then(function(t){return a({type:r,payload:{status:y.status,content:t,id:n}}),t}));case 12:return i.n=13,y.text();case 13:return m=i.v,mc("Response is missing header: content-type: application/json"),i.a(2,a({type:r,payload:{id:n,status:y.status,content:m}}));case 14:i.p=14,Wu(i.v,"Error from API call: "+t,a);case 15:return i.a(2)}},i,null,[[3,5],[1,14]])}),function(){var t=this,e=arguments;return new Promise(function(r,n){var o=i.apply(t,e);function a(t){bc(o,r,n,a,u,"next",t)}function u(t){bc(o,r,n,a,u,"throw",t)}a(void 0)})});return function(t,e){return a.apply(this,arguments)}}()}function Oc(t){return Oc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oc(t)}function Sc(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function jc(t){for(var e=1;e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(xc(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,xc(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,xc(f,"constructor",s),xc(s,"constructor",c),c.displayName="GeneratorFunction",xc(s,o,"GeneratorFunction"),xc(f),xc(f,o,"Generator"),xc(f,n,function(){return this}),xc(f,"toString",function(){return"[object Generator]"}),(Tc=function(){return{w:i,m:p}})()}function xc(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}xc=function(t,e,r,n){function i(e,r){xc(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},xc(t,e,r,n)}function Ic(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Cc(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){Ic(i,n,o,a,u,"next",t)}function u(t){Ic(i,n,o,a,u,"throw",t)}a(void 0)})}}function Rc(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return Dc(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dc(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function Dc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{};Uc(this,t),Gc(this,"localId",Bc()),Gc(this,"endId",""),Gc(this,"downlinkId",""),Gc(this,"pending",new Map),Gc(this,"counter",0),Gc(this,"cursor",0),Gc(this,"downlinkOpen",!1),Gc(this,"abort",null),Gc(this,"loopGen",0),Gc(this,"reconnectDelay",void 0),Gc(this,"maxReconnectDelay",void 0),Gc(this,"reconnectWindow",void 0),Gc(this,"fetchImpl",void 0),Gc(this,"_transport",{}),Gc(this,"wakeUp",null),Gc(this,"wokenForNewStream",!1),this.fetchImpl=null!==(e=i.fetchImpl)&&void 0!==e?e:fetch.bind(globalThis),this.reconnectDelay=null!==(r=i.reconnectDelay)&&void 0!==r?r:1e3,this.maxReconnectDelay=null!==(n=i.maxReconnectDelay)&&void 0!==n?n:5e3,this.reconnectWindow=null!==(o=i.reconnectWindow)&&void 0!==o?o:3e4,this.configure(i)},[{key:"configure",value:function(t){t.mode&&(this._transport.mode=t.mode),"number"==typeof t.pollInterval&&(this._transport.pollInterval=t.pollInterval)}},{key:"transport",get:function(){return Mc({},this._transport)}},{key:"activeCount",get:function(){return this.pending.size}},{key:"connectionEndId",get:function(){return this.endId}},{key:"streamUrl",value:function(t){if(!this.endId)return t;var e=t.includes("?")?"&":"?";return"".concat(t).concat(e,"endId=").concat(encodeURIComponent(this.endId))+"&downlinkId=".concat(encodeURIComponent(this.downlinkId))}},{key:"run",value:function(t,e,r,n,o){return this.start(t,e,r,n,o).settled}},{key:"start",value:function(t,e,r,n,o){var i=this;0!==this.pending.size&&this.endId||(this.endId=r||"",this.downlinkId=Bc(),this.cursor=0);var a="".concat(this.localId,"-").concat(++this.counter),u=new Promise(function(t,e){i.pending.set(a,{onFrame:o,resolve:t,reject:e,acked:!1,gotFrame:!1})});return this.fetchImpl(this.streamUrl(t),Mc(Mc({},e),{},{method:"POST",body:JSON.stringify(Mc(Mc({},n),{},{streamConnection:{requestId:a}}))})).then(function(r){return i.checkUplink(a,r,t,e)}).catch(function(t){return i.fail(a,t)}),{requestId:a,settled:u}}},{key:"cancel",value:function(t,e,r){var n=this.pending.get(t);n&&(this.pending.delete(t),n.reject(new Error("Streaming callback cancelled")),this.fetchImpl(this.streamUrl(e),Mc(Mc({},r),{},{method:"POST",body:JSON.stringify({streamCancel:{requestId:t}})})).catch(function(){}),this.stopDownlinkIfIdle())}},{key:"checkUplink",value:function(t,e,r,n){if(e.ok){var o,i=this.pending.get(t);i&&(i.acked=!0,this.ensureDownlink(r,n),this.wokenForNewStream=!0,null===(o=this.wakeUp)||void 0===o||o.call(this))}else this.fail(t,new Error("stream uplink responded ".concat(e.status)))}},{key:"hasAcked",value:function(){var t,e=Rc(this.pending.values());try{for(e.s();!(t=e.n()).done;)if(t.value.acked)return!0}catch(t){e.e(t)}finally{e.f()}return!1}},{key:"dispatchEnvelope",value:function(t){if(t.reset)return this.cursor=0,void this.settleAll(new Error("stream reset: the server lost this connection (restart or owner change)"));if("number"==typeof t.seq&&(this.cursor=t.seq),void 0!==t.rid&&void 0!==t.frame){var e=this.pending.get(t.rid);if(e){var r=t.frame;r.done?(this.pending.delete(t.rid),r.error?e.reject(new Error(r.error.message||"Streaming callback error")):e.resolve(),this.stopDownlinkIfIdle()):(e.gotFrame=!0,e.onFrame(r))}}}},{key:"settleAll",value:function(t){var e=Array.from(this.pending.values());this.pending.clear(),this.closeDownlink(),e.forEach(function(e){return e.gotFrame?e.resolve():e.reject(t)})}},{key:"fail",value:function(t,e){var r=this.pending.get(t);r&&(this.pending.delete(t),r.reject(e),this.stopDownlinkIfIdle())}},{key:"stopDownlinkIfIdle",value:function(){this.downlinkOpen&&!this.hasAcked()&&this.closeDownlink()}},{key:"closeDownlink",value:function(){var t,e=this.abort;this.abort=null,this.downlinkOpen=!1,this.loopGen++,null===(t=this.wakeUp)||void 0===t||t.call(this),e&&e.abort()}},{key:"ensureDownlink",value:function(t,e){this.downlinkOpen||(this.downlinkOpen=!0,this.readLoop(t,e,++this.loopGen))}},{key:"readLoop",value:(e=Cc(Tc().m(function t(e,r,n){var o,i,a,u,c,s,l,f,p,d;return Tc().w(function(t){for(;;)switch(t.p=t.n){case 0:i="poll"===this._transport.mode,a=null!==(o=this._transport.pollInterval)&&void 0!==o?o:100,u=a,c=0,s=null,l=this.reconnectDelay;case 1:if(!this.hasAcked()||this.loopGen!==n){t.n=14;break}return this.wokenForNewStream&&(this.wokenForNewStream=!1,c=0,u=a),this.abort=new AbortController,f=0,t.p=2,t.n=3,this.fetchImpl(this.streamUrl(e),Mc(Mc({},r),{},{method:"POST",signal:this.abort.signal,body:JSON.stringify({streamDownlink:{from:this.cursor}})}));case 3:if(!((p=t.v).status>=400&&p.status<500)){t.n=4;break}return this.settleAll(new Error("stream downlink responded ".concat(p.status))),t.a(3,14);case 4:if(p.ok&&p.body){t.n=5;break}throw new Error("downlink responded ".concat(p.status));case 5:return t.n=6,this.consume(p.body,n);case 6:if(0!==(f=t.v)||i){t.n=7;break}throw new Error("downlink closed without data");case 7:s=null,l=this.reconnectDelay,t.n=12;break;case 8:if(t.p=8,t.v,this.hasAcked()&&this.loopGen===n){t.n=9;break}return t.a(3,14);case 9:if(!((d=Date.now())-(s=null!=s?s:d)>=this.reconnectWindow)){t.n=10;break}return this.settleAll(new Error("stream downlink lost: could not reconnect to the server")),t.a(3,14);case 10:return t.n=11,Hc(l);case 11:return l=Math.min(2*l,this.maxReconnectDelay),t.a(3,1);case 12:if(!i||!this.hasAcked()||this.loopGen!==n){t.n=13;break}return f?(c=0,u=a):++c>2&&(u=Math.min(2*u,5*a)),t.n=13,this.pause(u);case 13:t.n=1;break;case 14:this.loopGen===n&&(this.downlinkOpen=!1,this.abort=null);case 15:return t.a(2)}},t,this,[[2,8]])})),function(t,r,n){return e.apply(this,arguments)})},{key:"pause",value:function(t){var e=this;return new Promise(function(r){var n=setTimeout(function(){e.wakeUp=null,r()},t);e.wakeUp=function(){clearTimeout(n),e.wakeUp=null,r()}})}},{key:"consume",value:(t=Cc(Tc().m(function t(e,r){var n,o,i,a,u,c,s,l,f;return Tc().w(function(t){for(;;)switch(t.n){case 0:n=e.getReader(),o=new TextDecoder,i="",a=0;case 1:return t.n=2,n.read();case 2:if(u=t.v,c=u.done,s=u.value,!c){t.n=3;break}return t.a(2,a);case 3:i+=o.decode(s,{stream:!0}),l=void 0;case 4:if(!((l=i.indexOf("\n"))>=0)){t.n=7;break}if(f=i.slice(0,l),i=i.slice(l+1),f.trim()){t.n=5;break}return t.a(3,4);case 5:if(this.loopGen===r){t.n=6;break}return t.a(2,a);case 6:a++,this.dispatchEnvelope(JSON.parse(f)),t.n=4;break;case 7:t.n=1;break;case 8:return t.a(2)}},t,this)})),function(e,r){return t.apply(this,arguments)})}]);var t,e}(),$c=function(){return Lc(function t(e){var r,n=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:kc(),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Uc(this,t),Gc(this,"pending",new Map),Gc(this,"counter",0),Gc(this,"port",void 0),Gc(this,"rendererId",void 0),Gc(this,"transport",void 0),Gc(this,"_broken",!1),this.port=e,this.rendererId=o,this.transport=i,e.onmessage=function(t){return n.handleMessage(t.data)},null===(r=e.start)||void 0===r||r.call(e)},[{key:"broken",get:function(){return this._broken}},{key:"activeCount",get:function(){return this.pending.size}},{key:"run",value:function(t,e,r,n,o){var i=this,a="".concat(this.rendererId,"-").concat(++this.counter);return new Promise(function(u,c){i.pending.set(a,{onFrame:o,resolve:u,reject:c,acked:!1,gotFrame:!1});var s={type:"stream",rendererId:i.rendererId,requestId:a,url:t,init:e,endId:r||"",payload:n,transport:i.transport};i.port.postMessage(s)})}},{key:"release",value:function(){var t={type:"unregister",rendererId:this.rendererId};this.port.postMessage(t)}},{key:"fail",value:function(t){this._broken=!0;var e,r=Rc(this.pending.values());try{for(r.s();!(e=r.n()).done;)e.value.reject(t)}catch(t){r.e(t)}finally{r.f()}this.pending.clear()}},{key:"handleMessage",value:function(t){var e=this.pending.get(t.requestId);e&&("frame"!==t.type?(this.pending.delete(t.requestId),"done"===t.type?e.resolve():e.reject(new Error(t.message))):e.onFrame(t.frame))}}])}(),Wc=null;function zc(){var t,e,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Wc instanceof $c&&Wc.broken&&(Wc=null),Wc)return Wc;var o={mode:null===(t=n.stream)||void 0===t?void 0:t.mode,pollInterval:null===(e=n.stream)||void 0===e?void 0:e.poll_interval},i=null===(r=n.stream)||void 0===r?void 0:r.worker_url;if(i&&"undefined"!=typeof SharedWorker)try{var a=new SharedWorker(i,{name:"dash-stream-worker"}),u=new $c(a.port,kc(),o);return a.onerror=function(){return u.fail(new Error("Dash stream worker failed"))},window.addEventListener("pagehide",function(){return u.release()}),Wc=u}catch(t){}return Wc=new Jc(o)}function Vc(t){var e;return!(null===(e=t.stream)||void 0===e||!e.enabled)}function Kc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function os(t,e){if(t){if("string"==typeof t)return is(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?is(t,e):void 0}}function is(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(us(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,us(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,us(f,"constructor",s),us(s,"constructor",c),c.displayName="GeneratorFunction",us(s,o,"GeneratorFunction"),us(f),us(f,o,"Generator"),us(f,n,function(){return this}),us(f,"toString",function(){return"[object Generator]"}),(as=function(){return{w:i,m:p}})()}function us(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}us=function(t,e,r,n){function i(e,r){us(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},us(t,e,r,n)}function cs(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function ss(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){cs(i,n,o,a,u,"next",t)}function u(t){cs(i,n,o,a,u,"throw",t)}a(void 0)})}}function ls(t,e){for(var r=0;r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function ws(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Os(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(Os(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,Os(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,Os(f,"constructor",s),Os(s,"constructor",c),c.displayName="GeneratorFunction",Os(s,o,"GeneratorFunction"),Os(f),Os(f,o,"Generator"),Os(f,n,function(){return this}),Os(f,"toString",function(){return"[object Generator]"}),(ws=function(){return{w:i,m:p}})()}function Os(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Os=function(t,e,r,n){function i(e,r){Os(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},Os(t,e,r,n)}function Ss(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function js(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){Ss(i,n,o,a,u,"next",t)}function u(t){Ss(i,n,o,a,u,"throw",t)}a(void 0)})}}function _s(t){return function(t){if(Array.isArray(t))return ks(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||Ps(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Es(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(t,e)||Ps(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ps(t,e){if(t){if("string"==typeof t)return ks(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ks(t,e):void 0}}function ks(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r5&&void 0!==arguments[5]&&arguments[5],a="Input"===o?r.getInputs:r.getState,u=[],c=0,s=a(t).map(function(i,a){var s=Es(Qs(t,i.map(function(t){var r=t.id,n=t.property,o=t.path;return{id:r,property:n,value:Oe([].concat(_s(o),["props",n]),e)}}),n[a],r.anyVals,o),2),l=s[0],f=s[1];return Io(n[a])&&!l.length&&c++,f&&u.push(f),l});if(u.length){if(i&&u.length+c===s.length)return null;Zs(u,t)}return s}function Zs(t,e){var r=t[0];throw-1!==r.indexOf("logged above")&&console.error(e.objs),new ReferenceError(r)}var tl=function(t){return Array.isArray(t)?Pr("value",t):t.value},el=function(t,e){return Array.isArray(t)?e===window.dash_clientside.no_update?Br(t,[e]):Br(t,e):[[t,e]]};function rl(t){return t.split("@")[0]}function nl(t){return Yt(t).length?{patchedOutputs:t}:{}}function ol(t,e,r,n){var o={};return He(t).forEach(function(t){var i=rl(t.property),a=Wn(e,t.id),u=vo(t.id),c=[u,i],s=Oe(c,n);if(void 0!==s){nc(s)&&(o[u]=o[u]||{patchedProps:{},freshIds:{},writtenProps:{},tailAppends:{}});var l=Oe(a.concat(["props"]),r)||{},f=yc({[i]:s},l,o[u]);n=ve(c,f[i],n)}}),{data:n,patchedOutputs:o}}function il(t,e,r,n){return al.apply(this,arguments)}function al(){return al=js(ws().m(function t(e,r,n,o){var i,a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O,S;return ws().w(function(t){for(;;)switch(t.p=t.n){case 0:if((i=window.dash_clientside=window.dash_clientside||{}).no_update||(Object.defineProperty(i,"no_update",{value:{description:"Return to prevent updating an Output."},writable:!1}),Object.defineProperty(i,"PreventUpdate",{value:{description:"Throw to prevent updating all Outputs."},writable:!1})),a=o.inputs,u=o.outputs,c=o.state,s=Date.now(),l=yl(a),f=yl(c),p={},d=qi,t.p=1,v=r.namespace,b=r.function_name,m=a.map(tl),c&&(m=mr(m,c.map(tl))),i.callback_context={},i.callback_context.triggered=o.changedPropIds.map(function(t){return{prop_id:t,value:l[t]}}),i.callback_context.triggered_id=hl(o.changedPropIds),i.callback_context.inputs_list=a,i.callback_context.inputs=l,i.callback_context.states_list=c,i.callback_context.states=f,i.callback_context.outputs_list=u,g=(y=i[v])[b].apply(y,_s(m)),delete i.callback_context,"function"!=typeof(null===(h=g)||void 0===h?void 0:h.then)){t.n=3;break}return t.n=2,g;case 2:g=t.v;case 3:u&&el(u,g).forEach(function(t){var e=Es(t,2),r=e[0],n=e[1];el(r,n).forEach(function(t){var e=Es(t,2),r=e[0],n=e[1],o=r.id,a=r.property,u=vo(o),c=p[u]=p[u]||{};n!==i.no_update&&(c[rl(a)]=n)})}),t.n=6;break;case 4:if(t.p=4,(S=t.v)!==i.PreventUpdate){t.n=5;break}d=Li,t.n=6;break;case 5:throw d="CLIENTSIDE_ERROR",S;case 6:return t.p=6,delete i.callback_context,w=Date.now()-s,O={__dash_server:w,__dash_client:w,__dash_upload:0,__dash_download:0},n.ui&&e(zs({id:o.output,usage:O,status:d,result:p,inputs:a,state:c})),t.f(6);case 7:return t.a(2,p)}},t,null,[[1,4,6,7]])})),al.apply(this,arguments)}function ul(t,e){return function(r,n){Da(t).reduce(function(t,r,o){var i,a=Es(r,2),u=a[0],c=a[1],s=u,l=[];if(u.startsWith("{")){var f=Es(Yc(u),2);s=f[0],i=f[1],l=function(t,e,r,n){var o=[],i={};return Da(t).forEach(function(a){var u,c,s=(c=2,function(t){if(Array.isArray(t))return t}(u=a)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(u,c)||function(t,e){if(t){if("string"==typeof t)return Kc(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Kc(t,e):void 0}}(u,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=s[0],f=s[1];if(!o.length)if(Array.isArray(f)){var p=(e.parsedChangedPropsIds[r]||e.parsedChangedPropsIds[0])[l];f.includes("MATCH")?i[l]=p:f.includes("ALL")?o=Qc(t,n(),l):f.includes("ALLSMALLER")&&(o=Qc(t,n(),l).filter(function(t){return t[l]s)){t.n=4;break}return t.p=1,y=new Blob([o]).stream().pipeThrough(new CompressionStream("gzip")),t.n=2,new Response(y).blob();case 2:d=t.v,e["Content-Encoding"]="gzip",t.n=4;break;case 3:t.p=3,b=t.v,console.warn("Sending uncompressed payload, because compressing failed:",b);case 4:return t.a(2,fetch(n,gi(r.fetch,{method:"POST",headers:e,body:d})))}},t,null,[[1,3]])}));return function(){return t.apply(this,arguments)}}();return new Promise(function(i,u){var c=function(c){var s=c.status;if(f){var b=a().callbackJobs[f];if(null!=b&&b.outdated)return t(Ks({jobId:f})),i({})}function m(e){if(r.ui){var o={__dash_server:0,__dash_client:Date.now()-y,__dash_upload:h.length,__dash_download:Number(c.headers.get("Content-Length"))};(c.headers.get("Server-Timing")||"").split(",").forEach(function(t){var e=t.split(";")[0],r=t.match(/;dur=[0-9.]+/);r&&(o[e]=Number(r[0].slice(5)))}),t(zs({id:n.output,usage:o,status:s,result:e,inputs:n.inputs,state:n.state}))}}var g=function(t){var r,o=t.multi,a=t.response;if(e.request_post&&e.request_post(n,a),o)r=a;else{var u=n.output,c=u.substr(0,u.lastIndexOf("."));r={[c]:a.props}}m(r),i(r)},w=function(){f&&t(Ks({jobId:f})),p&&t(ul(p,n)),d&&t(ul(d,n))},O=function(){var r=js(ws().m(function r(o){var a,c,s,l,f,p,d,y,h,v,b,g,O,S,j;return ws().w(function(r){for(;;)switch(r.p=r.n){case 0:a=o.body.getReader(),c=new TextDecoder,s="",f=!1,p=function(){var r=js(ws().m(function r(o){return ws().w(function(r){for(;;)switch(r.n){case 0:if(!o.done){r.n=2;break}if(f=!0,w(),!o.error){r.n=1;break}return m({}),u(new Error(o.error.message||"Callback error")),r.a(2);case 1:return e.request_post&&e.request_post(n,l),m(l||{}),i({}),r.a(2);case 2:if(!o.dist){r.n=3;break}return r.n=3,Promise.all(o.dist.map(Ec));case 3:l=o.response,cl(t,o,n);case 4:return r.a(2)}},r)}));return function(t){return r.apply(this,arguments)}}(),r.p=1;case 2:return r.n=3,a.read();case 3:if(d=r.v,y=d.done,h=d.value,!y){r.n=4;break}return r.a(3,14);case 4:s+=c.decode(h,{stream:!0}),v=s.split("\n"),s=v.pop(),b=gs(v),r.p=5,b.s();case 6:if((g=b.n()).done){r.n=10;break}if((O=g.value).trim()){r.n=7;break}return r.a(3,9);case 7:return r.n=8,p(JSON.parse(O));case 8:if(!f){r.n=9;break}return a.cancel(),r.a(2);case 9:r.n=6;break;case 10:r.n=12;break;case 11:r.p=11,S=r.v,b.e(S);case 12:return r.p=12,b.f(),r.f(12);case 13:r.n=2;break;case 14:if(!s.trim()||f){r.n=15;break}return r.n=15,p(JSON.parse(s));case 15:r.n=17;break;case 16:if(r.p=16,j=r.v,f){r.n=17;break}return f=!0,w(),l?(m(l),i({})):(m({}),u(j)),r.a(2);case 17:f||(w(),m(l||{}),i({}));case 18:return r.a(2)}},r,null,[[5,11,12,13],[1,16]])}));return function(t){return r.apply(this,arguments)}}();if(s===qi){if((c.headers.get("Content-Type")||"").includes("application/x-ndjson")&&c.body)return void O(c);c.json().then(function(e){if(!l&&e.cacheKey&&(l=e.cacheKey),!f&&e.job){var r={jobId:e.job,cacheKey:e.cacheKey,cancelInputs:e.cancel,progressDefault:e.progressDefault,output:JSON.stringify(n.outputs)};t(Vs(r)),f=e.job}e.sideUpdate&&t(ul(e.sideUpdate,n)),e.progress&&t(ul(e.progress,n)),!d&&e.progressDefault&&(d=e.progressDefault),o&&void 0===e.response?setTimeout(v,void 0!==o.interval?o.interval:500):e.dist?Promise.all(e.dist.map(Ec)).then(function(){w(),g(e)}):(w(),g(e))})}else s===Li?(w(),m({}),i({})):(w(),u(c))},s=function(){r.ui&&t(zs({id:n.output,status:Gi,result:{},inputs:n.inputs,state:n.state})),u(new Error("Callback failed: the server did not respond."))},v=function(){b().then(c,s)};v()})}function pl(t,e,r,n,o){return dl.apply(this,arguments)}function dl(){return dl=js(ws().m(function t(e,r,n,o,i){var a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O;return ws().w(function(t){for(;;)switch(t.p=t.n){case 0:return r.request_pre&&r.request_pre(o),a=Date.now(),i&&(e(ul(i.running,o)),u=i.runningOff),c=hs(),t.p=1,t.n=2,c.ensureConnected(n);case 2:return t.n=3,c.sendCallback(o,function(t){s=null==t?void 0:t.response,cl(e,t,o)});case 3:if(l=t.v,u&&e(ul(u,o)),"prevent_update"!==l.status){t.n=4;break}return n.ui&&(f=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:f,__dash_client:f,__dash_upload:0,__dash_download:0},status:Li,result:{},inputs:o.inputs,state:o.state}))),t.a(2,{});case 4:if("error"!==l.status){t.n=5;break}throw new Error(l.message||"Callback error");case 5:if(!l.stream){t.n=6;break}return r.request_post&&r.request_post(o,s),n.ui&&(p=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:p,__dash_client:p,__dash_upload:0,__dash_download:0},status:qi,result:s||{},inputs:o.inputs,state:o.state}))),t.a(2,{});case 6:return null!=(d=l.data)&&d.sideUpdate&&e(ul(d.sideUpdate,o)),v=(h=d||{}).multi,b=h.response,r.request_post&&r.request_post(o,b),v?y=b:(m=o.output,g=m.substr(0,m.lastIndexOf(".")),y={[g]:null==b?void 0:b.props}),n.ui&&(w=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:w,__dash_client:w,__dash_upload:0,__dash_download:0},status:qi,result:y||{},inputs:o.inputs,state:o.state}))),t.a(2,y||{});case 7:throw t.p=7,O=t.v,u&&e(ul(u,o)),n.ui&&e(zs({id:o.output,status:Gi,result:{},inputs:o.inputs,state:o.state})),O;case 8:return t.a(2)}},t,null,[[1,7]])})),dl.apply(this,arguments)}function yl(t){if(!t)return{};for(var e={},r=0;rt.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]&&arguments[3],c=arguments.length>4?arguments[4]:void 0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,f=r().paths,d=s?s.location.length?Oe(s.location,t):t:void 0,y=s?s.location.length?Oe(s.location,n):n:void 0,h=!!s&&s.count>0&&Array.isArray(d)&&Array.isArray(y)&&d.length===y.length+s.count,v=h&&s?function(t,e,r,n){var o=Bn({},n.strs),i=Bn({},n.objs),a={},u=n.objIndex?Bn({},n.objIndex):null;return t.forEach(function(t,n){qn(t,function(t,i){var u=t.props&&t.props.id;if(u){var c=mr(e,[r+n]).concat(i);if("object"===Gn(u)){var s=Object.keys(u).sort(),l=Ie(s,u),f=s.join(",");(a[f]=a[f]||[]).push({values:l,path:c})}else o[u]=c}})}),Object.keys(a).forEach(function(t){if(i[t]=mr(i[t]||[],a[t]),u){var e=Bn({},u[t]||{});a[t].forEach(function(t){var r=t.values,n=t.path,o=Jn(r);o in e||(e[o]=n)}),u[t]=e}}),Bn(Bn({strs:o,objs:i},u?{objIndex:u}:{}),{},{events:n.events})}(d.slice(y.length),i.concat(s.location),y.length,f):$n(t,i,f);e(Iu(v)),o=mr(o,Yo(l,v,t,{chunkPath:i,patchAnalysis:c,filterRoot:u}).map(function(t){return gl(gl({},t),{},{predecessors:a})})),h||(o=mr(o,Yo(l,p,n,{removedArrayInputsOnly:!0,newPaths:v,chunkPath:i,filterRoot:u}).map(function(t){return gl(gl({},t),{},{predecessors:a})})))},w=!1;["children"].concat(m).forEach(function(t){var e,r;if(!w)if(t.includes("[]")){var n=Ol(t.split("[]").map(function(t){return t.split(".").filter(function(t){return t})}),1)[0];if(!Oe(n,h))return;g(gl(gl({},b),{},{props:gl(gl({},b.props),h)}),b,v,Yt(h),(e=d,r=Yt(u),e&&r.length&&r.every(function(t){return e.patchedProps[t]})?e:void 0)),w=!0}else{var o=t.split("."),i=Oe(o,h);if(void 0===i)return;var a=mr(Wn(p,c),["props"].concat(o)),s=Oe(a,f),l=Vn(d,o[0]);g(i,s,a,!1,l,1===o.length?function(t,e){var r=null==t?void 0:t.tailAppends[e];return r&&"object"===zn(r)?r:null}(l,o[0]):null)}});var O=Nr(function(t,e){return!(e in u)},h);if(!Ee(O)){var S=r(),j=S.graphs,_=S.paths;o=mr(o,Xo(i,O,j,_).map(function(t){return gl(gl({},t),{},{predecessors:a})}))}}}),i.push(gl(gl({},t),{},{executionMeta:{allProps:Qe(Wo,He(t.getOutputs(r().paths))),updatedProps:He(Qe(function(t){var e=Ol(t,2),r=e[0],n=e[1];return Qe(function(t){return Wo({id:r,property:t})},Yt(n))},Da(f)))}}))),void 0!==p){var h;if(t.callback.no_output){var v=Yt(t.changedPropIds).join(", ");h="Callback error with no output from input ".concat(v)}else{var b=d?Qe(Wo,He([d.outputs])).join(", "):s;h="Callback error updating ".concat(b)}if(c){var m=c.namespace,g=c.function_name;h+=" via clientside function ".concat(m,".").concat(g)}Wu(p,h,e),i.push(gl(gl({},t),{},{executionMeta:{allProps:Qe(Wo,He(t.getOutputs(r().paths))),updatedProps:[]}}))}}}),e(Ws([n.length?Ls(n):null,n.length?Cs(n.length):null,i.length?Us(i):null,o.length?Ms(o):null]))},inputs:["callbacks.executed"]},_l=jl;function El(t){return El="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},El(t)}function Pl(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return kl(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(kl(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,kl(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,kl(f,"constructor",s),kl(s,"constructor",c),c.displayName="GeneratorFunction",kl(s,o,"GeneratorFunction"),kl(f),kl(f,o,"Generator"),kl(f,n,function(){return this}),kl(f,"toString",function(){return"[object Generator]"}),(Pl=function(){return{w:i,m:p}})()}function kl(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}kl=function(t,e,r,n){function i(e,r){kl(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},kl(t,e,r,n)}function Al(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Tl(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(zl(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,zl(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,zl(f,"constructor",s),zl(s,"constructor",c),c.displayName="GeneratorFunction",zl(s,o,"GeneratorFunction"),zl(f),zl(f,o,"Generator"),zl(f,n,function(){return this}),zl(f,"toString",function(){return"[object Generator]"}),(Wl=function(){return{w:i,m:p}})()}function zl(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}zl=function(t,e,r,n){function i(e,r){zl(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},zl(t,e,r,n)}function Vl(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Kl(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r(null!==(n=e.priority)&&void 0!==n?n:"")?-1:1},of=function(t,e){var r=(0,t.getOutputs)(e),n=He(r),o=[],i={};return n.forEach(function(t){var e=t.id,r=t.property,n=vo(e);(i[n]=i[n]||[]).push(r),o.push(Wo({id:n,property:r}))}),{allOutputs:r,allPropIds:o}},af=function(t,e){var r=[].concat(tf(He(t.getInputs(e))),tf(He(t.getState(e)))),n=new Map(r.map(function(t){return[vo(t.id),t]}));return Array.from(n.values())},uf={observer:function(){var t=Zl(Wl().m(function t(e){var r,n,o,i,a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O,S,j,_,E,P,k,A,T,x,I,C,R,D,N;return Wl().w(function(t){for(;;)switch(t.n){case 0:if(r=e.dispatch,n=e.getState,o=n(),i=o.callbacks,a=i.executing,u=i.watched,c=o.config,s=o.hooks,l=o.layout,f=o.paths,p=o.appLifecycle,d=n(),y=d.callbacks.prioritized,p===ii("HYDRATED")){t.n=1;break}return t.a(2);case 1:h=function(t){return Jl(t,c)},v=a.filter(h).length+u.filter(h).length,b=Math.max(0,12-v),y=Fl(nf,y),m=xr(h,y),g=Ql(m,2),w=g[0],O=g[1],j=xr(S=function(t){return!0===Hl(l,f,af(t,f))},w),_=Ql(j,2),E=_[0],P=_[1],k=E.slice(0,b),A=P.slice(0,b-k.length),T=xr(S,O),x=Ql(T,2),I=x[0],C=x[1],R=[].concat(tf(I),tf(k)),D=[].concat(tf(C),tf(A)),R.length&&r(Ws([Bs(R),Ds(Qe(function(t){return vl(t,c,s,f,l,of(t,f),r,n)},R))])),D.length&&(N=Qe(function(t){return Kl(Kl(Kl({},t),of(t,f)),{},{isReady:Hl(l,f,af(t,f))})},D),r(Ws([Bs(D),Is(N)])),N.forEach(function(){var t=Zl(Wl().m(function t(e){var o,i,a;return Wl().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,e.isReady;case 1:if(o=n(),i=o.callbacks.blocked,En(function(t){return t===e||t.isReady===e.isReady},i)){t.n=2;break}return t.a(2);case 2:a=vl(e,c,s,f,l,e,r,n),r(Ws([Gs([e]),Ds([a])]));case 3:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}()));case 2:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}(),inputs:["callbacks.prioritized","callbacks.completed"]},cf=uf,sf=function(){function t(t,e,r,n){this.valueFn=t,this.valueAcc=e,this.keyFn=r,this.xf=n,this.inputs={}}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){var e;for(e in this.inputs)if(Ft(e,this.inputs)&&(t=this.xf["@@transducer/step"](t,this.inputs[e]))["@@transducer/reduced"]){t=t["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){var r=this.keyFn(e);return this.inputs[r]=this.inputs[r]||[r,Ri(this.valueAcc,!1)],this.inputs[r][1]=this.valueFn(this.inputs[r][1],e),t},t}();function lf(t,e,r){return function(n){return new sf(t,e,r,n)}}var ff=qt(me("groupBy",ze(4,[],Re([],lf,function(t,e,r,n){var o=ur(function(n,o){var i=r(o),a=t(Ft(i,n)?n[i]:Ri(e,!1),o);return a&&a["@@transducer/reduced"]?gr(n):(n[i]=a,n)});return ir(o,{},n)}))(function(t,e){return t.push(e),t},[]))),pf=qt(function(t,e){return sn({},e,t)});function df(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return yf(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(yf(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,yf(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,yf(f,"constructor",s),yf(s,"constructor",c),c.displayName="GeneratorFunction",yf(s,o,"GeneratorFunction"),yf(f),yf(f,o,"Generator"),yf(f,n,function(){return this}),yf(f,"toString",function(){return"[object Generator]"}),(df=function(){return{w:i,m:p}})()}function yf(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}yf=function(t,e,r,n){function i(e,r){yf(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},yf(t,e,r,n)}function hf(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}var vf=function(){var t,e=(t=df().m(function t(e){var r,n;return df().w(function(t){for(;;)if(0===t.n)return n=new Promise(function(t){return r=t}),setTimeout(r,e),t.a(2,n)},t)}),function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){hf(i,n,o,a,u,"next",t)}function u(t){hf(i,n,o,a,u,"throw",t)}a(void 0)})});return function(t){return e.apply(this,arguments)}}();function bf(t){return bf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bf(t)}function mf(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}throw new TypeError(bf(t)+" is not iterable")}function gf(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return wf(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(wf(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,wf(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,wf(f,"constructor",s),wf(s,"constructor",c),c.displayName="GeneratorFunction",wf(s,o,"GeneratorFunction"),wf(f),wf(f,o,"Generator"),wf(f,n,function(){return this}),wf(f,"toString",function(){return"[object Generator]"}),(gf=function(){return{w:i,m:p}})()}function wf(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}wf=function(t,e,r,n){function i(e,r){wf(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},wf(t,e,r,n)}function Of(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Sf(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r4&&void 0!==arguments[4]?arguments[4]:null,i=[];for(var a in t)if(t.hasOwnProperty(a)){var u=void 0;try{"function"!=typeof t[a]?(u=Error((n||"React class")+": "+r+" type `"+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+cp(t[a])+"`.")).name="Invariant Violation":u=t[a](e,a,n,r,null,up()())}catch(t){u=t}if(!u||u instanceof Error||i.push((n||"React class")+": type specification of "+r+" `"+a+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+cp(u)+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error){var c=o&&o()||"";i.push("Failed "+r+" type: "+u.message+c)}}return i.join("\n\n")}(e.propTypes,r,"component prop",e);return i&&function(t,e,r){var n,o=t.split("`");if(ie("is marked as required",t)){var i=o[1];n="".concat(i," in ").concat(r),e.id&&(n+=' with ID "'.concat(e.id,'"')),n+=" is required but it was not provided."}else if(ie("Bad object",t))n=t.split("supplied to ")[0]+"supplied to ".concat(r)+".\nBad"+t.split(".\nBad")[1];else{if(!ie("Invalid ",t)||!ie(" supplied to ",t))throw new Error(t);var a=o[1];if(n="Invalid argument `".concat(a,"` passed into ").concat(r),e.id&&(n+=' with ID "'.concat(e.id,'"')),n+=".",ie(", expected ",t)){var u=t.split(", expected ")[1];n+="\nExpected ".concat(u)}if(ie(" of type `",t)){var c=t.split(" of type `")[1].split("`")[0];n+="\nWas supplied type `".concat(c,"`.")}if(Tn(a,e)){var s=JSON.stringify(e[a],null,2);s&&(ie("\n",s)?n+="\nValue provided: \n".concat(s):n+="\nValue provided: ".concat(s))}}throw new Error(n)}(i,r,o.type),n}var lp=w()().createContext({});function fp(t){var e=t.children,r=t.componentPath,n=(0,g().useMemo)(function(){return JSON.stringify(r)},[r]),o=dt(),i=(0,g().useCallback)(function(t){var e=t||{},i=e.extraPath,a=e.rawPath,u=e.filterFunc,c=[n];i?c=[JSON.stringify(mr(r,i))]:a&&(c=[JSON.stringify(a)]);var s=pe([],c,o.getState().loading);return u?s.filter(u).length>0:s.length>0},[n]),a=(0,g().useCallback)(function(t){var e=t||{},o=e.filterFunc,i=e.extraPath,a=e.rawPath;return U(function(t){var e=[n];i?e=[JSON.stringify(mr(r,i))]:a&&(e=[JSON.stringify(a)]);var u=pe([],e,t.loading);return o?u.filter(o).length>0:u.length>0})},[n]),u=(0,g().useMemo)(function(){return{componentPath:r,isLoading:i,useLoading:a,useSelector:U,useStore:dt,useDispatch:bt}},[n]);return w()().createElement(lp.Provider,{value:u},e)}function pp(t){return pp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pp(t)}var dp=["componentPath","_dashprivate_error","_passedComponent","_newRender"],yp=["_dash_error"];function hp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function vp(t,e,r){return(e=function(t){var e=function(t){if("object"!=pp(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=pp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==pp(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function bp(t){return function(t){if(Array.isArray(t))return gp(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||mp(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mp(t,e){if(t){if("string"==typeof t)return gp(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?gp(t,e):void 0}}function gp(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(t)){var i=ba(e),a=n?b.current[i]:void 0;return b.current[i]=t,t.map(function(t,i){if(va(t)){var u=n&&(null==a?void 0:a[i])===t;return C(t,mr(o,["props"].concat(bp(e),[i])),u?0:r)}return t})}return va(t)?C(t,mr(o,["props"].concat(bp(e))),r):t},[o]),D=function(t){for(var e=1;e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(jp(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,jp(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,jp(f,"constructor",s),jp(s,"constructor",c),c.displayName="GeneratorFunction",jp(s,o,"GeneratorFunction"),jp(f),jp(f,o,"Generator"),jp(f,n,function(){return this}),jp(f,"toString",function(){return"[object Generator]"}),(Sp=function(){return{w:i,m:p}})()}function jp(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}jp=function(t,e,r,n){function i(e,r){jp(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},jp(t,e,r,n)}function _p(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Ep(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0:t}))&&t.push(i):i.getOutputs(o).some(function(t){return Array.isArray(t)?t.length>0:t})&&t.push(i),t},[]);t(Ms([].concat(Su(a),Su(u))))}(t,e),t(Eu(ii("HYDRATED")))}))}catch(t){a.frontEnd.length||a.backEnd.length||i(_u({type:"backEnd",error:t})),p=!0}finally{r(p)}}})}Pp.propTypes={appLifecycle:_().oneOf([ii("STARTED"),ii("HYDRATED"),ii("DESTROYED")]),dispatch:_().func,dependenciesRequest:_().object,graphs:_().object,hooks:_().object,layoutRequest:_().object,layout:_().any,history:_().any,error:_().object,config:_().object};var Ap=lt(function(t){return{appLifecycle:t.appLifecycle,dependenciesRequest:t.dependenciesRequest,hooks:t.hooks,layoutRequest:t.layoutRequest,layout:t.layout,graphs:t.graphs,history:t.history,error:t.error,config:t.config}},function(t){return{dispatch:t}})(Pp);function Tp(t){return t.isLoading?w()().createElement("div",{className:"_dash-loading-callback"}):null}Tp.propTypes={isLoading:_().bool.isRequired};var xp=lt(function(t){return{isLoading:t.isLoading}})(Tp);s(),d(),l(),p(),f(),y();var Ip=r(217),Cp={};function Rp(t){var e=t.dispatch,r=t.history,n=w()().createElement("span",{key:"undoLink",className:"_dash-undo-redo-link",onClick:function(){return e(Bu)}},w()().createElement("div",{className:"_dash-icon-undo"},"↺"),w()().createElement("div",{className:"_dash-undo-redo-label"},"undo")),o=w()().createElement("span",{key:"redoLink",className:"_dash-undo-redo-link",onClick:function(){return e(Fu)}},w()().createElement("div",{className:"_dash-icon-redo"},"↻"),w()().createElement("div",{className:"_dash-undo-redo-label"},"redo"));return w()().createElement("div",{className:"_dash-undo-redo"},w()().createElement("div",null,r.past.length>0?n:null,r.future.length>0?o:null))}Cp.styleTagTransform=function t(){return t.c||(t.c=r.n(y()))}()(),Cp.setAttributes=function t(){return t.c||(t.c=r.n(p()))}()(),Cp.insert=function t(){return t.c||(t.c=r.n(l()))}()().bind(null,"head"),Cp.domAPI=function t(){return t.c||(t.c=r.n(d()))}()(),Cp.insertStyleElement=function t(){return t.c||(t.c=r.n(f()))}()(),function t(){return t.c||(t.c=r.n(s()))}()()(Ip.A,Cp),Ip.A&&Ip.A.locals&&Ip.A.locals,Rp.propTypes={history:_().object,dispatch:_().func};var Dp=lt(function(t){return{history:t.history}},function(t){return{dispatch:t}})(Rp),Np=Ot(function(t){return function(e,r){return t(e,r)?-1:t(r,e)?1:0}}),Mp=qt(function(t,e){return tt.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(r.content.files);try{for(a.s();!(o=a.n()).done;){var u=o.value;if(!u.is_css){i=!1;break}i=!0;for(var c=[],s=document.evaluate('//link[contains(@href, "'.concat(u.url,'")]'),this._head),l=s.iterateNext();l;)c.push(l),l=s.iterateNext();if(we(function(t){return t.setAttribute("disabled","disabled")},c),u.modified>0){var f=document.createElement("link");f.href="".concat(u.url,"?m=").concat(u.modified),f.type="text/css",f.rel="stylesheet",this._head.appendChild(f)}}}catch(t){a.e(t)}finally{a.f()}i||window.location.reload()}else null!==this.state.intervalId&&500===r.status&&(this._retry>this.state.max_retry&&(this.clearInterval(),window.alert("Hot reloading is disabled after failing ".concat(this._retry," times. ")+"Please check your application for errors, then refresh the page.")),this._retry++)}},{key:"componentDidMount",value:function(){var t=this.props,e=t.dispatch,r=t.reloadRequest,n=this.state,o=n.disabled,i=n.interval;if(!o&&!this.state.intervalId){var a=window.setInterval(function(){"loading"!==r.status&&e(wc("_reload-hash","GET","reloadRequest"))},i);this.setState({intervalId:a})}}},{key:"componentWillUnmount",value:function(){!this.state.disabled&&this.state.intervalId&&this.clearInterval()}},{key:"render",value:function(){return null}}],o=[{key:"getDerivedStateFromProps",value:function(t){return Ee(t.reloadRequest)||"loading"===t.reloadRequest.status?null:{reloadRequest:t.reloadRequest}}}],n&&Lp(r.prototype,n),o&&Lp(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(w()().Component);Jp.defaultProps={},Jp.propTypes={id:_().string,config:_().object,reloadRequest:_().object,dispatch:_().func,interval:_().number};var $p=lt(function(t){return{config:t.config,reloadRequest:t.reloadRequest}},function(t){return{dispatch:t}})(Jp);function Wp(){var t=document.getElementById("_dash-config");return JSON.parse(null!=t&&t.textContent?null==t?void 0:t.textContent:"{}")}var zp=qt(function(t,e){var r={};return mt(e.length,function(){var n=t.apply(this,arguments);return Ft(n,r)||(r[n]=e.apply(this,arguments)),r[n]})}),Vp=zp;function Kp(t){return Kp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kp(t)}function Yp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Qp(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length)&&Tn(String(r),t))return t[r]}}function sd(t,e){if("string"==typeof e&&Tn(e,t))return t[e]}function ld(t,e){if(Array.isArray(e)){var r,n=t,o=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return ud(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ud(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(e);try{for(o.s();!(r=o.n()).done;){var i=r.value;if(Array.isArray(n))n=cd(n,i);else{if(null===n||"object"!==ad(n))return;n=sd(n,i)}}}catch(t){o.e(t)}finally{o.f()}return n}}function fd(t){return fd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fd(t)}function pd(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return dd(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(dd(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,dd(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,dd(f,"constructor",s),dd(s,"constructor",c),c.displayName="GeneratorFunction",dd(s,o,"GeneratorFunction"),dd(f),dd(f,o,"Generator"),dd(f,n,function(){return this}),dd(f,"toString",function(){return"[object Generator]"}),(pd=function(){return{w:i,m:p}})()}function dd(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}dd=function(t,e,r,n){function i(e,r){dd(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},dd(t,e,r,n)}function yd(t){return function(t){if(Array.isArray(t))return Od(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||wd(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function vd(t){for(var e=1;e=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function wd(t,e){if(t){if("string"==typeof t)return Od(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Od(t,e):void 0}}function Od(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&(console.log("[Dash] Re-triggering ".concat(r.length," persistent callback(s)")),e.dispatch(Ms(r)))}}},a.onDisconnected=function(t){console.log("[Dash] WebSocket disconnected: ".concat(t)),c=!0},a.onError=function(t,e){console.error("[Dash] WebSocket error: ".concat(t),e)},document.addEventListener("visibilitychange",function(){"visible"===document.visibilityState&&(a.connected?a.notifyTabVisible():c&&(console.log("[Dash] Tab visible, reconnecting WebSocket..."),a.ensureConnected(r).catch(function(t){return console.error("[Dash] Failed to reconnect:",t)})))}),null!==(i=r.websocket)&&void 0!==i&&i.enabled){t.n=3;break}return t.a(2);case 3:return s=Ed(r),t.p=4,t.n=5,a.connect(r.websocket.worker_url,s,r.websocket.inactivity_timeout);case 5:t.n=7;break;case 6:t.p=6,l=t.v,console.error("[Dash] Failed to connect to WebSocket worker:",l);case 7:return t.a(2)}},t,null,[[4,6]])}),_d=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){md(i,n,o,a,u,"next",t)}function u(t){md(i,n,o,a,u,"throw",t)}a(void 0)})},_d.apply(this,arguments)}function Ed(t){var e;if(null===(e=t.websocket)||void 0===e||!e.url)throw new Error("WebSocket URL not configured");var r="https:"===window.location.protocol?"wss:":"ws:",n=window.location.host;return"".concat(r,"//").concat(n).concat(t.websocket.url)}function Pd(t){return Pd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pd(t)}function kd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Ad(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r1&&void 0!==arguments[1]?arguments[1]:"about:blank";if(""===t)return t;var r=t.replace(Kd,"").replace(Yd,"").replace(Qd,function(t,e){return String.fromCharCode(e)}).trim();return Vd.test(r)?e:t}:Xd.clean_url,Xd.Patch=ac,window.DashRenderer=Fd}(),window.dash_renderer={}}(); \ No newline at end of file +!function(){var t={296(t,e,r){var n;window,t.exports=(n=r(609),function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e){t.exports=n},function(t,e,r){"use strict";r.r(e),r.d(e,"asyncDecorator",function(){return a}),r.d(e,"inheritAsyncDecorator",function(){return u}),r.d(e,"isReady",function(){return c}),r.d(e,"History",function(){return f});var n=r(0);function o(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var a=t.apply(e,r);function u(t){o(a,n,i,u,c,"next",t)}function c(t){o(a,n,i,u,c,"throw",t)}u(void 0)})}}var a=function(t,e){var r,o={isReady:new Promise(function(t){r=t}),get:Object(n.lazy)(function(){return Promise.resolve(e()).then(function(t){return setTimeout(i(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r(!0);case 2:o.isReady=!0;case 3:case"end":return t.stop()}},t)})),0),t})})};return Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},u=function(t,e){Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return c(e)}})},c=function(t){return t&&t._dashprivate_isLazyComponentReady};function s(t,e){for(var r=0;r=19&&Symbol.for("react.element")!==Symbol.for("react.transitional.element")){var r=Symbol.for("react.transitional.element"),n=Symbol.for;Symbol.for=function(t){return"react.element"===t?r:n.apply(Symbol,arguments)}}window.ReactJSXRuntime||(window.ReactJSXRuntime={jsx:o,jsxs:o,jsxDEV:o,Fragment:t.Fragment})}function o(e,r,n){var o={},i=null;if(null!=r)for(var a in void 0!==r.key&&(o.key=""+r.key),r)Object.prototype.hasOwnProperty.call(r,a)&&"key"!==a&&"__self"!==a&&"__source"!==a&&("children"===a?i=r[a]:o[a]=r[a]);return void 0!==n&&(o.key=""+n),null!=i?Array.isArray(i)?t.createElement.apply(t,[e,o].concat(i)):t.createElement(e,o,i):t.createElement(e,o)}}()},217(t,e,r){"use strict";var n=r(601),o=r.n(n),i=r(314),a=r.n(i)()(o());a.push([t.id,"._dash-undo-redo {\n position: fixed;\n bottom: 30px;\n left: 30px;\n font-size: 20px;\n text-align: center;\n z-index: 9999;\n background-color: rgba(255, 255, 255, 0.9);\n}\n._dash-undo-redo > div {\n position: relative;\n}\n._dash-undo-redo-link {\n color: #0074d9;\n cursor: pointer;\n margin-left: 10px;\n margin-right: 10px;\n display: inline-block;\n opacity: 0.2;\n}\n._dash-undo-redo-link:hover {\n opacity: 1;\n}\n._dash-undo-redo-link ._dash-icon-undo {\n font-size: 20px;\n transform: rotate(270deg);\n}\n._dash-undo-redo-link ._dash-icon-redo {\n font-size: 20px;\n transform: rotate(90deg);\n}\n._dash-undo-redo-link ._dash-undo-redo-label {\n font-size: 15px;\n}\n",""]),e.A=a},314(t){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r="",n=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),n&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r}).join("")},e.i=function(t,r,n,o,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(n)for(var u=0;u0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=i),r&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=r):l[2]=r),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},601(t){"use strict";t.exports=function(t){return t[1]}},131(t,e){function r(t,e,r,n){var i={};return function(a){if(!i[a]){var u={},c=[],s=[];for(s.push({node:a,processed:!1});s.length>0;){var l=s[s.length-1],f=l.processed,p=l.node;if(f)s.pop(),c.pop(),u[p]=!1,i[p]=!0,e&&0!==t[p].length||r.push(p);else{if(i[p]){s.pop();continue}if(u[p]){if(n){s.pop();continue}throw c.push(p),new o(c)}u[p]=!0,c.push(p);for(var d=t[p],y=d.length-1;y>=0;y--)s.push({node:d[y],processed:!1});l.processed=!0}}}}}var n=e.DepGraph=function(t){this.nodes={},this.outgoingEdges={},this.incomingEdges={},this.circular=t&&!!t.circular};n.prototype={size:function(){return Object.keys(this.nodes).length},addNode:function(t,e){this.hasNode(t)||(this.nodes[t]=2===arguments.length?e:t,this.outgoingEdges[t]=[],this.incomingEdges[t]=[])},removeNode:function(t){this.hasNode(t)&&(delete this.nodes[t],delete this.outgoingEdges[t],delete this.incomingEdges[t],[this.incomingEdges,this.outgoingEdges].forEach(function(e){Object.keys(e).forEach(function(r){var n=e[r].indexOf(t);n>=0&&e[r].splice(n,1)},this)}))},hasNode:function(t){return this.nodes.hasOwnProperty(t)},getNodeData:function(t){if(this.hasNode(t))return this.nodes[t];throw new Error("Node does not exist: "+t)},setNodeData:function(t,e){if(!this.hasNode(t))throw new Error("Node does not exist: "+t);this.nodes[t]=e},addDependency:function(t,e){if(!this.hasNode(t))throw new Error("Node does not exist: "+t);if(!this.hasNode(e))throw new Error("Node does not exist: "+e);return-1===this.outgoingEdges[t].indexOf(e)&&this.outgoingEdges[t].push(e),-1===this.incomingEdges[e].indexOf(t)&&this.incomingEdges[e].push(t),!0},removeDependency:function(t,e){var r;this.hasNode(t)&&(r=this.outgoingEdges[t].indexOf(e))>=0&&this.outgoingEdges[t].splice(r,1),this.hasNode(e)&&(r=this.incomingEdges[e].indexOf(t))>=0&&this.incomingEdges[e].splice(r,1)},clone:function(){var t=this,e=new n;return Object.keys(t.nodes).forEach(function(r){e.nodes[r]=t.nodes[r],e.outgoingEdges[r]=t.outgoingEdges[r].slice(0),e.incomingEdges[r]=t.incomingEdges[r].slice(0)}),e},directDependenciesOf:function(t){if(this.hasNode(t))return this.outgoingEdges[t].slice(0);throw new Error("Node does not exist: "+t)},directDependantsOf:function(t){if(this.hasNode(t))return this.incomingEdges[t].slice(0);throw new Error("Node does not exist: "+t)},dependenciesOf:function(t,e){if(this.hasNode(t)){var n=[];r(this.outgoingEdges,e,n,this.circular)(t);var o=n.indexOf(t);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+t)},dependantsOf:function(t,e){if(this.hasNode(t)){var n=[];r(this.incomingEdges,e,n,this.circular)(t);var o=n.indexOf(t);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+t)},overallOrder:function(t){var e=this,n=[],o=Object.keys(this.nodes);if(0===o.length)return n;if(!this.circular){var i=r(this.outgoingEdges,!1,[],this.circular);o.forEach(function(t){i(t)})}var a=r(this.outgoingEdges,t,n,this.circular);return o.filter(function(t){return 0===e.incomingEdges[t].length}).forEach(function(t){a(t)}),this.circular&&o.filter(function(t){return-1===n.indexOf(t)}).forEach(function(t){a(t)}),n},entryNodes:function(){var t=this;return Object.keys(this.nodes).filter(function(e){return 0===t.incomingEdges[e].length})}},n.prototype.directDependentsOf=n.prototype.directDependantsOf,n.prototype.dependentsOf=n.prototype.dependantsOf;var o=e.DepGraphCycleError=function(t){var e="Dependency Cycle Found: "+t.join(" -> "),r=new Error(e);return r.cyclePath=t,Object.setPrototypeOf(r,Object.getPrototypeOf(this)),Error.captureStackTrace&&Error.captureStackTrace(r,o),r};o.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(o,Error)},886(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},799(t,e){"use strict";var r="function"==typeof Symbol&&Symbol.for,n=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,a=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,s=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,d=r?Symbol.for("react.suspense"):60113,y=r?Symbol.for("react.suspense_list"):60120,h=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116,b=r?Symbol.for("react.block"):60121,m=r?Symbol.for("react.fundamental"):60117,g=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function O(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case n:switch(t=t.type){case l:case f:case i:case u:case a:case d:return t;default:switch(t=t&&t.$$typeof){case s:case p:case v:case h:case c:return t;default:return e}}case o:return e}}}function S(t){return O(t)===f}e.AsyncMode=l,e.ConcurrentMode=f,e.ContextConsumer=s,e.ContextProvider=c,e.Element=n,e.ForwardRef=p,e.Fragment=i,e.Lazy=v,e.Memo=h,e.Portal=o,e.Profiler=u,e.StrictMode=a,e.Suspense=d,e.isAsyncMode=function(t){return S(t)||O(t)===l},e.isConcurrentMode=S,e.isContextConsumer=function(t){return O(t)===s},e.isContextProvider=function(t){return O(t)===c},e.isElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===n},e.isForwardRef=function(t){return O(t)===p},e.isFragment=function(t){return O(t)===i},e.isLazy=function(t){return O(t)===v},e.isMemo=function(t){return O(t)===h},e.isPortal=function(t){return O(t)===o},e.isProfiler=function(t){return O(t)===u},e.isStrictMode=function(t){return O(t)===a},e.isSuspense=function(t){return O(t)===d},e.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===i||t===f||t===u||t===a||t===d||t===y||"object"==typeof t&&null!==t&&(t.$$typeof===v||t.$$typeof===h||t.$$typeof===c||t.$$typeof===s||t.$$typeof===p||t.$$typeof===m||t.$$typeof===g||t.$$typeof===w||t.$$typeof===b)},e.typeOf=O},363(t,e,r){"use strict";t.exports=r(799)},609(t){"use strict";t.exports=window.React}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={id:n,exports:{}};return t[n](i,i.exports,r),i.exports}r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.cw=function(t){var e;return function(){if(t){var r=t;t=0,e={exports:{}},r.call(e.exports,e,e.exports)}return e.exports}},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.nc=void 0,function(){"use strict";var t="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==r.g&&r.g||{},e="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,a="ArrayBuffer"in t;if(a)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(t){return t&&u.indexOf(Object.prototype.toString.call(t))>-1};function s(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function l(t){return"string"!=typeof t&&(t=String(t)),t}function f(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function p(t){this.map={},t instanceof p?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function d(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function y(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function h(t){var e=new FileReader,r=y(e);return e.readAsArrayBuffer(t),r}function v(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(t){var r;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():a&&o&&(r=t)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=v(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(t)||c(t))?this._bodyArrayBuffer=v(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=d(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer)return d(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer));if(o)return this.blob().then(h);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,n,o,i=d(this);if(i)return i;if(this._bodyBlob)return t=this._bodyBlob,r=y(e=new FileReader),o=(n=/charset=([A-Za-z0-9_-]+)/.exec(t.type))?n[1]:"utf-8",e.readAsText(t,o),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?o:n),this.mode=r.mode||this.mode||null,this.signal=r.signal||this.signal||function(){if("AbortController"in t)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(i),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==r.cache&&"no-cache"!==r.cache)){var a=/([?&])_=[^&]*/;a.test(this.url)?this.url=this.url.replace(a,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function w(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function O(t,e){if(!(this instanceof O))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new p(e.headers),this.url=e.url||"",this._initBody(t)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},b.call(g.prototype),b.call(O.prototype),O.prototype.clone=function(){return new O(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},O.error=function(){var t=new O(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var S=[301,302,303,307,308];O.redirect=function(t,e){if(-1===S.indexOf(e))throw new RangeError("Invalid status code");return new O(null,{status:e,headers:{location:t}})};var j=t.DOMException;try{new j}catch(t){(j=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),j.prototype.constructor=j}function _(e,r){return new Promise(function(n,i){var u=new g(e,r);if(u.signal&&u.signal.aborted)return i(new j("Aborted","AbortError"));var c=new XMLHttpRequest;function f(){c.abort()}if(c.onload=function(){var t,e,r={statusText:c.statusText,headers:(t=c.getAllResponseHeaders()||"",e=new p,t.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t}).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();try{e.append(n,o)}catch(t){console.warn("Response "+t.message)}}}),e)};0===u.url.indexOf("file://")&&(c.status<200||c.status>599)?r.status=200:r.status=c.status,r.url="responseURL"in c?c.responseURL:r.headers.get("X-Request-URL");var o="response"in c?c.response:c.responseText;setTimeout(function(){n(new O(o,r))},0)},c.onerror=function(){setTimeout(function(){i(new TypeError("Network request failed"))},0)},c.ontimeout=function(){setTimeout(function(){i(new TypeError("Network request timed out"))},0)},c.onabort=function(){setTimeout(function(){i(new j("Aborted","AbortError"))},0)},c.open(u.method,function(e){try{return""===e&&t.location.href?t.location.href:e}catch(t){return e}}(u.url),!0),"include"===u.credentials?c.withCredentials=!0:"omit"===u.credentials&&(c.withCredentials=!1),"responseType"in c&&(o?c.responseType="blob":a&&(c.responseType="arraybuffer")),r&&"object"==typeof r.headers&&!(r.headers instanceof p||t.Headers&&r.headers instanceof t.Headers)){var d=[];Object.getOwnPropertyNames(r.headers).forEach(function(t){d.push(s(t)),c.setRequestHeader(t,l(r.headers[t]))}),u.headers.forEach(function(t,e){-1===d.indexOf(e)&&c.setRequestHeader(e,t)})}else u.headers.forEach(function(t,e){c.setRequestHeader(e,t)});u.signal&&(u.signal.addEventListener("abort",f),c.onreadystatechange=function(){4===c.readyState&&u.signal.removeEventListener("abort",f)}),c.send(void 0===u._bodyInit?null:u._bodyInit)})}_.polyfill=!0,t.fetch||(t.fetch=_,t.Headers=p,t.Request=g,t.Response=O)}(),function(){"use strict";var t=r.cw(function(t,e){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var n=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.server_context"),f=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),h=Symbol.for("react.lazy");Symbol.for("react.offscreen");Symbol.for("react.module.reference"),e.isContextConsumer=function(t){return function(t){if("object"===r(t)&&null!==t){var e=t.$$typeof;switch(e){case n:switch(t=t.type){case i:case u:case a:case p:case d:return t;default:switch(t=t&&t.$$typeof){case l:case s:case f:case h:case y:case c:return t;default:return e}}case o:return e}}}(t)===s}}),e=r.cw(function(e,r){e.exports=t()}),n=r.cw(function(t,e){var r=a();t.exports=function(t){var e=typeof t;if("string"===e){var n=t;if(0===(t=+t)&&r(n))return!1}else if("number"!==e)return!1;return t-t<1}}),o=r.cw(function(t,e){var r=c(),n={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},a={};function u(t){return r.isMemo(t)?i:a[t.$$typeof]||n}a[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a[r.Memo]=i;var s=Object.defineProperty,l=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,y=Object.prototype;t.exports=function t(e,r,n){if("string"!=typeof r){if(y){var i=d(r);i&&i!==y&&t(e,i,n)}var a=l(r);f&&(a=a.concat(f(r)));for(var c=u(e),h=u(r),v=0;v0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}}),y=r.cw(function(t,e){t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}),h=r.cw(function(t,e){var r=g(),n="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},o=r.useState,i=r.useEffect,a=r.useLayoutEffect,u=r.useDebugValue;function c(t){var e=t.getSnapshot;t=t.value;try{var r=e();return!n(t,r)}catch(t){return!0}}var s="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(t,e){return e()}:function(t,e){var r=e(),n=o({inst:{value:r,getSnapshot:e}}),s=n[0].inst,l=n[1];return a(function(){s.value=r,s.getSnapshot=e,c(s)&&l({inst:s})},[t,r,e]),i(function(){return c(s)&&l({inst:s}),t(function(){c(s)&&l({inst:s})})},[t]),u(r),r};e.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:s}),v=r.cw(function(t,e){var r=g(),n=b(),o="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},i=n.useSyncExternalStore,a=r.useRef,u=r.useEffect,c=r.useMemo,s=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(t,e,r,n,l){var f=a(null);if(null===f.current){var p={hasValue:!1,value:null};f.current=p}else p=f.current;f=c(function(){function t(t){if(!u){if(u=!0,i=t,t=n(t),void 0!==l&&p.hasValue){var e=p.value;if(l(e,t))return a=e}return a=t}if(e=a,o(i,t))return e;var r=n(t);return void 0!==l&&l(e,r)?(i=t,e):(i=t,a=r)}var i,a,u=!1,c=void 0===r?null:r;return[function(){return t(e())},null===c?void 0:function(){return t(c())}]},[e,r,n,l]);var d=i(t,f[0],f[1]);return u(function(){p.hasValue=!0,p.value=d},[d]),s(d),d}}),b=r.cw(function(t,e){t.exports=h()}),m=r.cw(function(t,e){t.exports=v()}),g=function(){return r(609)};function w(){return w.c||(w.c=r.n(g()))}r(186),g();var O=window.ReactDOM,S=r.n(O),j=window.PropTypes,_=r.n(j);b(),m();var E=function(t){t()},P=function(){return E},k=Symbol.for("react-redux-context"),A="undefined"!=typeof globalThis?globalThis:{};function T(){var t;if(!g().createContext)return{};var e=null!=(t=A[k])?t:A[k]=new Map,r=e.get(g().createContext);return r||(r=g().createContext(null),e.set(g().createContext,r)),r}var x=T();function I(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x;return function(){return(0,g().useContext)(t)}}var C=I(),R=function(){throw new Error("uSES not initialized!")},D=R,N=function(t,e){return t===e};function M(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?C:I(t);return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="function"==typeof r?{equalityFn:r}:r,o=n.equalityFn,i=void 0===o?N:o,a=n.stabilityCheck,u=void 0===a?void 0:a;n.noopCheck;var c=e(),s=c.store,l=c.subscription,f=c.getServerState,p=c.stabilityCheck,d=(c.noopCheck,(0,g().useRef)(!0),(0,g().useCallback)({[t.name]:e=>t(e)}[t.name],[t,p,u])),y=D(l.addNestedSub,s.getState,f||s.getState,d,i);return(0,g().useDebugValue)(y),y}}var U=M();function q(){return q=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]?arguments[3]:{},i=(o.pure,o.areStatesEqual),a=void 0===i?st:i,u=o.areOwnPropsEqual,c=void 0===u?et:u,s=o.areStatePropsEqual,l=void 0===s?et:s,f=o.areMergedPropsEqual,p=void 0===f?et:f,d=o.forwardRef,y=void 0!==d&&d,h=o.context,v=void 0===h?x:h,b=function(t){return t?"function"==typeof t?$(t):z(t,"mapStateToProps"):H(function(){return{}})}(e),m=function(t){return t&&"object"===V(t)?H(function(e){return function(t,e){var r={},n=function(){var n=t[o];"function"==typeof n&&(r[o]=function(){return e(n.apply(void 0,arguments))})};for(var o in t)n();return r}(t,e)}):t?"function"==typeof t?$(t):z(t,"mapDispatchToProps"):H(function(t){return{dispatch:t}})}(r),w=function(t){return t?"function"==typeof t?function(t){return function(e,r){r.displayName;var n,o=r.areMergedPropsEqual,i=!1;return function(e,r,a){var u=t(e,r,a);return i?o(u,n)||(n=u):(i=!0,n=u),n}}}(t):z(t,"mergeProps"):function(){return K}}(n),O=Boolean(e);return function(e){var r=e.displayName||e.name||"Component",n="Connect(".concat(r,")"),o={shouldHandleStateChanges:O,displayName:n,wrappedComponentName:r,WrappedComponent:e,initMapStateToProps:b,initMapDispatchToProps:m,initMergeProps:w,areStatesEqual:a,areStatePropsEqual:l,areOwnPropsEqual:c,areMergedPropsEqual:p};function i(r){var n=g().useMemo(function(){var t=r.reactReduxForwardedRef,e=L(r,it);return[r.context,t,e]},[r]),i=rt(n,3),a=i[0],u=i[1],c=i[2],s=g().useMemo(function(){return a&&a.Consumer&&(0,t().isContextConsumer)(g().createElement(a.Consumer,null))?a:v},[a,v]),l=g().useContext(s),f=Boolean(r.store)&&Boolean(r.store.getState)&&Boolean(r.store.dispatch),p=Boolean(l)&&Boolean(l.store),d=f?r.store:l.store,y=p?l.getServerState:d.getState,h=g().useMemo(function(){return function(t,e){var r=e.initMapStateToProps,n=e.initMapDispatchToProps,o=e.initMergeProps,i=L(e,F);return B(r(t,i),n(t,i),o(t,i),t,i)}(d.dispatch,o)},[d]),b=g().useMemo(function(){if(!O)return ut;var t=Q(d,f?void 0:l.subscription),e=t.notifyNestedSubs.bind(t);return[t,e]},[d,f,l]),m=rt(b,2),w=m[0],S=m[1],j=g().useMemo(function(){return f?l:q({},l,{subscription:w})},[f,l,w]),_=g().useRef(),E=g().useRef(c),P=g().useRef(),k=g().useRef(!1),A=(g().useRef(!1),g().useRef(!1)),T=g().useRef();X(function(){return A.current=!0,function(){A.current=!1}},[]);var x,I,C,R=g().useMemo(function(){return function(){return P.current&&c===E.current?P.current:h(d.getState(),c)}},[d,c]),D=g().useMemo(function(){return function(t){return w?function(t,e,r,n,o,i,a,u,c,s,l){if(!t)return function(){};var f=!1,p=null,d=function(){if(!f&&u.current){var t,r,d=e.getState();try{t=n(d,o.current)}catch(t){r=t,p=t}r||(p=null),t===i.current?a.current||s():(i.current=t,c.current=t,a.current=!0,l())}};return r.onStateChange=d,r.trySubscribe(),d(),function(){if(f=!0,r.tryUnsubscribe(),r.onStateChange=null,p)throw p}}(O,d,w,h,E,_,k,A,P,S,t):function(){}}},[w]);x=ct,I=[E,_,k,c,P,S],X(function(){return x.apply(void 0,function(t){if(Array.isArray(t))return ot(t)}(t=I)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||nt(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var t},void 0);try{C=at(D,R,y?function(){return h(y(),c)}:R)}catch(t){throw T.current&&(t.message+="\nThe error may be correlated with this previous error:\n".concat(T.current.stack,"\n\n")),t}X(function(){T.current=void 0,P.current=void 0,_.current=C});var N=g().useMemo(function(){return g().createElement(e,q({},C,{ref:u}))},[u,e,C]);return g().useMemo(function(){return O?g().createElement(s.Provider,{value:j},N):N},[s,N,j])}var u=g().memo(i);if(u.WrappedComponent=e,u.displayName=i.displayName=n,y){var s=g().forwardRef(function(t,e){return g().createElement(u,q({},t,{reactReduxForwardedRef:e}))});return s.displayName=n,s.WrappedComponent=e,G()()(s,e)}return G()()(u,e)}},ft=function(t){var e=t.store,r=t.context,n=t.children,o=t.serverState,i=t.stabilityCheck,a=void 0===i?"once":i,u=t.noopCheck,c=void 0===u?"once":u,s=g().useMemo(function(){var t=Q(e);return{store:e,subscription:t,getServerState:o?function(){return o}:void 0,stabilityCheck:a,noopCheck:c}},[e,o,a,c]),l=g().useMemo(function(){return e.getState()},[e]);X(function(){var t=s.subscription;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),l!==e.getState()&&t.notifyNestedSubs(),function(){t.tryUnsubscribe(),t.onStateChange=void 0}},[s,l]);var f=r||x;return g().createElement(f.Provider,{value:s},n)};function pt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?C:I(t);return function(){return e().store}}var dt=pt();function yt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?dt:pt(t);return function(){return e().dispatch}}var ht,vt,bt=yt();function mt(t,e){switch(t){case 0:return function(){return e.apply(this,arguments)};case 1:return function(t){return e.apply(this,arguments)};case 2:return function(t,r){return e.apply(this,arguments)};case 3:return function(t,r,n){return e.apply(this,arguments)};case 4:return function(t,r,n,o){return e.apply(this,arguments)};case 5:return function(t,r,n,o,i){return e.apply(this,arguments)};case 6:return function(t,r,n,o,i,a){return e.apply(this,arguments)};case 7:return function(t,r,n,o,i,a,u){return e.apply(this,arguments)};case 8:return function(t,r,n,o,i,a,u,c){return e.apply(this,arguments)};case 9:return function(t,r,n,o,i,a,u,c,s){return e.apply(this,arguments)};case 10:return function(t,r,n,o,i,a,u,c,s,l){return e.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}function wt(t){return null!=t&&"object"===gt(t)&&!0===t["@@functional/placeholder"]}function Ot(t){return function e(r){return 0===arguments.length||wt(r)?e:t.apply(this,arguments)}}ht=v().useSyncExternalStoreWithSelector,D=ht,function(t){at=t}(h().useSyncExternalStore),vt=O.unstable_batchedUpdates,E=vt;var St=Ot(function(t){var e,r=!1;return mt(t.length,function(){return r?e:(r=!0,e=t.apply(this,arguments))})}),jt=St;function _t(t){return _t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_t(t)}function Et(t,e,r){return(e=function(t){var e=function(t){if("object"!=_t(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=_t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==_t(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Pt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function kt(t){for(var e=1;e=0;)Ft(e=zt[r],t)&&!Kt(n,e)&&(n[n.length]=e),r-=1;return n}):Ot(function(t){return Object(t)!==t?[]:Object.keys(t)}),Qt=Ot(function(t){return null===t?"Null":void 0===t?"Undefined":Object.prototype.toString.call(t).slice(8,-1)});function Xt(t){return Xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xt(t)}function Zt(t,e,r,n){var o=Lt(t);function i(t,e){return te(t,e,r.slice(),n.slice())}return!Gt(function(t,e){return!Gt(i,e,t)},Lt(e),o)}function te(t,e,r,n){if(Bt(t,e))return!0;var o,i,a=Qt(t);if(a!==Qt(e))return!1;if("function"==typeof t["fantasy-land/equals"]||"function"==typeof e["fantasy-land/equals"])return"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e)&&"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t);if("function"==typeof t.equals||"function"==typeof e.equals)return"function"==typeof t.equals&&t.equals(e)&&"function"==typeof e.equals&&e.equals(t);switch(a){case"Arguments":case"Array":case"Object":if("function"==typeof t.constructor&&"Promise"===(o=t.constructor,null==(i=String(o).match(/^function (\w*)/))?"":i[1]))return t===e;break;case"Boolean":case"Number":case"String":if(Xt(t)!==Xt(e)||!Bt(t.valueOf(),e.valueOf()))return!1;break;case"Date":if(!Bt(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(t.source!==e.source||t.global!==e.global||t.ignoreCase!==e.ignoreCase||t.multiline!==e.multiline||t.sticky!==e.sticky||t.unicode!==e.unicode)return!1}for(var u=r.length-1;u>=0;){if(r[u]===t)return n[u]===e;u-=1}switch(a){case"Map":return t.size===e.size&&Zt(t.entries(),e.entries(),r.concat([t]),n.concat([e]));case"Set":return t.size===e.size&&Zt(t.values(),e.values(),r.concat([t]),n.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var c=Yt(t);if(c.length!==Yt(e).length)return!1;var s=r.concat([t]),l=n.concat([e]);for(u=c.length-1;u>=0;){var f=c[u];if(!Ft(f,e)||!te(e[f],t[f],s,l))return!1;u-=1}return!0}var ee=qt(function(t,e){return te(t,e,[],[])});function re(t){return re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},re(t)}function ne(t,e,r){var n,o;if("function"==typeof t.indexOf)switch(re(e)){case"number":if(0===e){for(n=1/e;r=0}var ie=qt(oe);function ae(t){return function e(r,n,o){switch(arguments.length){case 0:return e;case 1:return wt(r)?e:qt(function(e,n){return t(r,e,n)});case 2:return wt(r)&&wt(n)?e:wt(r)?qt(function(e,r){return t(e,n,r)}):wt(n)?qt(function(e,n){return t(r,e,n)}):Ot(function(e){return t(r,n,e)});default:return wt(r)&&wt(n)&&wt(o)?e:wt(r)&&wt(n)?qt(function(e,r){return t(e,r,o)}):wt(r)&&wt(o)?qt(function(e,r){return t(e,n,r)}):wt(n)&&wt(o)?qt(function(e,n){return t(r,e,n)}):wt(r)?Ot(function(e){return t(e,n,o)}):wt(n)?Ot(function(e){return t(r,e,o)}):wt(o)?Ot(function(e){return t(r,n,e)}):t(r,n,o)}}}var ue=Number.isInteger||function(t){return(0|t)===t};function ce(t){return"[object String]"===Object.prototype.toString.call(t)}function se(t,e){var r=t<0?e.length+t:t;return ce(e)?e.charAt(r):e[r]}function le(t,e){for(var r=e,n=0;n=0&&"[object Array]"===Object.prototype.toString.call(t)},ye=Ot(function(t){return null==t});function he(t){return he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},he(t)}var ve=ae(function t(e,r,n){if(0===e.length)return r;var o=e[0];if(e.length>1){var i=!ye(n)&&Ft(o,n)&&"object"===he(n[o])?n[o]:ue(e[1])?[]:{};r=t(Array.prototype.slice.call(e,1),r,i)}return function(t,e,r){if(ue(t)&&de(r)){var n=[].concat(r);return n[t]=e,n}var o={};for(var i in r)o[i]=r[i];return o[t]=e,o}(o,r,n)}),be=ae(function(t,e,r){return ve([t],e,r)});function me(t,e){return function(){var r=arguments.length;if(0===r)return e();var n=arguments[r-1];return de(n)||"function"!=typeof n[t]?e.apply(this,arguments):n[t].apply(n,Array.prototype.slice.call(arguments,0,r-1))}}var ge=qt(me("forEach",function(t,e){for(var r=e.length,n=0;n0&&t.hasOwnProperty(0)&&t.hasOwnProperty(t.length-1))});function Be(t){return function e(r){for(var n,o,i,a=[],u=0,c=r.length;u=arguments.length)?c=e[a]:(c=arguments[o],o+=1),n[a]=c,wt(c)?u=!0:i-=1,a+=1}return!u&&i<=0?r.apply(this,n):mt(Math.max(0,i),ze(t,n,r))}}var Ve=qt(function(t,e){return 1===t?Ot(e):mt(t,ze(t,[],e))}),Ke=Ve,Ye=qt(Re(["fantasy-land/map","map"],We,function(t,e){switch(Object.prototype.toString.call(e)){case"[object Function]":return Ke(e.length,function(){return t.call(this,e.apply(this,arguments))});case"[object Object]":return Ce(function(r,n){return r[n]=t(e[n]),r},{},Yt(e));default:return Je(t,e)}})),Qe=Ye,Xe="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function Ze(t,e,r){return function(n,o,i){if(Fe(i))return t(n,o,i);if(null==i)return o;if("function"==typeof i["fantasy-land/reduce"])return e(n,o,i,"fantasy-land/reduce");if(null!=i[Xe])return r(n,o,i[Xe]());if("function"==typeof i.next)return r(n,o,i);if("function"==typeof i.reduce)return e(n,o,i,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function tr(t,e,r){for(var n=0,o=r.length;n":vr(r,n)},n=function(t,e){return Je(function(e){return lr(e)+": "+r(t[e])},e.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+Je(r,t).join(", ")+"))";case"[object Array]":return"["+Je(r,t).concat(n(t,yr(function(t){return/^\d+$/.test(t)},Yt(t)))).join(", ")+"]";case"[object Boolean]":return"object"===hr(t)?"new Boolean("+r(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?r(NaN):lr(pr(t)))+")";case"[object Map]":return"new Map("+r(Array.from(t))+")";case"[object Null]":return"null";case"[object Number]":return"object"===hr(t)?"new Number("+r(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object Set]":return"new Set("+r(Array.from(t).sort())+")";case"[object String]":return"object"===hr(t)?"new String("+r(t.valueOf())+")":lr(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var o=t.toString();if("[object Object]"!==o)return o}return"{"+n(t,Yt(t)).join(", ")+"}"}}var br=Ot(function(t){return vr(t,[])}),mr=qt(function(t,e){if(de(t)){if(de(e))return t.concat(e);throw new TypeError(br(e)+" is not an array")}if(ce(t)){if(ce(e))return t+e;throw new TypeError(br(e)+" is not a string")}if(null!=t&&sr(t["fantasy-land/concat"]))return t["fantasy-land/concat"](e);if(null!=t&&sr(t.concat))return t.concat(e);throw new TypeError(br(t)+' does not have a method named "concat" or "fantasy-land/concat"')});function gr(t){return t&&t["@@transducer/reduced"]?t:{"@@transducer/value":t,"@@transducer/reduced":!0}}var wr=function(){function t(t,e){this.xf=e,this.f=t,this.all=!0}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){return this.all&&(t=this.xf["@@transducer/step"](t,!0)),this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){return this.f(e)||(this.all=!1,t=gr(this.xf["@@transducer/step"](t,!1))),t},t}();function Or(t){return function(e){return new wr(t,e)}}var Sr=qt(Re(["all"],Or,function(t,e){for(var r=0;re!=e>t)return e>t?e:t}var n=r(t,e);if(void 0!==n)return n;var o=r(_r(t),_r(e));if(void 0!==o)return o===_r(t)?t:e;var i=br(t),a=r(i,br(e));return void 0!==a&&a===i?t:e}),Pr=qt(function(t,e){return Qe(xe(t),e)}),kr=qt(function(t,e){return Ke(cr(Er,0,Pr("length",e)),function(){var r=arguments,n=this;return t.apply(n,Je(function(t){return t.apply(n,r)},e))})}),Ar=kr,Tr=Ot(function(t){return Ar(function(){return Array.prototype.slice.call(arguments,0)},t)}),xr=Tr([Le,yr]);function Ir(t){return Ir="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ir(t)}function Cr(t,e,r){var n,o=Ir(t);switch(o){case"string":case"number":return 0===t&&1/t==-1/0?!!r._items["-0"]||(e&&(r._items["-0"]=!0),!1):null!==r._nativeSet?e?(n=r._nativeSet.size,r._nativeSet.add(t),r._nativeSet.size===n):r._nativeSet.has(t):o in r._items?t in r._items[o]||(e&&(r._items[o][t]=!0),!1):(e&&(r._items[o]={},r._items[o][t]=!0),!1);case"boolean":if(o in r._items){var i=t?1:0;return!!r._items[o][i]||(e&&(r._items[o][i]=!0),!1)}return e&&(r._items[o]=t?[!1,!0]:[!0,!1]),!1;case"function":return null!==r._nativeSet?e?(n=r._nativeSet.size,r._nativeSet.add(t),r._nativeSet.size===n):r._nativeSet.has(t):o in r._items?!!oe(t,r._items[o])||(e&&r._items[o].push(t),!1):(e&&(r._items[o]=[t]),!1);case"undefined":return!!r._items[o]||(e&&(r._items[o]=!0),!1);case"object":if(null===t)return!!r._items.null||(e&&(r._items.null=!0),!1);default:return(o=Object.prototype.toString.call(t))in r._items?!!oe(t,r._items[o])||(e&&r._items[o].push(t),!1):(e&&(r._items[o]=[t]),!1)}}var Rr=function(){function t(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return t.prototype.add=function(t){return!Cr(t,!0,this)},t.prototype.has=function(t){return Cr(t,!1,this)},t}(),Dr=qt(function(t,e){for(var r=[],n=0,o=t.length,i=e.length,a=new Rr,u=0;u=0&&this.i>=this.n?gr(r):r},t}();function vn(t){return function(e){return new hn(t,e)}}var bn=ae(me("slice",function(t,e,r){return Array.prototype.slice.call(r,t,e)})),mn=qt(Re(["take"],vn,function(t,e){return bn(0,t<0?1/0:t,e)})),gn=qt(function(t,e){return ee(mn(t.length,e),t)}),wn=qt(function(t,e){return"function"!=typeof e.indexOf||de(e)?ne(e,t,0):e.indexOf(t)}),On=ae(function(t,e,r){t=t=0?t:r.length;var n=Array.prototype.slice.call(r,0);return n.splice(t,0,e),n}),Sn=function(){function t(t,e){this.xf=e,this.f=t,this.found=!1}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){return this.found||(t=this.xf["@@transducer/step"](t,void 0)),this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){return this.f(e)&&(this.found=!0,t=gr(this.xf["@@transducer/step"](t,e))),t},t}();function jn(t){return function(e){return new Sn(t,e)}}var _n=qt(Re(["find"],jn,function(t,e){for(var r=0,n=e.length;rt.length)&&(e=t.length);for(var r=0,n=Array(e);r2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;if(Array.isArray(t))t.forEach(function(t,o){if(n){var i=cn(function(t){return ie("{}",t)},n);if(-1!==i){var a=bn(0,i,n),u=bn(i,n.length,n);if(a.length)qn(Oe(a,t),e,mr(r,mr([o],a)),u);else{var c,s=u.map(function(t){return t.replace("{}","")}).filter(function(t){return t}),l=mr([o],s);for(var f in c=s.length?Oe(s,t):t){var p=c[f];qn(p,e,mr(r,l.concat([f])))}}}else qn(Oe(n,t),e,mr(r,mr([o],n)))}else qn(t,e,r.concat(o))});else if("Object"===Qt(t)){e(t,r);var o=t.props&&t.props.children;if(o){var i=r.concat(Un);qn(o,e,i)}var a=window.__dashprivate_childrenProps;(a&&a[t.namespace]&&a[t.namespace][t.type]||[]).forEach(function(n){if(n.includes("[]")){var o=(w=n.split("[]").map(function(t){return t.split(".").filter(function(t){return t})}),O=2,function(t){if(Array.isArray(t))return t}(w)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(w,O)||Dn(w,O)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1],u=mr(["props"],i),c=mr(r,u);qn(Oe(u,t),e,c,a)}else if(n.includes("{}")){for(var s=n.split("."),l=[],f=[],p=!1,d=0;d-1&&r.splice(n,1)}}},{key:"emit",value:function(t){for(var e=this,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function ro(t,e){if(t){if("string"==typeof t)return no(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?no(t,e):void 0}}function no(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);ro?1:ne?1:t0;[[e,"Input"],[r,"State"]].forEach(function(e){var r=to(e,2),u=r[0],c=r[1];u.forEach(function(e,r){var u=ko(e.id),s=u.matchKeys,l=u.allsmallerKeys,f=a?s.concat(l):l,p=Dr(f,i);if(p.length){p.sort();var d=t.length?"Output 0 (".concat(Wo(t[0]),")"):"the (absent) Output";o("`Input` / `State` wildcards not in `Output`s",[n,"".concat(c," ").concat(r," (").concat(Wo(e),")"),"has MATCH or ALLSMALLER on key(s) ".concat(p.join(", ")),"where ".concat(d),"does not have a MATCH wildcard. Inputs and State do not","need every MATCH from the Output(s), but ALLSMALLER","requires a matching MATCH in the Output(s), and when","the Output(s) have any MATCH, Input/State MATCH keys","must be a subset of them."])}})})}(i,o,a,c,e))})}(u,function(t,r){c=!0,e(t,r)});var s={},l={},f=new Map,p=new Map,d=new Map,y=new Map,h={},v={},b={},m={},g=!1,w=!1,O={MultiGraph:n,outputMap:s,inputMap:l,outputPatterns:h,inputPatterns:v,partialOutputPatterns:b,partialInputPatterns:m,hasPartialOutputPatterns:g,hasPartialInputPatterns:w,callbacks:u};if(c)return O;function S(t,e){var r=[{}];return Fr(function(t,n){var o=i[n].vals,a=o.indexOf(e[n]),u=[t];t&&t.wild&&(u=t===co?a>0?o.slice(0,a):[]:-1===a||t===ao?o:[e[n]]),r=nn(nn([be(n)],u),r)},t),r}u.forEach(function(t){var e=t.outputs,r=t.inputs;e.concat(r).filter(function(t){return"object"===oo(t.id)}).forEach(function(t){Fr(function(t,e){i[e]||(i[e]={exact:[],expand:0});var r=i[e];t&&t.wild?t.expand&&(r.expand+=1):-1===r.exact.indexOf(t)&&r.exact.push(t)},t.id)})}),Fr(function(t){var e=t.exact,r=t.expand,n=e.slice().sort(bo);if(r)for(var o=0;o2&&void 0!==arguments[2])||arguments[2];r.validate_callbacks&&(n.addNode(t),n.addDependency(t,e),o&&(E[E.length-1].push(t),P[P.length-1].push(e)))}u.forEach(function(t){var e=t.outputs,o=t.inputs;function i(t,e){r.validate_callbacks&&(n.addNode(e),o.forEach(function(r){var n=r.id,o=r.property;"object"===oo(n)?S(n,t).forEach(function(t){k(Wo({id:t,property:o}),e)}):k(Wo(r),e)}))}E.push([]),P.push([]);var a=ko(e.length?e[0].id:void 0).matchKeys,u=cn(function(t){return!Io(t)},e),c=ln({matchKeys:a,firstSingleOutput:u,outputs:e},t);e.forEach(function(t){var e,n=t.id,a=t.property,u=t.partial;if(r.validate_callbacks&&(e=function(t,e){var r=t.id,n=t.property;return e.some(function(e){var o=e.id,i=e.property;if(n!==i||oo(r)!==oo(o))return!1;if("string"==typeof r){if(r===o)return!0}else if(Eo(e,[t]))return!0;return!1})}(t,o)),"object"===oo(n))r.validate_callbacks&&S(n,{}).forEach(function(t){var r={id:t,property:a},n=Wo(r);e&&(_.push(r),n+=j),i(t,n)}),u?(So(f,n,a,c),So(d,n,a,c),g=!0):Oo(f,n,a,c);else{if(r.validate_callbacks){var l=Wo(t);e&&(_.push(t),l+=j),i({},l)}wo(s,n,a,c)}}),o.forEach(function(t){var e=t.id,r=t.property,n=t.partial;"object"===oo(e)?n?(So(p,e,r,c),So(y,e,r,c),w=!0):Oo(p,e,r,c):wo(l,e,r,c)})}),h=jo(f,h),v=jo(p,v),b=jo(d,b),m=jo(y,m),O.outputPatterns=h,O.inputPatterns=v,O.partialOutputPatterns=b,O.partialInputPatterns=m,O.hasPartialOutputPatterns=g,O.hasPartialInputPatterns=w,_.forEach(function(t){for(var e=Wo(t),r=e.concat(j),n=0;n3&&void 0!==arguments[3]?arguments[3]:"";return function(o){var i=o.matchKeys,a=o.firstSingleOutput,u=o.outputs;if(i.length){var c=u[a];if(c)Ro(o,c,t(e)(c),r);else{var s={};u.forEach(function(n){var a=t(e)(n).filter(function(t){var e=JSON.stringify(Ie(i,t.id));return!s[e]&&(s[e]=1,!0)});Ro(o,n,a,r)})}}else{var l=Zo(o,t,n);r.push(l)}}}function No(t){return No="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},No(t)}function Mo(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Uo(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r5&&void 0!==arguments[5])||arguments[5],a=[],u=Wo({id:r,property:n});if("string"==typeof r){var c=(t.inputMap[r]||{})[n];if(!c)return[];c.forEach(Do(ei(),e,a))}else{var s=Object.keys(r).sort(),l=Ie(s,r),f=s.join(","),p=(t.inputPatterns[f]||{})[n];if(p&&p.forEach(function(t){if(t.partial){if(To(t.keys,t.values,s,l)){var r=xo(t.values,l),n=t.keys.map(function(t){return l[s.indexOf(t)]});t.callbacks.forEach(Do(ri(t.keys,n,t.values),e,a,r))}}else if(Ao(s,l,t.values)){var o=xo(t.values,l);t.callbacks.forEach(Do(ei(s,l,t.values),e,a,o))}}),t.hasPartialInputPatterns)for(var d in t.partialInputPatterns)if(d!==f&&d.split(",").every(function(t){return-1!==s.indexOf(t)})){var y=t.partialInputPatterns[d][n];y&&y.forEach(function(t){if(To(t.keys,t.values,s,l)){var r=xo(t.values,l),n=t.keys.map(function(t){return l[s.indexOf(t)]});t.callbacks.forEach(Do(ri(t.keys,n,t.values),e,a,r))}})}}return a.forEach(function(r){r.changedPropIds[u]=o||Ho,i&&(r.priority=Vo(t,e,r))}),a}function Vo(t,e,r){for(var n=[r],o={},i={},a=[];n.length;){n=Le(function(t){var e=i[t.resolvedId];return i[t.resolvedId]=!0,e},n);var u=Le(function(t){return!o[Wo(t)]},He(Qe(function(t){return He(t.getOutputs(e))},n)));u.forEach(function(t){return o[Wo(t)]=!0}),(n=He(Qe(function(r){var n=r.id,o=r.property;return zo(t,e,n,o,Jo,!1)},u))).length&&a.push(n.length)}return a.unshift(a.length),Qe(function(t){return Math.min(t,35).toString(36)},a).join("")}var Ko=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e.length)return[];var o=Qe(Wo,cr(function(e,r){return mr(e,He(r.getOutputs(t)))},[],r)),i={};if(o.forEach(function(t){return i[t]=!0}),Object.keys(n).length){var a=He(Qe(function(e){return function(t,e,r){for(var n=[r],o={};n.length;){var i=Le(function(t){return!o[Wo(t)]},He(Qe(function(t){return He(t.getOutputs(e))},n)));o=cr(function(t,e){return be(Wo(e),!0,t)},o,i),n=He(Qe(function(r){var n=r.id,o=r.property;return zo(t,e,n,o,Jo,!1)},i))}return o}(n,t,e)},r));a.length>0&&(i=Object.assign.apply(Object,[a[0]].concat(Go(a))))}return Le(function(e){return jr(function(t){return!i[Wo(t)]},function(t,e){return t.filter(function(t){return!e.some(function(e){return Wo(t)===Wo(e)})})}(He(e.getInputs(t)),He(e.getOutputs(t))))},e)},Yo=function(t,e,r,n){for(var o=[],i=function(t,e,r,n){var o=n.outputsOnly,i=n.removedArrayInputsOnly,a=n.newPaths,u=n.chunkPath,c=n.patchAnalysis,s={},l=[];function f(t){if(t){var e=s[t.resolvedId];if(void 0!==e){var r=l[e];r.changedPropIds=$o(r.changedPropIds,t.changedPropIds),t.initialCall&&(r.initialCall=!0)}else s[t.resolvedId]=l.length,l.push(t)}}function p(r,n,s){if(n){var l=!!c&&function(t,e){return!(!t||!e||t.freshIds[e])}(c,vo(r));for(var p in n){var d=Co(t,0,r,p);d&&(d.callback.prevent_initial_call||l||(d.initialCall=!0,f(d)))}}if(!o&&s){var y=vo(r),h=i?function(t){return function(r){return r.getInputs(e).some(function(e){return!(!Array.isArray(e)||!e.some(function(e){return vo(e.id)===t})||(He(r.getOutputs(a)).length&&(r.initialCall=!0,r.changedPropIds={},f(r)),0))})}}(y):f;for(var v in s){var b=h;u&&!Kn(c,y,v)&&(b=function(t){jr(gn(u),Pr("path",He(t.getOutputs(e))))||h(t)}),zo(t,e,r,v,Jo).forEach(b)}}}return qn(r,function(e){var r=e.props&&e.props.id;if(r)if("string"!=typeof r||i){var n=Object.keys(r).sort(),o=n.join(",");if(p(r,!i&&t.outputPatterns[o],t.inputPatterns[o]),t.hasPartialInputPatterns)for(var a in t.partialInputPatterns)a!==o&&a.split(",").every(function(t){return-1!==n.indexOf(t)})&&p(r,null,t.partialInputPatterns[a]);if(!i&&t.hasPartialOutputPatterns)for(var u in t.partialOutputPatterns)u!==o&&u.split(",").every(function(t){return-1!==n.indexOf(t)})&&p(r,t.partialOutputPatterns[u],null)}else p(r,t.outputMap[r],t.inputMap[r])}),Qe(function(r){return Xn(Xn({},r),{},{priority:Vo(t,e,r)})},l)}(t,e,r,n);;){var a=Lo(xr(function(t){var r=t.callback.inputs,n=t.getInputs;return jr(Io,r)||!Ee(Dr(Qe(Wo,He(n(e))),o))},i),2),u=a[0],c=a[1];if(!c.length)break;i=u,o=mr(o,Qe(Wo,He(Qe(function(t){return(0,t.getOutputs)(e)},c))))}if(n.filterRoot){var s=Oe(["props","id"],r);s&&(s=vo(s),i=i.filter(function(t){return t.callback.inputs.reduce(function(t,e){return t||vo(e.id)==s&&n.filterRoot.includes(e.property)},!1)}))}var l=Math.random().toString(16);return Qe(function(t){return Uo(Uo({},t),{},{executionGroup:l})},i)},Qo=function(t){var e=t.anyVals,r=t.callback,n=r.inputs,o=r.outputs,i=r.state,a=r.output,u=Qe(Wo,[].concat(Go(n),Go(o),Go(i)));return 0===o.length&&a&&u.push(a),mr(u,Array.isArray(e)?e:""===e?[]:[e]).join(",")};function Xo(t,e,r,n){return He(Qe(function(e){return zo(r,n,t,e)},Yt(e)))}var Zo=function(t,e,r){return{callback:t,anyVals:r,resolvedId:t.output+r,getOutputs:function(r){return t.outputs.map(e(r))},getInputs:function(r){return t.inputs.map(e(r))},getState:function(r){return t.state.map(e(r))},changedPropIds:{},initialCall:!1}};function ti(t,e){var r=Lo(xr(function(t){var r=t.getOutputs,n=t.callback.outputs;return He(r(e)).length===n.length},t),2)[1],n=Lo(xr(function(t){var r=t.getOutputs;return!He(r(e)).length},r),2)[1];return{added:Qe(function(t){return be("changedPropIds",Nr(function(t,r){return Wn(e,yo(r).id)},t.changedPropIds),t)},n),removed:r}}function ei(t,e,r){return function(n){return function(o){var i=o.id,a=o.property,u=o.partial;if("string"==typeof i){var c=Wn(n,i);return c?[{id:i,property:a,path:c}]:[]}var s=Object.keys(i).sort(),l=Ie(s,i),f=s.join(","),p=n.objs[f];if(p){var d=[];return p.forEach(function(n){var o=n.values,i=n.path;Ao(s,o,l,t,e,r)&&d.push({id:Ur(s,o),property:a,path:i})}),d}if(u){var y=[],h=function(){var o=v.split(",");if(!s.every(function(t){return-1!==o.indexOf(t)}))return 1;n.objs[v].forEach(function(n){var i=n.values,u=n.path;To(s,l,o,i,t,e,r)&&y.push({id:Ur(o,i),property:a,path:u})})};for(var v in n.objs)h();return y}return[]}}}function ri(t,e,r,n){return function(n){return function(o){var i=o.id,a=o.property,u=o.partial;if("string"==typeof i){var c=Wn(n,i);return c?[{id:i,property:a,path:c}]:[]}var s=Object.keys(i).sort(),l=Ie(s,i);if(!u){var f=s.join(","),p=n.objs[f];if(!p)return[];var d=[],y=e?s.map(function(r){var n=t.indexOf(r);return-1!==n?e[n]:void 0}):void 0,h=r?s.map(function(e){var n=t.indexOf(e);return-1!==n?r[n]:void 0}):void 0;return p.forEach(function(e){var r=e.values,n=e.path;Ao(s,r,l,t,y,h)&&d.push({id:Ur(s,r),property:a,path:n})}),d}var v=[],b=function(){var o=m.split(",");if(!s.every(function(t){return-1!==o.indexOf(t)}))return 1;n.objs[m].forEach(function(n){var i=n.values,u=n.path;To(s,l,o,i,t,e,r)&&v.push({id:Ur(o,i),property:a,path:u})})};for(var m in n.objs)b();return v}}}var ni={ON_PROP_CHANGE:1,SET_REQUEST_QUEUE:1,SET_GRAPHS:1,SET_PATHS:1,SET_LAYOUT:1,SET_APP_LIFECYCLE:1,SET_CONFIG:1,ADD_HTTP_HEADERS:1,ON_ERROR:1,SET_HOOKS:1,INSERT_COMPONENT:1,REMOVE_COMPONENT:1,RESET_COMPONENT_STATE:1},oi=function(t){if(ni[t])return t;throw new Error("".concat(t," is not defined."))};function ii(t){var e={STARTED:"STARTED",HYDRATED:"HYDRATED",DESTROYED:"DESTROYED"};if(e[t])return e[t];throw new Error("".concat(t," is not a valid app state."))}var ai,ui,ci=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ii("STARTED"),e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_APP_LIFECYCLE")?ii(e.payload):t};function si(t){return si="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},si(t)}function li(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function fi(t){for(var e=1;e1?arguments[1]:void 0;return cr(function(t,e){return null===e?t:e.type===ui.AddCompleted?function(t,e){return fi(fi({},t),{},{completed:t.completed+e.payload})}(t,e):function(t,e){var r=yi[e.type],n=hi[e.type];return r&&n&&0!==e.payload.length?fi(fi({},t),{},{[n]:r(t[n],e.payload)}):t}(t,e)},arguments.length>0&&void 0!==arguments[0]?arguments[0]:di,t.type===ui.Aggregate?t.payload:[t])},bi=ae(function t(e,r,n){return ke(function(r,n,o){return Se(n)&&Se(o)?t(e,n,o):e(r,n,o)},r,n)}),mi=bi,gi=qt(function(t,e){return mi(function(t,e,r){return r},t,e)});function wi(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_CONFIG")?(window.__dashprivate_childrenProps=gi(window.__dashprivate_childrenProps||{},e.payload.children_props),e.payload):e.type===oi("ADD_HTTP_HEADERS")?gi(t,{fetch:{headers:e.payload}}):t}var Oi={},Si=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Oi,e=arguments.length>1?arguments[1]:void 0;return"SET_GRAPHS"===e.type?e.payload:t};function ji(t){return function(t){if(Array.isArray(t))return _i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return _i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_i(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:Ei,e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"ON_ERROR":var r=t.frontEnd,n=t.backEnd,o=t.backEndConnected;return console.error(e.payload.error),"frontEnd"===e.payload.type?{frontEnd:[ln(e.payload,{timestamp:new Date})].concat(ji(r)),backEnd:n,backEndConnected:o}:"backEnd"===e.payload.type?{frontEnd:r,backEnd:[ln(e.payload,{timestamp:new Date})].concat(ji(n)),backEndConnected:o}:t;case"SET_CONNECTION_STATUS":return ln(t,{backEndConnected:e.payload});default:return t}}function ki(t){return function(t){if(Array.isArray(t))return Ai(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ai(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ai(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ai(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:Ti;switch((arguments.length>1?arguments[1]:void 0).type){case"UNDO":var e=t.past,r=t.present,n=t.future,o=e[e.length-1];return{past:e.slice(0,e.length-1),present:o,future:[r].concat(ki(n))};case"REDO":var i=t.past,a=t.present,u=t.future,c=u[0],s=u.slice(1);return{past:[].concat(ki(i),[a]),present:c,future:s};case"REVERT":var l=t.past,f=t.future,p=l[l.length-1];return{past:l.slice(0,l.length-1),present:p,future:ki(f)};default:return t}},Ii=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{layout_pre:null,layout_post:null,request_pre:null,request_post:null,callback_resolved:null,request_refresh_jwt:null,bear:!1},e=arguments.length>1?arguments[1]:void 0;return"SET_HOOKS"===e.type?e.payload:t};function Ci(t){return Ci="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ci(t)}function Ri(t,e,r){if(r||(r=new Ni),o=Ci(n=t),null==n||"object"!=o&&"function"!=o)return t;var n,o,i,a=function(n){var o=r.get(t);if(o)return o;for(var i in r.set(t,n),t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=e?Ri(t[i],!0,r):t[i]);return n};switch(Qt(t)){case"Object":return a(Object.create(Object.getPrototypeOf(t)));case"Array":return a(Array(t.length));case"Date":return new Date(t.valueOf());case"RegExp":return i=t,new RegExp(i.source,i.flags?i.flags:(i.global?"g":"")+(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.sticky?"y":"")+(i.unicode?"u":"")+(i.dotAll?"s":""));case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":return t.slice();default:return t}}var Di,Ni=function(){function t(){this.map={},this.length=0}return t.prototype.set=function(t,e){var r=this.hash(t),n=this.map[r];n||(this.map[r]=n=[]),n.push([t,e]),this.length+=1},t.prototype.hash=function(t){var e=[];for(var r in t)e.push(Object.prototype.toString.call(t[r]));return e.join()},t.prototype.get=function(t){if(this.length<=180){for(var e in this.map)for(var r=this.map[e],n=0;n0&&void 0!==arguments[0]?arguments[0]:Ji,e=arguments.length>1?arguments[1]:void 0;if("UPDATE_RESOURCE_USAGE"===e.type){var r=e.payload,n=r.id,o=r.usage,i=r.status,a=Fi[i]||i,u={updated:[n],resources:t.resources,callbacks:t.callbacks,graphLayout:t.graphLayout};u.callbacks[n]=u.callbacks[n]||Mi(Hi);var c=u.callbacks[n],s=c.resources,l=u.resources;if(c.count+=1,c.status.latest=a,c.status[a]=(c.status[a]||0)+1,c.result=e.payload.result,c.inputs=e.payload.inputs,c.state=e.payload.state,o){var f=o.__dash_client,p=o.__dash_server,d=o.__dash_upload,y=o.__dash_download,h=function(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n0&&void 0!==arguments[0]?arguments[0]:Wi};!function(t){t.Set="IsLoading.Set"}(Di||(Di={}));var Vi=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1?arguments[1]:void 0;return e.type===Di.Set?e.payload:t},Ki=qt(function(t,e){return Zr(e,[t])}),Yi=function(t){return{value:t,"fantasy-land/map":function(){return this}}},Qi=qt(function(t,e){return t(Yi)(e).value}),Xi=qt(function(t,e){return function(r){return function(n){return Qe(function(t){return e(t,n)},r(t(n)))}}}),Zi=Ot(function(t){return Xi(function(e){return le(t,e)},ve(t))}),ta=ae(function(t,e,r){var n=Array.prototype.slice.call(r,0);return n.splice(t,e),n}),ea=qt(function t(e,r){if(null==r)return r;switch(e.length){case 0:return r;case 1:return function(t,e){if(null==e)return e;if(ue(t)&&de(e))return ta(t,1,e);var r={};for(var n in e)r[n]=e[n];return delete r[t],r}(e[0],r);default:var n=e[0],o=Array.prototype.slice.call(e,1);return null==r[n]?function(t,e){if(ue(t)&&de(e))return[].concat(e);var r={};for(var n in e)r[n]=e[n];return r}(n,r):be(n,t(o,r[n]),r)}});function ra(t){return ra="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ra(t)}function na(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function oa(t,e,r){return(e=function(t){var e=function(t){if("object"!=ra(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=ra(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==ra(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ia(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{components:[]},r=arguments.length>1?arguments[1]:void 0;if(r.type===oi("SET_LAYOUT"))return Array.isArray(r.payload)?e.components=function(t){if(Array.isArray(t))return ia(t)}(t=r.payload)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ia(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ia(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}():e.components=function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:ua,e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_PATHS")?e.payload:t},sa=qt(function(t,e){return ea([t],e)});function la(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"ADD_CALLBACK_JOB":return function(t,e){return be(t.jobId,t,e)}(e.payload,t);case"REMOVE_CALLBACK_JOB":return function(t,e){return sa(t,e)}(e.payload.jobId,t);case"CALLBACK_JOB_OUTDATED":return function(t,e){return ve([t,"outdated"],!0,e)}(e.payload.jobId,t);default:return t}}function fa(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"LOADED":return e.payload.reduce(function(t,e){var r=[JSON.stringify(e.path)],n=pe([],r,t);return ve(r,n.filter(function(t){return t.property!==e.property}),t)},t);case"LOADING":return e.payload.reduce(function(t,e){var r=[JSON.stringify(e.path)],n=pe([],r,t);return ie(e,n)||n.push(e),ve(r,n,t)},t);default:return t}}var pa=qt(function(t,e){return Ke(t+1,function(){var r=arguments[t];if(null!=r&&sr(r[e]))return r[e].apply(r,Array.prototype.slice.call(arguments,0,t));throw new TypeError(br(r)+' does not have a method named "'+e+'"')})}),da=pa(1,"join");function ya(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if(ie(e.type,["UNDO_PROP_CHANGE","REDO_PROP_CHANGE","ON_PROP_CHANGE"])){var r=ba(e.payload.itempath),n=pe(0,[r,"hash"],t);t=be(r,{hash:n+1,changedProps:e.payload.props,renderType:e.payload.renderType},t)}else if("RESET_COMPONENT_STATE"===e.type){var o=e.payload.itempath;if(o){var i=ba(o);return Object.fromEntries(Object.entries(t).filter(function(t){return!(e=t,r=1,function(t){if(Array.isArray(t))return t}(e)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,r)||ga(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0].startsWith(i);var e,r}))}}return t};function ja(){var t={appLifecycle:ci,callbacks:vi,config:wi,error:Pi,graphs:Si,history:xi,hooks:Ii,profile:$i,changed:zi,isLoading:Vi,layout:aa,paths:ca,layoutHashes:Sa,loading:fa};return we(function(e){var r;t[e]=(r=e,function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,n=t;if(e.type===r){var o=e.payload,i=o.id,a={status:o.status,content:o.content};n=Array.isArray(i)?ve(i,a,t):i?be(i,a,t):ln(t,a)}return n})},Oa),t.callbackJobs=la,function(t){for(var e=Object.keys(t),r={},n=0;n1?r-1:0),o=1;on;){var a=t.charCodeAt(o-1);if(32!==a&&9!==a)break;o--}return t.slice(n,o)}function $a(t){if(-1===t.indexOf("%"))return t;try{return decodeURIComponent(t)}catch(e){return t}}var Wa=Ot(function(t){return function(){return t}}),za=function(t){return{value:t,map:function(e){return za(e(t))}}},Va=ae(function(t,e,r){return t(function(t){return za(e(t))})(r).value}),Ka=ae(function(t,e,r){return Va(t,Wa(e),r)});function Ya(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Qa(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Qa(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qa(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(wu(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,wu(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,wu(f,"constructor",s),wu(s,"constructor",c),c.displayName="GeneratorFunction",wu(s,o,"GeneratorFunction"),wu(f),wu(f,o,"Generator"),wu(f,n,function(){return this}),wu(f,"toString",function(){return"[object Generator]"}),(gu=function(){return{w:i,m:p}})()}function wu(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}wu=function(t,e,r,n){function i(e,r){wu(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},wu(t,e,r,n)}function Ou(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Su(t){return function(t){if(Array.isArray(t))return ju(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ju(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ju(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ju(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);ra)o=t.lastIndexOf(";",i-1)+1;else{var u=Ja(t,o,i);void 0===e[u]&&(e[u]=n(Ja(t,i+1,a))),o=a+1}}while(o3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(vc(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,vc(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,vc(f,"constructor",s),vc(s,"constructor",c),c.displayName="GeneratorFunction",vc(s,o,"GeneratorFunction"),vc(f),vc(f,o,"Generator"),vc(f,n,function(){return this}),vc(f,"toString",function(){return"[object Generator]"}),(hc=function(){return{w:i,m:p}})()}function vc(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}vc=function(t,e,r,n){function i(e,r){vc(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},vc(t,e,r,n)}function bc(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}var mc=jt(console.warn),gc={GET:function(t,e,r,n){return fetch(t,gi(e,{method:"GET",headers:Gu(n)}))},POST:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(t,gi(e,{method:"POST",headers:Gu(arguments.length>3?arguments[3]:void 0),body:r?JSON.stringify(r):null}))}};function wc(t,e,r,n,o){return function(){var i,a=(i=hc().m(function i(a,u){var c,s,l,f,p,d,y,h,v,b,m;return hc().w(function(i){for(;;)switch(i.p=i.n){case 0:d=function(t){u().error.backEndConnected!==t&&a({type:"SET_CONNECTION_STATUS",payload:t})},c=u(),s=c.config,l=c.hooks,f=null,p="".concat(Mn(s)).concat(t),a({type:r,payload:{id:n,status:"loading"}}),i.p=1,h=0;case 2:if(!(h<=1)){i.n=11;break}return i.p=3,i.n=4,gc[e](p,s.fetch,o,s);case 4:y=i.v,i.n=6;break;case 5:return i.p=5,i.v,console.log("fetch error",y),d(!1),i.a(2);case 6:if(401!==y.status&&400!==y.status){i.n=9;break}if(!l.request_refresh_jwt){i.n=9;break}return i.n=7,y.text();case 7:if(!i.v.includes(Ui)){i.n=9;break}return i.n=8,l.request_refresh_jwt(s.fetch.headers.Authorization.substr(7));case 8:if(!(v=i.v)){i.n=9;break}return f={Authorization:"Bearer ".concat(v)},s=gi(s,{fetch:{headers:f}}),i.a(3,10);case 9:return i.a(3,11);case 10:h++,i.n=2;break;case 11:if(b=y.headers.get("content-type"),f&&a(ku(f)),d(!0),!b||-1===b.indexOf("application/json")){i.n=12;break}return i.a(2,y.json().then(function(t){return a({type:r,payload:{status:y.status,content:t,id:n}}),t}));case 12:return i.n=13,y.text();case 13:return m=i.v,mc("Response is missing header: content-type: application/json"),i.a(2,a({type:r,payload:{id:n,status:y.status,content:m}}));case 14:i.p=14,Wu(i.v,"Error from API call: "+t,a);case 15:return i.a(2)}},i,null,[[3,5],[1,14]])}),function(){var t=this,e=arguments;return new Promise(function(r,n){var o=i.apply(t,e);function a(t){bc(o,r,n,a,u,"next",t)}function u(t){bc(o,r,n,a,u,"throw",t)}a(void 0)})});return function(t,e){return a.apply(this,arguments)}}()}function Oc(t){return Oc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oc(t)}function Sc(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function jc(t){for(var e=1;e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(xc(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,xc(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,xc(f,"constructor",s),xc(s,"constructor",c),c.displayName="GeneratorFunction",xc(s,o,"GeneratorFunction"),xc(f),xc(f,o,"Generator"),xc(f,n,function(){return this}),xc(f,"toString",function(){return"[object Generator]"}),(Tc=function(){return{w:i,m:p}})()}function xc(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}xc=function(t,e,r,n){function i(e,r){xc(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},xc(t,e,r,n)}function Ic(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Cc(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){Ic(i,n,o,a,u,"next",t)}function u(t){Ic(i,n,o,a,u,"throw",t)}a(void 0)})}}function Rc(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return Dc(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dc(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function Dc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{};Uc(this,t),Gc(this,"localId",Bc()),Gc(this,"endId",""),Gc(this,"downlinkId",""),Gc(this,"pending",new Map),Gc(this,"counter",0),Gc(this,"cursor",0),Gc(this,"downlinkOpen",!1),Gc(this,"abort",null),Gc(this,"loopGen",0),Gc(this,"reconnectDelay",void 0),Gc(this,"maxReconnectDelay",void 0),Gc(this,"reconnectWindow",void 0),Gc(this,"fetchImpl",void 0),Gc(this,"_transport",{}),Gc(this,"wakeUp",null),Gc(this,"wokenForNewStream",!1),this.fetchImpl=null!==(e=i.fetchImpl)&&void 0!==e?e:fetch.bind(globalThis),this.reconnectDelay=null!==(r=i.reconnectDelay)&&void 0!==r?r:1e3,this.maxReconnectDelay=null!==(n=i.maxReconnectDelay)&&void 0!==n?n:5e3,this.reconnectWindow=null!==(o=i.reconnectWindow)&&void 0!==o?o:3e4,this.configure(i)},[{key:"configure",value:function(t){t.mode&&(this._transport.mode=t.mode),"number"==typeof t.pollInterval&&(this._transport.pollInterval=t.pollInterval)}},{key:"transport",get:function(){return Mc({},this._transport)}},{key:"activeCount",get:function(){return this.pending.size}},{key:"connectionEndId",get:function(){return this.endId}},{key:"streamUrl",value:function(t){if(!this.endId)return t;var e=t.includes("?")?"&":"?";return"".concat(t).concat(e,"endId=").concat(encodeURIComponent(this.endId))+"&downlinkId=".concat(encodeURIComponent(this.downlinkId))}},{key:"run",value:function(t,e,r,n,o){return this.start(t,e,r,n,o).settled}},{key:"start",value:function(t,e,r,n,o){var i=this;0!==this.pending.size&&this.endId||(this.endId=r||"",this.downlinkId=Bc(),this.cursor=0);var a="".concat(this.localId,"-").concat(++this.counter),u=new Promise(function(t,e){i.pending.set(a,{onFrame:o,resolve:t,reject:e,acked:!1,gotFrame:!1})});return this.fetchImpl(this.streamUrl(t),Mc(Mc({},e),{},{method:"POST",body:JSON.stringify(Mc(Mc({},n),{},{streamConnection:{requestId:a}}))})).then(function(r){return i.checkUplink(a,r,t,e)}).catch(function(t){return i.fail(a,t)}),{requestId:a,settled:u}}},{key:"cancel",value:function(t,e,r){var n=this.pending.get(t);n&&(this.pending.delete(t),n.reject(new Error("Streaming callback cancelled")),this.fetchImpl(this.streamUrl(e),Mc(Mc({},r),{},{method:"POST",body:JSON.stringify({streamCancel:{requestId:t}})})).catch(function(){}),this.stopDownlinkIfIdle())}},{key:"checkUplink",value:function(t,e,r,n){if(e.ok){var o,i=this.pending.get(t);i&&(i.acked=!0,this.ensureDownlink(r,n),this.wokenForNewStream=!0,null===(o=this.wakeUp)||void 0===o||o.call(this))}else this.fail(t,new Error("stream uplink responded ".concat(e.status)))}},{key:"hasAcked",value:function(){var t,e=Rc(this.pending.values());try{for(e.s();!(t=e.n()).done;)if(t.value.acked)return!0}catch(t){e.e(t)}finally{e.f()}return!1}},{key:"dispatchEnvelope",value:function(t){if(t.reset)return this.cursor=0,void this.settleAll(new Error("stream reset: the server lost this connection (restart or owner change)"));if("number"==typeof t.seq&&(this.cursor=t.seq),void 0!==t.rid&&void 0!==t.frame){var e=this.pending.get(t.rid);if(e){var r=t.frame;r.done?(this.pending.delete(t.rid),r.error?e.reject(new Error(r.error.message||"Streaming callback error")):e.resolve(),this.stopDownlinkIfIdle()):(e.gotFrame=!0,e.onFrame(r))}}}},{key:"settleAll",value:function(t){var e=Array.from(this.pending.values());this.pending.clear(),this.closeDownlink(),e.forEach(function(e){return e.gotFrame?e.resolve():e.reject(t)})}},{key:"fail",value:function(t,e){var r=this.pending.get(t);r&&(this.pending.delete(t),r.reject(e),this.stopDownlinkIfIdle())}},{key:"stopDownlinkIfIdle",value:function(){this.downlinkOpen&&!this.hasAcked()&&this.closeDownlink()}},{key:"closeDownlink",value:function(){var t,e=this.abort;this.abort=null,this.downlinkOpen=!1,this.loopGen++,null===(t=this.wakeUp)||void 0===t||t.call(this),e&&e.abort()}},{key:"ensureDownlink",value:function(t,e){this.downlinkOpen||(this.downlinkOpen=!0,this.readLoop(t,e,++this.loopGen))}},{key:"readLoop",value:(e=Cc(Tc().m(function t(e,r,n){var o,i,a,u,c,s,l,f,p,d;return Tc().w(function(t){for(;;)switch(t.p=t.n){case 0:i="poll"===this._transport.mode,a=null!==(o=this._transport.pollInterval)&&void 0!==o?o:100,u=a,c=0,s=null,l=this.reconnectDelay;case 1:if(!this.hasAcked()||this.loopGen!==n){t.n=14;break}return this.wokenForNewStream&&(this.wokenForNewStream=!1,c=0,u=a),this.abort=new AbortController,f=0,t.p=2,t.n=3,this.fetchImpl(this.streamUrl(e),Mc(Mc({},r),{},{method:"POST",signal:this.abort.signal,body:JSON.stringify({streamDownlink:{from:this.cursor}})}));case 3:if(!((p=t.v).status>=400&&p.status<500)){t.n=4;break}return this.settleAll(new Error("stream downlink responded ".concat(p.status))),t.a(3,14);case 4:if(p.ok&&p.body){t.n=5;break}throw new Error("downlink responded ".concat(p.status));case 5:return t.n=6,this.consume(p.body,n);case 6:if(0!==(f=t.v)||i){t.n=7;break}throw new Error("downlink closed without data");case 7:s=null,l=this.reconnectDelay,t.n=12;break;case 8:if(t.p=8,t.v,this.hasAcked()&&this.loopGen===n){t.n=9;break}return t.a(3,14);case 9:if(!((d=Date.now())-(s=null!=s?s:d)>=this.reconnectWindow)){t.n=10;break}return this.settleAll(new Error("stream downlink lost: could not reconnect to the server")),t.a(3,14);case 10:return t.n=11,Hc(l);case 11:return l=Math.min(2*l,this.maxReconnectDelay),t.a(3,1);case 12:if(!i||!this.hasAcked()||this.loopGen!==n){t.n=13;break}return f?(c=0,u=a):++c>2&&(u=Math.min(2*u,5*a)),t.n=13,this.pause(u);case 13:t.n=1;break;case 14:this.loopGen===n&&(this.downlinkOpen=!1,this.abort=null);case 15:return t.a(2)}},t,this,[[2,8]])})),function(t,r,n){return e.apply(this,arguments)})},{key:"pause",value:function(t){var e=this;return new Promise(function(r){var n=setTimeout(function(){e.wakeUp=null,r()},t);e.wakeUp=function(){clearTimeout(n),e.wakeUp=null,r()}})}},{key:"consume",value:(t=Cc(Tc().m(function t(e,r){var n,o,i,a,u,c,s,l,f;return Tc().w(function(t){for(;;)switch(t.n){case 0:n=e.getReader(),o=new TextDecoder,i="",a=0;case 1:return t.n=2,n.read();case 2:if(u=t.v,c=u.done,s=u.value,!c){t.n=3;break}return t.a(2,a);case 3:i+=o.decode(s,{stream:!0}),l=void 0;case 4:if(!((l=i.indexOf("\n"))>=0)){t.n=7;break}if(f=i.slice(0,l),i=i.slice(l+1),f.trim()){t.n=5;break}return t.a(3,4);case 5:if(this.loopGen===r){t.n=6;break}return t.a(2,a);case 6:a++,this.dispatchEnvelope(JSON.parse(f)),t.n=4;break;case 7:t.n=1;break;case 8:return t.a(2)}},t,this)})),function(e,r){return t.apply(this,arguments)})}]);var t,e}(),$c=function(){return Lc(function t(e){var r,n=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:kc(),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Uc(this,t),Gc(this,"pending",new Map),Gc(this,"counter",0),Gc(this,"port",void 0),Gc(this,"rendererId",void 0),Gc(this,"transport",void 0),Gc(this,"_broken",!1),this.port=e,this.rendererId=o,this.transport=i,e.onmessage=function(t){return n.handleMessage(t.data)},null===(r=e.start)||void 0===r||r.call(e)},[{key:"broken",get:function(){return this._broken}},{key:"activeCount",get:function(){return this.pending.size}},{key:"run",value:function(t,e,r,n,o){var i=this,a="".concat(this.rendererId,"-").concat(++this.counter);return new Promise(function(u,c){i.pending.set(a,{onFrame:o,resolve:u,reject:c,acked:!1,gotFrame:!1});var s={type:"stream",rendererId:i.rendererId,requestId:a,url:t,init:e,endId:r||"",payload:n,transport:i.transport};i.port.postMessage(s)})}},{key:"release",value:function(){var t={type:"unregister",rendererId:this.rendererId};this.port.postMessage(t)}},{key:"fail",value:function(t){this._broken=!0;var e,r=Rc(this.pending.values());try{for(r.s();!(e=r.n()).done;)e.value.reject(t)}catch(t){r.e(t)}finally{r.f()}this.pending.clear()}},{key:"handleMessage",value:function(t){var e=this.pending.get(t.requestId);e&&("frame"!==t.type?(this.pending.delete(t.requestId),"done"===t.type?e.resolve():e.reject(new Error(t.message))):e.onFrame(t.frame))}}])}(),Wc=null;function zc(){var t,e,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Wc instanceof $c&&Wc.broken&&(Wc=null),Wc)return Wc;var o={mode:null===(t=n.stream)||void 0===t?void 0:t.mode,pollInterval:null===(e=n.stream)||void 0===e?void 0:e.poll_interval},i=null===(r=n.stream)||void 0===r?void 0:r.worker_url;if(i&&"undefined"!=typeof SharedWorker)try{var a=new SharedWorker(i,{name:"dash-stream-worker"}),u=new $c(a.port,kc(),o);return a.onerror=function(){return u.fail(new Error("Dash stream worker failed"))},window.addEventListener("pagehide",function(){return u.release()}),Wc=u}catch(t){}return Wc=new Jc(o)}function Vc(t){var e;return!(null===(e=t.stream)||void 0===e||!e.enabled)}function Kc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function os(t,e){if(t){if("string"==typeof t)return is(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?is(t,e):void 0}}function is(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(us(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,us(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,us(f,"constructor",s),us(s,"constructor",c),c.displayName="GeneratorFunction",us(s,o,"GeneratorFunction"),us(f),us(f,o,"Generator"),us(f,n,function(){return this}),us(f,"toString",function(){return"[object Generator]"}),(as=function(){return{w:i,m:p}})()}function us(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}us=function(t,e,r,n){function i(e,r){us(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},us(t,e,r,n)}function cs(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function ss(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){cs(i,n,o,a,u,"next",t)}function u(t){cs(i,n,o,a,u,"throw",t)}a(void 0)})}}function ls(t,e){for(var r=0;r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function ws(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Os(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(Os(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,Os(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,Os(f,"constructor",s),Os(s,"constructor",c),c.displayName="GeneratorFunction",Os(s,o,"GeneratorFunction"),Os(f),Os(f,o,"Generator"),Os(f,n,function(){return this}),Os(f,"toString",function(){return"[object Generator]"}),(ws=function(){return{w:i,m:p}})()}function Os(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Os=function(t,e,r,n){function i(e,r){Os(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},Os(t,e,r,n)}function Ss(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function js(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){Ss(i,n,o,a,u,"next",t)}function u(t){Ss(i,n,o,a,u,"throw",t)}a(void 0)})}}function _s(t){return function(t){if(Array.isArray(t))return ks(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||Ps(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Es(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(t,e)||Ps(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ps(t,e){if(t){if("string"==typeof t)return ks(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ks(t,e):void 0}}function ks(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r5&&void 0!==arguments[5]&&arguments[5],a="Input"===o?r.getInputs:r.getState,u=[],c=0,s=a(t).map(function(i,a){var s=Es(Qs(t,i.map(function(t){var r=t.id,n=t.property,o=t.path;return{id:r,property:n,value:Oe([].concat(_s(o),["props",n]),e)}}),n[a],r.anyVals,o),2),l=s[0],f=s[1];return Io(n[a])&&!l.length&&c++,f&&u.push(f),l});if(u.length){if(i&&u.length+c===s.length)return null;Zs(u,t)}return s}function Zs(t,e){var r=t[0];throw-1!==r.indexOf("logged above")&&console.error(e.objs),new ReferenceError(r)}var tl=function(t){return Array.isArray(t)?Pr("value",t):t.value},el=function(t,e){return Array.isArray(t)?e===window.dash_clientside.no_update?Br(t,[e]):Br(t,e):[[t,e]]};function rl(t){return t.split("@")[0]}function nl(t){return Yt(t).length?{patchedOutputs:t}:{}}function ol(t,e,r,n){var o={};return He(t).forEach(function(t){var i=rl(t.property),a=Wn(e,t.id),u=vo(t.id),c=[u,i],s=Oe(c,n);if(void 0!==s){nc(s)&&(o[u]=o[u]||{patchedProps:{},freshIds:{},writtenProps:{},tailAppends:{}});var l=Oe(a.concat(["props"]),r)||{},f=yc({[i]:s},l,o[u]);n=ve(c,f[i],n)}}),{data:n,patchedOutputs:o}}function il(t,e,r,n){return al.apply(this,arguments)}function al(){return al=js(ws().m(function t(e,r,n,o){var i,a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O,S;return ws().w(function(t){for(;;)switch(t.p=t.n){case 0:if((i=window.dash_clientside=window.dash_clientside||{}).no_update||(Object.defineProperty(i,"no_update",{value:{description:"Return to prevent updating an Output."},writable:!1}),Object.defineProperty(i,"PreventUpdate",{value:{description:"Throw to prevent updating all Outputs."},writable:!1})),a=o.inputs,u=o.outputs,c=o.state,s=Date.now(),l=yl(a),f=yl(c),p={},d=qi,t.p=1,v=r.namespace,b=r.function_name,m=a.map(tl),c&&(m=mr(m,c.map(tl))),i.callback_context={},i.callback_context.triggered=o.changedPropIds.map(function(t){return{prop_id:t,value:l[t]}}),i.callback_context.triggered_id=hl(o.changedPropIds),i.callback_context.inputs_list=a,i.callback_context.inputs=l,i.callback_context.states_list=c,i.callback_context.states=f,i.callback_context.outputs_list=u,g=(y=i[v])[b].apply(y,_s(m)),delete i.callback_context,"function"!=typeof(null===(h=g)||void 0===h?void 0:h.then)){t.n=3;break}return t.n=2,g;case 2:g=t.v;case 3:u&&el(u,g).forEach(function(t){var e=Es(t,2),r=e[0],n=e[1];el(r,n).forEach(function(t){var e=Es(t,2),r=e[0],n=e[1],o=r.id,a=r.property,u=vo(o),c=p[u]=p[u]||{};n!==i.no_update&&(c[rl(a)]=n)})}),t.n=6;break;case 4:if(t.p=4,(S=t.v)!==i.PreventUpdate){t.n=5;break}d=Li,t.n=6;break;case 5:throw d="CLIENTSIDE_ERROR",S;case 6:return t.p=6,delete i.callback_context,w=Date.now()-s,O={__dash_server:w,__dash_client:w,__dash_upload:0,__dash_download:0},n.ui&&e(zs({id:o.output,usage:O,status:d,result:p,inputs:a,state:c})),t.f(6);case 7:return t.a(2,p)}},t,null,[[1,4,6,7]])})),al.apply(this,arguments)}function ul(t,e){return function(r,n){Da(t).reduce(function(t,r,o){var i,a=Es(r,2),u=a[0],c=a[1],s=u,l=[];if(u.startsWith("{")){var f=Es(Yc(u),2);s=f[0],i=f[1],l=function(t,e,r,n){var o=[],i={};return Da(t).forEach(function(a){var u,c,s=(c=2,function(t){if(Array.isArray(t))return t}(u=a)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(u,c)||function(t,e){if(t){if("string"==typeof t)return Kc(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Kc(t,e):void 0}}(u,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=s[0],f=s[1];if(!o.length)if(Array.isArray(f)){var p=(e.parsedChangedPropsIds[r]||e.parsedChangedPropsIds[0])[l];f.includes("MATCH")?i[l]=p:f.includes("ALL")?o=Qc(t,n(),l):f.includes("ALLSMALLER")&&(o=Qc(t,n(),l).filter(function(t){return t[l]s)){t.n=4;break}return t.p=1,y=new Blob([o]).stream().pipeThrough(new CompressionStream("gzip")),t.n=2,new Response(y).blob();case 2:d=t.v,e["Content-Encoding"]="gzip",t.n=4;break;case 3:t.p=3,b=t.v,console.warn("Sending uncompressed payload, because compressing failed:",b);case 4:return t.a(2,fetch(n,gi(r.fetch,{method:"POST",headers:e,body:d})))}},t,null,[[1,3]])}));return function(){return t.apply(this,arguments)}}();return new Promise(function(i,u){var c=function(c){var s=c.status;if(f){var b=a().callbackJobs[f];if(null!=b&&b.outdated)return t(Ks({jobId:f})),i({})}function m(e){if(r.ui){var o={__dash_server:0,__dash_client:Date.now()-y,__dash_upload:h.length,__dash_download:Number(c.headers.get("Content-Length"))};(c.headers.get("Server-Timing")||"").split(",").forEach(function(t){var e=t.split(";")[0],r=t.match(/;dur=[0-9.]+/);r&&(o[e]=Number(r[0].slice(5)))}),t(zs({id:n.output,usage:o,status:s,result:e,inputs:n.inputs,state:n.state}))}}var g=function(t){var r,o=t.multi,a=t.response;if(e.request_post&&e.request_post(n,a),o)r=a;else{var u=n.output,c=u.substr(0,u.lastIndexOf("."));r={[c]:a.props}}m(r),i(r)},w=function(){f&&t(Ks({jobId:f})),p&&t(ul(p,n)),d&&t(ul(d,n))},O=function(){var r=js(ws().m(function r(o){var a,c,s,l,f,p,d,y,h,v,b,g,O,S,j;return ws().w(function(r){for(;;)switch(r.p=r.n){case 0:a=o.body.getReader(),c=new TextDecoder,s="",f=!1,p=function(){var r=js(ws().m(function r(o){return ws().w(function(r){for(;;)switch(r.n){case 0:if(!o.done){r.n=2;break}if(f=!0,w(),!o.error){r.n=1;break}return m({}),u(new Error(o.error.message||"Callback error")),r.a(2);case 1:return e.request_post&&e.request_post(n,l),m(l||{}),i({}),r.a(2);case 2:if(!o.dist){r.n=3;break}return r.n=3,Promise.all(o.dist.map(Ec));case 3:l=o.response,cl(t,o,n);case 4:return r.a(2)}},r)}));return function(t){return r.apply(this,arguments)}}(),r.p=1;case 2:return r.n=3,a.read();case 3:if(d=r.v,y=d.done,h=d.value,!y){r.n=4;break}return r.a(3,14);case 4:s+=c.decode(h,{stream:!0}),v=s.split("\n"),s=v.pop(),b=gs(v),r.p=5,b.s();case 6:if((g=b.n()).done){r.n=10;break}if((O=g.value).trim()){r.n=7;break}return r.a(3,9);case 7:return r.n=8,p(JSON.parse(O));case 8:if(!f){r.n=9;break}return a.cancel(),r.a(2);case 9:r.n=6;break;case 10:r.n=12;break;case 11:r.p=11,S=r.v,b.e(S);case 12:return r.p=12,b.f(),r.f(12);case 13:r.n=2;break;case 14:if(!s.trim()||f){r.n=15;break}return r.n=15,p(JSON.parse(s));case 15:r.n=17;break;case 16:if(r.p=16,j=r.v,f){r.n=17;break}return f=!0,w(),l?(m(l),i({})):(m({}),u(j)),r.a(2);case 17:f||(w(),m(l||{}),i({}));case 18:return r.a(2)}},r,null,[[5,11,12,13],[1,16]])}));return function(t){return r.apply(this,arguments)}}();if(s===qi){if((c.headers.get("Content-Type")||"").includes("application/x-ndjson")&&c.body)return void O(c);c.json().then(function(e){if(!l&&e.cacheKey&&(l=e.cacheKey),!f&&e.job){var r={jobId:e.job,cacheKey:e.cacheKey,cancelInputs:e.cancel,progressDefault:e.progressDefault,output:JSON.stringify(n.outputs)};t(Vs(r)),f=e.job}e.sideUpdate&&t(ul(e.sideUpdate,n)),e.progress&&t(ul(e.progress,n)),!d&&e.progressDefault&&(d=e.progressDefault),o&&void 0===e.response?setTimeout(v,void 0!==o.interval?o.interval:500):e.dist?Promise.all(e.dist.map(Ec)).then(function(){w(),g(e)}):(w(),g(e))})}else s===Li?(w(),m({}),i({})):(w(),u(c))},s=function(){r.ui&&t(zs({id:n.output,status:Gi,result:{},inputs:n.inputs,state:n.state})),u(new Error("Callback failed: the server did not respond."))},v=function(){b().then(c,s)};v()})}function pl(t,e,r,n,o){return dl.apply(this,arguments)}function dl(){return dl=js(ws().m(function t(e,r,n,o,i){var a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O;return ws().w(function(t){for(;;)switch(t.p=t.n){case 0:return r.request_pre&&r.request_pre(o),a=Date.now(),i&&(e(ul(i.running,o)),u=i.runningOff),c=hs(),t.p=1,t.n=2,c.ensureConnected(n);case 2:return t.n=3,c.sendCallback(o,function(t){s=null==t?void 0:t.response,cl(e,t,o)});case 3:if(l=t.v,u&&e(ul(u,o)),"prevent_update"!==l.status){t.n=4;break}return n.ui&&(f=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:f,__dash_client:f,__dash_upload:0,__dash_download:0},status:Li,result:{},inputs:o.inputs,state:o.state}))),t.a(2,{});case 4:if("error"!==l.status){t.n=5;break}throw new Error(l.message||"Callback error");case 5:if(!l.stream){t.n=6;break}return r.request_post&&r.request_post(o,s),n.ui&&(p=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:p,__dash_client:p,__dash_upload:0,__dash_download:0},status:qi,result:s||{},inputs:o.inputs,state:o.state}))),t.a(2,{});case 6:return null!=(d=l.data)&&d.sideUpdate&&e(ul(d.sideUpdate,o)),v=(h=d||{}).multi,b=h.response,r.request_post&&r.request_post(o,b),v?y=b:(m=o.output,g=m.substr(0,m.lastIndexOf(".")),y={[g]:null==b?void 0:b.props}),n.ui&&(w=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:w,__dash_client:w,__dash_upload:0,__dash_download:0},status:qi,result:y||{},inputs:o.inputs,state:o.state}))),t.a(2,y||{});case 7:throw t.p=7,O=t.v,u&&e(ul(u,o)),n.ui&&e(zs({id:o.output,status:Gi,result:{},inputs:o.inputs,state:o.state})),O;case 8:return t.a(2)}},t,null,[[1,7]])})),dl.apply(this,arguments)}function yl(t){if(!t)return{};for(var e={},r=0;rt.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]&&arguments[3],c=arguments.length>4?arguments[4]:void 0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,f=r().paths,d=s?s.location.length?Oe(s.location,t):t:void 0,y=s?s.location.length?Oe(s.location,n):n:void 0,h=!!s&&s.count>0&&Array.isArray(d)&&Array.isArray(y)&&d.length===y.length+s.count,v=h&&s?function(t,e,r,n){var o=Bn({},n.strs),i=Bn({},n.objs),a={},u=n.objIndex?Bn({},n.objIndex):null;return t.forEach(function(t,n){qn(t,function(t,i){var u=t.props&&t.props.id;if(u){var c=mr(e,[r+n]).concat(i);if("object"===Gn(u)){var s=Object.keys(u).sort(),l=Ie(s,u),f=s.join(",");(a[f]=a[f]||[]).push({values:l,path:c})}else o[u]=c}})}),Object.keys(a).forEach(function(t){if(i[t]=mr(i[t]||[],a[t]),u){var e=Bn({},u[t]||{});a[t].forEach(function(t){var r=t.values,n=t.path,o=Jn(r);o in e||(e[o]=n)}),u[t]=e}}),Bn(Bn({strs:o,objs:i},u?{objIndex:u}:{}),{},{events:n.events})}(d.slice(y.length),i.concat(s.location),y.length,f):$n(t,i,f);e(Iu(v)),o=mr(o,Yo(l,v,t,{chunkPath:i,patchAnalysis:c,filterRoot:u}).map(function(t){return gl(gl({},t),{},{predecessors:a})})),h||(o=mr(o,Yo(l,p,n,{removedArrayInputsOnly:!0,newPaths:v,chunkPath:i,filterRoot:u}).map(function(t){return gl(gl({},t),{},{predecessors:a})})))},w=!1;["children"].concat(m).forEach(function(t){var e,r;if(!w)if(t.includes("[]")){var n=Ol(t.split("[]").map(function(t){return t.split(".").filter(function(t){return t})}),1)[0];if(!Oe(n,h))return;g(gl(gl({},b),{},{props:gl(gl({},b.props),h)}),b,v,Yt(h),(e=d,r=Yt(u),e&&r.length&&r.every(function(t){return e.patchedProps[t]})?e:void 0)),w=!0}else{var o=t.split("."),i=Oe(o,h);if(void 0===i)return;var a=mr(Wn(p,c),["props"].concat(o)),s=Oe(a,f),l=Vn(d,o[0]);g(i,s,a,!1,l,1===o.length?function(t,e){var r=null==t?void 0:t.tailAppends[e];return r&&"object"===zn(r)?r:null}(l,o[0]):null)}});var O=Nr(function(t,e){return!(e in u)},h);if(!Ee(O)){var S=r(),j=S.graphs,_=S.paths;o=mr(o,Xo(i,O,j,_).map(function(t){return gl(gl({},t),{},{predecessors:a})}))}}}),i.push(gl(gl({},t),{},{executionMeta:{allProps:Qe(Wo,He(t.getOutputs(r().paths))),updatedProps:He(Qe(function(t){var e=Ol(t,2),r=e[0],n=e[1];return Qe(function(t){return Wo({id:r,property:t})},Yt(n))},Da(f)))}}))),void 0!==p){var h;if(t.callback.no_output){var v=Yt(t.changedPropIds).join(", ");h="Callback error with no output from input ".concat(v)}else{var b=d?Qe(Wo,He([d.outputs])).join(", "):s;h="Callback error updating ".concat(b)}if(c){var m=c.namespace,g=c.function_name;h+=" via clientside function ".concat(m,".").concat(g)}Wu(p,h,e),i.push(gl(gl({},t),{},{executionMeta:{allProps:Qe(Wo,He(t.getOutputs(r().paths))),updatedProps:[]}}))}}}),e(Ws([n.length?Ls(n):null,n.length?Cs(n.length):null,i.length?Us(i):null,o.length?Ms(o):null]))},inputs:["callbacks.executed"]},_l=jl;function El(t){return El="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},El(t)}function Pl(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return kl(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(kl(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,kl(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,kl(f,"constructor",s),kl(s,"constructor",c),c.displayName="GeneratorFunction",kl(s,o,"GeneratorFunction"),kl(f),kl(f,o,"Generator"),kl(f,n,function(){return this}),kl(f,"toString",function(){return"[object Generator]"}),(Pl=function(){return{w:i,m:p}})()}function kl(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}kl=function(t,e,r,n){function i(e,r){kl(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},kl(t,e,r,n)}function Al(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Tl(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(zl(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,zl(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,zl(f,"constructor",s),zl(s,"constructor",c),c.displayName="GeneratorFunction",zl(s,o,"GeneratorFunction"),zl(f),zl(f,o,"Generator"),zl(f,n,function(){return this}),zl(f,"toString",function(){return"[object Generator]"}),(Wl=function(){return{w:i,m:p}})()}function zl(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}zl=function(t,e,r,n){function i(e,r){zl(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},zl(t,e,r,n)}function Vl(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Kl(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r(null!==(n=e.priority)&&void 0!==n?n:"")?-1:1},of=function(t,e){var r=(0,t.getOutputs)(e),n=He(r),o=[],i={};return n.forEach(function(t){var e=t.id,r=t.property,n=vo(e);(i[n]=i[n]||[]).push(r),o.push(Wo({id:n,property:r}))}),{allOutputs:r,allPropIds:o}},af=function(t,e){var r=[].concat(tf(He(t.getInputs(e))),tf(He(t.getState(e)))),n=new Map(r.map(function(t){return[vo(t.id),t]}));return Array.from(n.values())},uf={observer:function(){var t=Zl(Wl().m(function t(e){var r,n,o,i,a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O,S,j,_,E,P,k,A,T,x,I,C,R,D,N;return Wl().w(function(t){for(;;)switch(t.n){case 0:if(r=e.dispatch,n=e.getState,o=n(),i=o.callbacks,a=i.executing,u=i.watched,c=o.config,s=o.hooks,l=o.layout,f=o.paths,p=o.appLifecycle,d=n(),y=d.callbacks.prioritized,p===ii("HYDRATED")){t.n=1;break}return t.a(2);case 1:h=function(t){return Jl(t,c)},v=a.filter(h).length+u.filter(h).length,b=Math.max(0,12-v),y=Fl(nf,y),m=xr(h,y),g=Ql(m,2),w=g[0],O=g[1],j=xr(S=function(t){return!0===Hl(l,f,af(t,f))},w),_=Ql(j,2),E=_[0],P=_[1],k=E.slice(0,b),A=P.slice(0,b-k.length),T=xr(S,O),x=Ql(T,2),I=x[0],C=x[1],R=[].concat(tf(I),tf(k)),D=[].concat(tf(C),tf(A)),R.length&&r(Ws([Bs(R),Ds(Qe(function(t){return vl(t,c,s,f,l,of(t,f),r,n)},R))])),D.length&&(N=Qe(function(t){return Kl(Kl(Kl({},t),of(t,f)),{},{isReady:Hl(l,f,af(t,f))})},D),r(Ws([Bs(D),Is(N)])),N.forEach(function(){var t=Zl(Wl().m(function t(e){var o,i,a;return Wl().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,e.isReady;case 1:if(o=n(),i=o.callbacks.blocked,En(function(t){return t===e||t.isReady===e.isReady},i)){t.n=2;break}return t.a(2);case 2:a=vl(e,c,s,f,l,e,r,n),r(Ws([Gs([e]),Ds([a])]));case 3:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}()));case 2:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}(),inputs:["callbacks.prioritized","callbacks.completed"]},cf=uf,sf=function(){function t(t,e,r,n){this.valueFn=t,this.valueAcc=e,this.keyFn=r,this.xf=n,this.inputs={}}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){var e;for(e in this.inputs)if(Ft(e,this.inputs)&&(t=this.xf["@@transducer/step"](t,this.inputs[e]))["@@transducer/reduced"]){t=t["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){var r=this.keyFn(e);return this.inputs[r]=this.inputs[r]||[r,Ri(this.valueAcc,!1)],this.inputs[r][1]=this.valueFn(this.inputs[r][1],e),t},t}();function lf(t,e,r){return function(n){return new sf(t,e,r,n)}}var ff=qt(me("groupBy",ze(4,[],Re([],lf,function(t,e,r,n){var o=ur(function(n,o){var i=r(o),a=t(Ft(i,n)?n[i]:Ri(e,!1),o);return a&&a["@@transducer/reduced"]?gr(n):(n[i]=a,n)});return ir(o,{},n)}))(function(t,e){return t.push(e),t},[]))),pf=qt(function(t,e){return sn({},e,t)});function df(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return yf(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(yf(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,yf(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,yf(f,"constructor",s),yf(s,"constructor",c),c.displayName="GeneratorFunction",yf(s,o,"GeneratorFunction"),yf(f),yf(f,o,"Generator"),yf(f,n,function(){return this}),yf(f,"toString",function(){return"[object Generator]"}),(df=function(){return{w:i,m:p}})()}function yf(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}yf=function(t,e,r,n){function i(e,r){yf(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},yf(t,e,r,n)}function hf(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}var vf=function(){var t,e=(t=df().m(function t(e){var r,n;return df().w(function(t){for(;;)if(0===t.n)return n=new Promise(function(t){return r=t}),setTimeout(r,e),t.a(2,n)},t)}),function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){hf(i,n,o,a,u,"next",t)}function u(t){hf(i,n,o,a,u,"throw",t)}a(void 0)})});return function(t){return e.apply(this,arguments)}}();function bf(t){return bf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bf(t)}function mf(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}throw new TypeError(bf(t)+" is not iterable")}function gf(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return wf(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(wf(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,wf(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,wf(f,"constructor",s),wf(s,"constructor",c),c.displayName="GeneratorFunction",wf(s,o,"GeneratorFunction"),wf(f),wf(f,o,"Generator"),wf(f,n,function(){return this}),wf(f,"toString",function(){return"[object Generator]"}),(gf=function(){return{w:i,m:p}})()}function wf(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}wf=function(t,e,r,n){function i(e,r){wf(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},wf(t,e,r,n)}function Of(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Sf(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r4&&void 0!==arguments[4]?arguments[4]:null,i=[];for(var a in t)if(t.hasOwnProperty(a)){var u=void 0;try{"function"!=typeof t[a]?(u=Error((n||"React class")+": "+r+" type `"+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+cp(t[a])+"`.")).name="Invariant Violation":u=t[a](e,a,n,r,null,up()())}catch(t){u=t}if(!u||u instanceof Error||i.push((n||"React class")+": type specification of "+r+" `"+a+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+cp(u)+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error){var c=o&&o()||"";i.push("Failed "+r+" type: "+u.message+c)}}return i.join("\n\n")}(e.propTypes,r,"component prop",e);return i&&function(t,e,r){var n,o=t.split("`");if(ie("is marked as required",t)){var i=o[1];n="".concat(i," in ").concat(r),e.id&&(n+=' with ID "'.concat(e.id,'"')),n+=" is required but it was not provided."}else if(ie("Bad object",t))n=t.split("supplied to ")[0]+"supplied to ".concat(r)+".\nBad"+t.split(".\nBad")[1];else{if(!ie("Invalid ",t)||!ie(" supplied to ",t))throw new Error(t);var a=o[1];if(n="Invalid argument `".concat(a,"` passed into ").concat(r),e.id&&(n+=' with ID "'.concat(e.id,'"')),n+=".",ie(", expected ",t)){var u=t.split(", expected ")[1];n+="\nExpected ".concat(u)}if(ie(" of type `",t)){var c=t.split(" of type `")[1].split("`")[0];n+="\nWas supplied type `".concat(c,"`.")}if(Tn(a,e)){var s=JSON.stringify(e[a],null,2);s&&(ie("\n",s)?n+="\nValue provided: \n".concat(s):n+="\nValue provided: ".concat(s))}}throw new Error(n)}(i,r,o.type),n}var lp=w()().createContext({});function fp(t){var e=t.children,r=t.componentPath,n=(0,g().useMemo)(function(){return JSON.stringify(r)},[r]),o=dt(),i=(0,g().useCallback)(function(t){var e=t||{},i=e.extraPath,a=e.rawPath,u=e.filterFunc,c=[n];i?c=[JSON.stringify(mr(r,i))]:a&&(c=[JSON.stringify(a)]);var s=pe([],c,o.getState().loading);return u?s.filter(u).length>0:s.length>0},[n]),a=(0,g().useCallback)(function(t){var e=t||{},o=e.filterFunc,i=e.extraPath,a=e.rawPath;return U(function(t){var e=[n];i?e=[JSON.stringify(mr(r,i))]:a&&(e=[JSON.stringify(a)]);var u=pe([],e,t.loading);return o?u.filter(o).length>0:u.length>0})},[n]),u=(0,g().useMemo)(function(){return{componentPath:r,isLoading:i,useLoading:a,useSelector:U,useStore:dt,useDispatch:bt}},[n]);return w()().createElement(lp.Provider,{value:u},e)}function pp(t){return pp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pp(t)}var dp=["componentPath","_dashprivate_error","_passedComponent","_newRender"],yp=["_dash_error"];function hp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function vp(t,e,r){return(e=function(t){var e=function(t){if("object"!=pp(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=pp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==pp(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function bp(t){return function(t){if(Array.isArray(t))return gp(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||mp(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mp(t,e){if(t){if("string"==typeof t)return gp(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?gp(t,e):void 0}}function gp(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(t)){var i=ba(e),a=n?b.current[i]:void 0;return b.current[i]=t,t.map(function(t,i){if(va(t)){var u=n&&(null==a?void 0:a[i])===t;return C(t,mr(o,["props"].concat(bp(e),[i])),u?0:r)}return t})}return va(t)?C(t,mr(o,["props"].concat(bp(e))),r):t},[o]),D=function(t){for(var e=1;e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(jp(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,jp(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,jp(f,"constructor",s),jp(s,"constructor",c),c.displayName="GeneratorFunction",jp(s,o,"GeneratorFunction"),jp(f),jp(f,o,"Generator"),jp(f,n,function(){return this}),jp(f,"toString",function(){return"[object Generator]"}),(Sp=function(){return{w:i,m:p}})()}function jp(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}jp=function(t,e,r,n){function i(e,r){jp(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},jp(t,e,r,n)}function _p(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Ep(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0:t}))&&t.push(i):i.getOutputs(o).some(function(t){return Array.isArray(t)?t.length>0:t})&&t.push(i),t},[]);t(Ms([].concat(Su(a),Su(u))))}(t,e),t(Eu(ii("HYDRATED")))}))}catch(t){a.frontEnd.length||a.backEnd.length||i(_u({type:"backEnd",error:t})),p=!0}finally{r(p)}}})}Pp.propTypes={appLifecycle:_().oneOf([ii("STARTED"),ii("HYDRATED"),ii("DESTROYED")]),dispatch:_().func,dependenciesRequest:_().object,graphs:_().object,hooks:_().object,layoutRequest:_().object,layout:_().any,history:_().any,error:_().object,config:_().object};var Ap=lt(function(t){return{appLifecycle:t.appLifecycle,dependenciesRequest:t.dependenciesRequest,hooks:t.hooks,layoutRequest:t.layoutRequest,layout:t.layout,graphs:t.graphs,history:t.history,error:t.error,config:t.config}},function(t){return{dispatch:t}})(Pp);function Tp(t){return t.isLoading?w()().createElement("div",{className:"_dash-loading-callback"}):null}Tp.propTypes={isLoading:_().bool.isRequired};var xp=lt(function(t){return{isLoading:t.isLoading}})(Tp);s(),d(),l(),p(),f(),y();var Ip=r(217),Cp={};function Rp(t){var e=t.dispatch,r=t.history,n=w()().createElement("span",{key:"undoLink",className:"_dash-undo-redo-link",onClick:function(){return e(Bu)}},w()().createElement("div",{className:"_dash-icon-undo"},"↺"),w()().createElement("div",{className:"_dash-undo-redo-label"},"undo")),o=w()().createElement("span",{key:"redoLink",className:"_dash-undo-redo-link",onClick:function(){return e(Fu)}},w()().createElement("div",{className:"_dash-icon-redo"},"↻"),w()().createElement("div",{className:"_dash-undo-redo-label"},"redo"));return w()().createElement("div",{className:"_dash-undo-redo"},w()().createElement("div",null,r.past.length>0?n:null,r.future.length>0?o:null))}Cp.styleTagTransform=function t(){return t.c||(t.c=r.n(y()))}()(),Cp.setAttributes=function t(){return t.c||(t.c=r.n(p()))}()(),Cp.insert=function t(){return t.c||(t.c=r.n(l()))}()().bind(null,"head"),Cp.domAPI=function t(){return t.c||(t.c=r.n(d()))}()(),Cp.insertStyleElement=function t(){return t.c||(t.c=r.n(f()))}()(),function t(){return t.c||(t.c=r.n(s()))}()()(Ip.A,Cp),Ip.A&&Ip.A.locals&&Ip.A.locals,Rp.propTypes={history:_().object,dispatch:_().func};var Dp=lt(function(t){return{history:t.history}},function(t){return{dispatch:t}})(Rp),Np=Ot(function(t){return function(e,r){return t(e,r)?-1:t(r,e)?1:0}}),Mp=qt(function(t,e){return tt.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(r.content.files);try{for(a.s();!(o=a.n()).done;){var u=o.value;if(!u.is_css){i=!1;break}i=!0;for(var c=[],s=document.evaluate('//link[contains(@href, "'.concat(u.url,'")]'),this._head),l=s.iterateNext();l;)c.push(l),l=s.iterateNext();if(we(function(t){return t.setAttribute("disabled","disabled")},c),u.modified>0){var f=document.createElement("link");f.href="".concat(u.url,"?m=").concat(u.modified),f.type="text/css",f.rel="stylesheet",this._head.appendChild(f)}}}catch(t){a.e(t)}finally{a.f()}i||window.location.reload()}else null!==this.state.intervalId&&500===r.status&&(this._retry>this.state.max_retry&&(this.clearInterval(),window.alert("Hot reloading is disabled after failing ".concat(this._retry," times. ")+"Please check your application for errors, then refresh the page.")),this._retry++)}},{key:"componentDidMount",value:function(){var t=this.props,e=t.dispatch,r=t.reloadRequest,n=this.state,o=n.disabled,i=n.interval;if(!o&&!this.state.intervalId){var a=window.setInterval(function(){"loading"!==r.status&&e(wc("_reload-hash","GET","reloadRequest"))},i);this.setState({intervalId:a})}}},{key:"componentWillUnmount",value:function(){!this.state.disabled&&this.state.intervalId&&this.clearInterval()}},{key:"render",value:function(){return null}}],o=[{key:"getDerivedStateFromProps",value:function(t){return Ee(t.reloadRequest)||"loading"===t.reloadRequest.status?null:{reloadRequest:t.reloadRequest}}}],n&&Lp(r.prototype,n),o&&Lp(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(w()().Component);Jp.defaultProps={},Jp.propTypes={id:_().string,config:_().object,reloadRequest:_().object,dispatch:_().func,interval:_().number};var $p=lt(function(t){return{config:t.config,reloadRequest:t.reloadRequest}},function(t){return{dispatch:t}})(Jp);function Wp(){var t=document.getElementById("_dash-config");return JSON.parse(null!=t&&t.textContent?null==t?void 0:t.textContent:"{}")}var zp=qt(function(t,e){var r={};return mt(e.length,function(){var n=t.apply(this,arguments);return Ft(n,r)||(r[n]=e.apply(this,arguments)),r[n]})}),Vp=zp;function Kp(t){return Kp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kp(t)}function Yp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Qp(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length)&&Tn(String(r),t))return t[r]}}function sd(t,e){if("string"==typeof e&&Tn(e,t))return t[e]}function ld(t,e){if(Array.isArray(e)){var r,n=t,o=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return ud(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ud(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(e);try{for(o.s();!(r=o.n()).done;){var i=r.value;if(Array.isArray(n))n=cd(n,i);else{if(null===n||"object"!==ad(n))return;n=sd(n,i)}}}catch(t){o.e(t)}finally{o.f()}return n}}function fd(t){return fd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fd(t)}function pd(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return dd(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(dd(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,dd(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,dd(f,"constructor",s),dd(s,"constructor",c),c.displayName="GeneratorFunction",dd(s,o,"GeneratorFunction"),dd(f),dd(f,o,"Generator"),dd(f,n,function(){return this}),dd(f,"toString",function(){return"[object Generator]"}),(pd=function(){return{w:i,m:p}})()}function dd(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}dd=function(t,e,r,n){function i(e,r){dd(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},dd(t,e,r,n)}function yd(t){return function(t){if(Array.isArray(t))return Od(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||wd(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function vd(t){for(var e=1;e=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function wd(t,e){if(t){if("string"==typeof t)return Od(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Od(t,e):void 0}}function Od(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&(console.log("[Dash] Re-triggering ".concat(r.length," persistent callback(s)")),e.dispatch(Ms(r)))}}},a.onDisconnected=function(t){console.log("[Dash] WebSocket disconnected: ".concat(t)),c=!0},a.onError=function(t,e){console.error("[Dash] WebSocket error: ".concat(t),e)},document.addEventListener("visibilitychange",function(){"visible"===document.visibilityState&&(a.connected?a.notifyTabVisible():c&&(console.log("[Dash] Tab visible, reconnecting WebSocket..."),a.ensureConnected(r).catch(function(t){return console.error("[Dash] Failed to reconnect:",t)})))}),null!==(i=r.websocket)&&void 0!==i&&i.enabled){t.n=3;break}return t.a(2);case 3:return s=Ed(r),t.p=4,t.n=5,a.connect(r.websocket.worker_url,s,r.websocket.inactivity_timeout);case 5:t.n=7;break;case 6:t.p=6,l=t.v,console.error("[Dash] Failed to connect to WebSocket worker:",l);case 7:return t.a(2)}},t,null,[[4,6]])}),_d=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){md(i,n,o,a,u,"next",t)}function u(t){md(i,n,o,a,u,"throw",t)}a(void 0)})},_d.apply(this,arguments)}function Ed(t){var e;if(null===(e=t.websocket)||void 0===e||!e.url)throw new Error("WebSocket URL not configured");var r="https:"===window.location.protocol?"wss:":"ws:",n=window.location.host;return"".concat(r,"//").concat(n).concat(t.websocket.url)}function Pd(t){return Pd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pd(t)}function kd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Ad(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r1&&void 0!==arguments[1]?arguments[1]:"about:blank";if(""===t)return t;var r=t.replace(Kd,"").replace(Yd,"").replace(Qd,function(t,e){return String.fromCharCode(e)}).trim();return Vd.test(r)?e:t}:Xd.clean_url,Xd.Patch=ac,window.DashRenderer=Fd}(),window.dash_renderer={}}(); \ No newline at end of file diff --git a/dash/dash_table/async-export.js b/dash/dash_table/async-export.js index 004e14ea4e..1c8f8c3653 100644 --- a/dash/dash_table/async-export.js +++ b/dash/dash_table/async-export.js @@ -1,3 +1,3 @@ /*! For license information please see async-export.js.LICENSE.txt */ -"use strict";(self.webpackChunkdash_table=self.webpackChunkdash_table||[]).push([[404],{3959:function(e,t,r){r.r(t),r.d(t,{CFB:function(){return Ce},SSF:function(){return ke},parse_xlscfb:function(){return wl},parse_zip:function(){return Sf},read:function(){return Of},readFile:function(){return Rf},readFileSync:function(){return Rf},set_cptable:function(){return v},set_fs:function(){return Re},stream:function(){return Qf},utils:function(){return Zf},write:function(){return Lf},writeFile:function(){return Uf},writeFileAsync:function(){return Wf},writeFileSync:function(){return Uf},writeFileXLSX:function(){return Bf},writeXLSX:function(){return Pf}});var a={version:"0.18.5"},n=1200,s=1252,i=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],o={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},c=function(e){-1!=i.indexOf(e)&&(s=o[0]=e)},l=function(e){n=e,c(e)};function f(){l(1200),c(1252)}function h(e){for(var t=[],r=0,a=e.length;r>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r+1)+(e.charCodeAt(2*r)<<8));return t.join("")}var d,p=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1);return 255==t&&254==r?function(e){for(var t=[],r=0;r>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r)+(e.charCodeAt(2*r+1)<<8));return t.join("")}(e.slice(2)):254==t&&255==r?u(e.slice(2)):65279==t?e.slice(1):e},m=function(e){return String.fromCharCode(e)},g=function(e){return String.fromCharCode(e)};function v(e){d=e,l=function(e){n=e,c(e)},p=function(e){return 255===e.charCodeAt(0)&&254===e.charCodeAt(1)?d.utils.decode(1200,h(e.slice(2))):e},m=function(e){return 1200===n?String.fromCharCode(e):d.utils.decode(n,[255&e,e>>8])[0]},g=function(e){return d.utils.decode(s,[e])[0]},Er()}var b=null,w="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function T(e){for(var t="",r=0,a=0,n=0,s=0,i=0,o=0,c=0,l=0;l>2,i=(3&r)<<4|(a=e.charCodeAt(l++))>>4,o=(15&a)<<2|(n=e.charCodeAt(l++))>>6,c=63&n,isNaN(a)?o=c=64:isNaN(n)&&(c=64),t+=w.charAt(s)+w.charAt(i)+w.charAt(o)+w.charAt(c);return t}function E(e){var t="",r=0,a=0,n=0,s=0,i=0,o=0;e=e.replace(/[^\w\+\/\=]/g,"");for(var c=0;c>4,t+=String.fromCharCode(r),a=(15&s)<<4|(i=w.indexOf(e.charAt(c++)))>>2,64!==i&&(t+=String.fromCharCode(a)),n=(3&i)<<6|(o=w.indexOf(e.charAt(c++))),64!==o&&(t+=String.fromCharCode(n));return t}var S=function(){return"undefined"!=typeof Buffer&&"undefined"!=typeof process&&void 0!==process.versions&&!!process.versions.node}(),y=function(){if("undefined"!=typeof Buffer){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(t){e=!0}return e?function(e,t){return t?new Buffer(e,t):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function k(e){return S?Buffer.alloc?Buffer.alloc(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}function _(e){return S?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}var A=function(e){return S?y(e,"binary"):e.split("").map(function(e){return 255&e.charCodeAt(0)})};function x(e){if("undefined"==typeof ArrayBuffer)return A(e);for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),a=0;a!=e.length;++a)r[a]=255&e.charCodeAt(a);return t}function C(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");for(var t=[],r=0;r=0;)t+=e.charAt(r--);return t}function F(e,t){var r=""+e;return r.length>=t?r:Je("0",t-r.length)+r}function P(e,t){var r=""+e;return r.length>=t?r:Je(" ",t-r.length)+r}function L(e,t){var r=""+e;return r.length>=t?r:r+Je(" ",t-r.length)}var M=Math.pow(2,32);function U(e,t){return e>M||e<-M?function(e,t){var r=""+Math.round(e);return r.length>=t?r:Je("0",t-r.length)+r}(e,t):function(e,t){var r=""+e;return r.length>=t?r:Je("0",t-r.length)+r}(Math.round(e),t)}function B(e,t){return t=t||0,e.length>=7+t&&103==(32|e.charCodeAt(t))&&101==(32|e.charCodeAt(t+1))&&110==(32|e.charCodeAt(t+2))&&101==(32|e.charCodeAt(t+3))&&114==(32|e.charCodeAt(t+4))&&97==(32|e.charCodeAt(t+5))&&108==(32|e.charCodeAt(t+6))}var W=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],H=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]],z={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'},V={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},G={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function j(e,t,r){for(var a=e<0?-1:1,n=e*a,s=0,i=1,o=0,c=1,l=0,f=0,h=Math.floor(n);lt&&(l>t?(f=c,o=s):(f=l,o=i)),!r)return[0,a*o,f];var u=Math.floor(a*o/f);return[u,a*o-u*f,f]}function X(e,t,r){if(e>2958465||e<0)return null;var a=0|e,n=Math.floor(86400*(e-a)),s=0,i=[],o={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(o.u)<1e-6&&(o.u=0),t&&t.date1904&&(a+=1462),o.u>.9999&&(o.u=0,86400==++n&&(o.T=n=0,++a,++o.D)),60===a)i=r?[1317,10,29]:[1900,2,29],s=3;else if(0===a)i=r?[1317,8,29]:[1900,1,0],s=6;else{a>60&&--a;var c=new Date(1900,0,1);c.setDate(c.getDate()+a-1),i=[c.getFullYear(),c.getMonth()+1,c.getDate()],s=c.getDay(),a<60&&(s=(s+6)%7),r&&(s=function(e,t){t[0]-=581;var r=e.getDay();return e<60&&(r=(r+6)%7),r}(c,i))}return o.y=i[0],o.m=i[1],o.d=i[2],o.S=n%60,n=Math.floor(n/60),o.M=n%60,n=Math.floor(n/60),o.H=n,o.q=s,o}var Y=new Date(1899,11,31,0,0,0),K=Y.getTime(),J=new Date(1900,2,1,0,0,0);function q(e,t){var r=e.getTime();return t?r-=1262304e5:e>=J&&(r+=864e5),(r-(K+6e4*(e.getTimezoneOffset()-Y.getTimezoneOffset())))/864e5}function Z(e){return-1==e.indexOf(".")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function Q(e){var t,r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E);return t=r>=-4&&r<=-1?e.toPrecision(10+r):Math.abs(r)<=9?function(e){var t=e<0?12:11,r=Z(e.toFixed(12));return r.length<=t||(r=e.toPrecision(10)).length<=t?r:e.toExponential(5)}(e):10===r?e.toFixed(10).substr(0,12):function(e){var t=Z(e.toFixed(11));return t.length>(e<0?12:11)||"0"===t||"-0"===t?e.toPrecision(6):t}(e),Z(function(e){return-1==e.indexOf("E")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}(t.toUpperCase()))}function ee(e,t){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(0|e)===e?e.toString(10):Q(e);case"undefined":return"";case"object":if(null==e)return"";if(e instanceof Date)return Te(14,q(e,t&&t.date1904),t)}throw new Error("unsupported value in General format: "+e)}function te(e,t,r,a){var n,s="",i=0,o=0,c=r.y,l=0;switch(e){case 98:c=r.y+543;case 121:switch(t.length){case 1:case 2:n=c%100,l=2;break;default:n=c%1e4,l=4}break;case 109:switch(t.length){case 1:case 2:n=r.m,l=t.length;break;case 3:return H[r.m-1][1];case 5:return H[r.m-1][0];default:return H[r.m-1][2]}break;case 100:switch(t.length){case 1:case 2:n=r.d,l=t.length;break;case 3:return W[r.q][0];default:return W[r.q][1]}break;case 104:switch(t.length){case 1:case 2:n=1+(r.H+11)%12,l=t.length;break;default:throw"bad hour format: "+t}break;case 72:switch(t.length){case 1:case 2:n=r.H,l=t.length;break;default:throw"bad hour format: "+t}break;case 77:switch(t.length){case 1:case 2:n=r.M,l=t.length;break;default:throw"bad minute format: "+t}break;case 115:if("s"!=t&&"ss"!=t&&".0"!=t&&".00"!=t&&".000"!=t)throw"bad second format: "+t;return 0!==r.u||"s"!=t&&"ss"!=t?(o=a>=2?3===a?1e3:100:1===a?10:1,(i=Math.round(o*(r.S+r.u)))>=60*o&&(i=0),"s"===t?0===i?"0":""+i/o:(s=F(i,2+a),"ss"===t?s.substr(0,2):"."+s.substr(2,t.length-1))):F(r.S,t.length);case 90:switch(t){case"[h]":case"[hh]":n=24*r.D+r.H;break;case"[m]":case"[mm]":n=60*(24*r.D+r.H)+r.M;break;case"[s]":case"[ss]":n=60*(60*(24*r.D+r.H)+r.M)+Math.round(r.S+r.u);break;default:throw"bad abstime format: "+t}l=3===t.length?1:2;break;case 101:n=c,l=1}return l>0?F(n,l):""}function re(e){if(e.length<=3)return e;for(var t=e.length%3,r=e.substr(0,t);t!=e.length;t+=3)r+=(r.length>0?",":"")+e.substr(t,3);return r}var ae=/%/g;function ne(e,t){var r,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+ne(e,-t);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%n;if(s<0&&(s+=n),-1===(r=(t/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).indexOf("e")){var i=Math.floor(Math.log(t)*Math.LOG10E);for(-1===r.indexOf(".")?r=r.charAt(0)+"."+r.substr(1)+"E+"+(i-r.length+s):r+="E+"+(i-s);"0."===r.substr(0,2);)r=(r=r.charAt(0)+r.substr(2,n)+"."+r.substr(2+n)).replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");r=r.replace(/\+-/,"-")}r=r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,r,a){return t+r+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else r=t.toExponential(a);return e.match(/E\+00$/)&&r.match(/e[+-]\d$/)&&(r=r.substr(0,r.length-1)+"0"+r.charAt(r.length-1)),e.match(/E\-/)&&r.match(/e\+/)&&(r=r.replace(/e\+/,"e")),r.replace("e","E")}var se=/# (\?+)( ?)\/( ?)(\d+)/,ie=/^#*0*\.([0#]+)/,oe=/\).*[0#]/,ce=/\(###\) ###\\?-####/;function le(e){for(var t,r="",a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t)}return r}function fe(e,t){var r=Math.pow(10,t);return""+Math.round(e*r)/r}function he(e,t){var r=e-Math.floor(e),a=Math.pow(10,t);return t<(""+Math.round(r*a)).length?0:Math.round(r*a)}function ue(e,t,r){if(40===e.charCodeAt(0)&&!t.match(oe)){var a=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return r>=0?ue("n",a,r):"("+ue("n",a,-r)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,r){for(var a=t.length-1;44===t.charCodeAt(a-1);)--a;return me(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}(e,t,r);if(-1!==t.indexOf("%"))return function(e,t,r){var a=t.replace(ae,""),n=t.length-a.length;return me(e,a,r*Math.pow(10,2*n))+Je("%",n)}(e,t,r);if(-1!==t.indexOf("E"))return ne(t,r);if(36===t.charCodeAt(0))return"$"+ue(e,t.substr(" "==t.charAt(1)?2:1),r);var n,s,i,o,c=Math.abs(r),l=r<0?"-":"";if(t.match(/^00+$/))return l+U(c,t.length);if(t.match(/^[#?]+$/))return"0"===(n=U(r,0))&&(n=""),n.length>t.length?n:le(t.substr(0,t.length-n.length))+n;if(s=t.match(se))return function(e,t,r){var a=parseInt(e[4],10),n=Math.round(t*a),s=Math.floor(n/a),i=n-s*a,o=a;return r+(0===s?"":""+s)+" "+(0===i?Je(" ",e[1].length+1+e[4].length):P(i,e[1].length)+e[2]+"/"+e[3]+F(o,e[4].length))}(s,c,l);if(t.match(/^#+0+$/))return l+U(c,t.length-t.indexOf("0"));if(s=t.match(ie))return n=fe(r,s[1].length).replace(/^([^\.]+)$/,"$1."+le(s[1])).replace(/\.$/,"."+le(s[1])).replace(/\.(\d*)$/,function(e,t){return"."+t+Je("0",le(s[1]).length-t.length)}),-1!==t.indexOf("0.")?n:n.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return l+fe(c,s[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return l+re(U(c,0));if(s=t.match(/^#,##0\.([#0]*0)$/))return r<0?"-"+ue(e,t,-r):re(""+(Math.floor(r)+function(e,t){return t<(""+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}(r,s[1].length)))+"."+F(he(r,s[1].length),s[1].length);if(s=t.match(/^#,#*,#0/))return ue(e,t.replace(/^#,#*,/,""),r);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return n=D(ue(e,t.replace(/[\\-]/g,""),r)),i=0,D(D(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-2147483648?""+(e>=0?0|e:e-1|0):""+Math.floor(e)}(r)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(e){return"00,"+(e.length<3?F(0,3-e.length):"")+e})+"."+F(i,s[1].length);switch(t){case"###,##0.00":return ue(e,"#,##0.00",r);case"###,###":case"##,###":case"#,###":var d=re(U(c,0));return"0"!==d?l+d:"";case"###,###.00":return ue(e,"###,##0.00",r).replace(/^0\./,".");case"#,###.00":return ue(e,"#,##0.00",r).replace(/^0\./,".")}throw new Error("unsupported format |"+t+"|")}function de(e,t){var r,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+de(e,-t);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%n;if(s<0&&(s+=n),!(r=(t/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).match(/[Ee]/)){var i=Math.floor(Math.log(t)*Math.LOG10E);-1===r.indexOf(".")?r=r.charAt(0)+"."+r.substr(1)+"E+"+(i-r.length+s):r+="E+"+(i-s),r=r.replace(/\+-/,"-")}r=r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,r,a){return t+r+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else r=t.toExponential(a);return e.match(/E\+00$/)&&r.match(/e[+-]\d$/)&&(r=r.substr(0,r.length-1)+"0"+r.charAt(r.length-1)),e.match(/E\-/)&&r.match(/e\+/)&&(r=r.replace(/e\+/,"e")),r.replace("e","E")}function pe(e,t,r){if(40===e.charCodeAt(0)&&!t.match(oe)){var a=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return r>=0?pe("n",a,r):"("+pe("n",a,-r)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,r){for(var a=t.length-1;44===t.charCodeAt(a-1);)--a;return me(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}(e,t,r);if(-1!==t.indexOf("%"))return function(e,t,r){var a=t.replace(ae,""),n=t.length-a.length;return me(e,a,r*Math.pow(10,2*n))+Je("%",n)}(e,t,r);if(-1!==t.indexOf("E"))return de(t,r);if(36===t.charCodeAt(0))return"$"+pe(e,t.substr(" "==t.charAt(1)?2:1),r);var n,s,i,o,c=Math.abs(r),l=r<0?"-":"";if(t.match(/^00+$/))return l+F(c,t.length);if(t.match(/^[#?]+$/))return n=""+r,0===r&&(n=""),n.length>t.length?n:le(t.substr(0,t.length-n.length))+n;if(s=t.match(se))return function(e,t,r){return r+(0===t?"":""+t)+Je(" ",e[1].length+2+e[4].length)}(s,c,l);if(t.match(/^#+0+$/))return l+F(c,t.length-t.indexOf("0"));if(s=t.match(ie))return n=(n=(""+r).replace(/^([^\.]+)$/,"$1."+le(s[1])).replace(/\.$/,"."+le(s[1]))).replace(/\.(\d*)$/,function(e,t){return"."+t+Je("0",le(s[1]).length-t.length)}),-1!==t.indexOf("0.")?n:n.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return l+(""+c).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return l+re(""+c);if(s=t.match(/^#,##0\.([#0]*0)$/))return r<0?"-"+pe(e,t,-r):re(""+r)+"."+Je("0",s[1].length);if(s=t.match(/^#,#*,#0/))return pe(e,t.replace(/^#,#*,/,""),r);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return n=D(pe(e,t.replace(/[\\-]/g,""),r)),i=0,D(D(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-1||"\\"==r&&"-"==e.charAt(t+1)&&"0#".indexOf(e.charAt(t+2))>-1););break;case"?":for(;e.charAt(++t)===r;);break;case"*":++t," "!=e.charAt(t)&&"*"!=e.charAt(t)||++t;break;case"(":case")":++t;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;t-1;);break;default:++t}return!1}var be=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function we(e,t){if(null==t)return!1;var r=parseFloat(t[2]);switch(t[1]){case"=":if(e==r)return!0;break;case">":if(e>r)return!0;break;case"<":if(e":if(e!=r)return!0;break;case">=":if(e>=r)return!0;break;case"<=":if(e<=r)return!0}return!1}function Te(e,t,r){null==r&&(r={});var a="";switch(typeof e){case"string":a="m/d/yy"==e&&r.dateNF?r.dateNF:e;break;case"number":null==(a=14==e&&r.dateNF?r.dateNF:(null!=r.table?r.table:z)[e])&&(a=r.table&&r.table[V[e]]||z[V[e]]),null==a&&(a=G[e]||"General")}if(B(a,0))return ee(t,r);t instanceof Date&&(t=q(t,r.date1904));var n=function(e,t){var r=function(e){for(var t=[],r=!1,a=0,n=0;a-1&&--a,r.length>4)throw new Error("cannot find right format for |"+r.join("|")+"|");if("number"!=typeof t)return[4,4===r.length||n>-1?r[r.length-1]:"@"];switch(r.length){case 1:r=n>-1?["General","General","General",r[0]]:[r[0],r[0],r[0],"@"];break;case 2:r=n>-1?[r[0],r[0],r[0],r[1]]:[r[0],r[1],r[0],"@"];break;case 3:r=n>-1?[r[0],r[1],r[0],r[2]]:[r[0],r[1],r[2],"@"]}var s=t>0?r[0]:t<0?r[1]:r[2];if(-1===r[0].indexOf("[")&&-1===r[1].indexOf("["))return[a,s];if(null!=r[0].match(/\[[=<>]/)||null!=r[1].match(/\[[=<>]/)){var i=r[0].match(be),o=r[1].match(be);return we(t,i)?[a,r[0]]:we(t,o)?[a,r[1]]:[a,r[null!=i&&null!=o?2:1]]}return[a,s]}(a,t);if(B(n[1]))return ee(t,r);if(!0===t)t="TRUE";else if(!1===t)t="FALSE";else if(""===t||null==t)return"";return function(e,t,r,a){for(var n,s,i,o=[],c="",l=0,f="",h="t",u="H";l=12?"P":"A"),m.t="T",u="h",l+=3):"AM/PM"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"PM":"AM"),m.t="T",l+=5,u="h"):"上午/下午"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"下午":"上午"),m.t="T",l+=5,u="h"):(m.t="t",++l),null==n&&"T"===m.t)return"";o[o.length]=m,h=f;break;case"[":for(c=f;"]"!==e.charAt(l++)&&l-1&&(c=(c.match(/\$([^-\[\]]*)/)||[])[1]||"$",ve(e)||(o[o.length]={t:"t",v:c}));break;case".":if(null!=n){for(c=f;++l-1;)c+=f;o[o.length]={t:"n",v:c};break;case"?":for(c=f;e.charAt(++l)===f;)c+=f;o[o.length]={t:f,v:c},h=f;break;case"*":++l," "!=e.charAt(l)&&"*"!=e.charAt(l)||++l;break;case"(":case")":o[o.length]={t:1===a?"t":f,v:f},++l;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(c=f;l-1;)c+=e.charAt(l);o[o.length]={t:"D",v:c};break;case" ":o[o.length]={t:f,v:f},++l;break;case"$":o[o.length]={t:"t",v:"$"},++l;break;default:if(-1===",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f))throw new Error("unrecognized character "+f+" in "+e);o[o.length]={t:"t",v:f},++l}var g,v=0,b=0;for(l=o.length-1,h="t";l>=0;--l)switch(o[l].t){case"h":case"H":o[l].t=u,h="h",v<1&&(v=1);break;case"s":(g=o[l].v.match(/\.0+$/))&&(b=Math.max(b,g[0].length-1)),v<3&&(v=3);case"d":case"y":case"M":case"e":h=o[l].t;break;case"m":"s"===h&&(o[l].t="M",v<2&&(v=2));break;case"X":break;case"Z":v<1&&o[l].v.match(/[Hh]/)&&(v=1),v<2&&o[l].v.match(/[Mm]/)&&(v=2),v<3&&o[l].v.match(/[Ss]/)&&(v=3)}switch(v){case 0:break;case 1:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M),n.M>=60&&(n.M=0,++n.H);break;case 2:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M)}var w,T="";for(l=0;l0){40==T.charCodeAt(0)?(E=t<0&&45===T.charCodeAt(0)?-t:t,S=me("n",T,E)):(S=me("n",T,E=t<0&&a>1?-t:t),E<0&&o[0]&&"t"==o[0].t&&(S=S.substr(1),o[0].v="-"+o[0].v)),w=S.length-1;var k=o.length;for(l=0;l-1){k=l;break}var _=o.length;if(k===o.length&&-1===S.indexOf("E")){for(l=o.length-1;l>=0;--l)null!=o[l]&&-1!=="n?".indexOf(o[l].t)&&(w>=o[l].v.length-1?(w-=o[l].v.length,o[l].v=S.substr(w+1,o[l].v.length)):w<0?o[l].v="":(o[l].v=S.substr(0,w+1),w=-1),o[l].t="t",_=l);w>=0&&_=0;--l)if(null!=o[l]&&-1!=="n?".indexOf(o[l].t)){for(s=o[l].v.indexOf(".")>-1&&l===k?o[l].v.indexOf(".")-1:o[l].v.length-1,y=o[l].v.substr(s+1);s>=0;--s)w>=0&&("0"===o[l].v.charAt(s)||"#"===o[l].v.charAt(s))&&(y=S.charAt(w--)+y);o[l].v=y,o[l].t="t",_=l}for(w>=0&&_-1&&l===k?o[l].v.indexOf(".")+1:0,y=o[l].v.substr(0,s);s-1&&(E=a>1&&t<0&&l>0&&"-"===o[l-1].v?-t:t,o[l].v=me(o[l].t,o[l].v,E),o[l].t="t");var A="";for(l=0;l!==o.length;++l)null!=o[l]&&(A+=o[l].v);return A}(n[1],t,r,n[0])}function Ee(e,t){if("number"!=typeof t){t=+t||-1;for(var r=0;r<392;++r)if(null!=z[r]){if(z[r]==e){t=r;break}}else t<0&&(t=r);t<0&&(t=391)}return z[t]=e,t}function Se(e){for(var t=0;392!=t;++t)void 0!==e[t]&&Ee(e[t],t)}function ye(){var e;e||(e={}),e[0]="General",e[1]="0",e[2]="0.00",e[3]="#,##0",e[4]="#,##0.00",e[9]="0%",e[10]="0.00%",e[11]="0.00E+00",e[12]="# ?/?",e[13]="# ??/??",e[14]="m/d/yy",e[15]="d-mmm-yy",e[16]="d-mmm",e[17]="mmm-yy",e[18]="h:mm AM/PM",e[19]="h:mm:ss AM/PM",e[20]="h:mm",e[21]="h:mm:ss",e[22]="m/d/yy h:mm",e[37]="#,##0 ;(#,##0)",e[38]="#,##0 ;[Red](#,##0)",e[39]="#,##0.00;(#,##0.00)",e[40]="#,##0.00;[Red](#,##0.00)",e[45]="mm:ss",e[46]="[h]:mm:ss",e[47]="mmss.0",e[48]="##0.0E+0",e[49]="@",e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "',z=e}var ke={format:Te,load:Ee,_table:z,load_table:Se,parse_date_code:X,is_date:ve,get_table:function(){return ke._table=z}},_e={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"},Ae=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g,xe=function(){var e={version:"1.2.0"},t=function(){for(var e=0,t=new Array(256),r=0;256!=r;++r)e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=r)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1,t[r]=e;return"undefined"!=typeof Int32Array?new Int32Array(t):t}(),r=function(e){var t=0,r=0,a=0,n="undefined"!=typeof Int32Array?new Int32Array(4096):new Array(4096);for(a=0;256!=a;++a)n[a]=e[a];for(a=0;256!=a;++a)for(r=e[a],t=256+a;t<4096;t+=256)r=n[t]=r>>>8^e[255&r];var s=[];for(a=1;16!=a;++a)s[a-1]="undefined"!=typeof Int32Array?n.subarray(256*a,256*a+256):n.slice(256*a,256*a+256);return s}(t),a=r[0],n=r[1],s=r[2],i=r[3],o=r[4],c=r[5],l=r[6],f=r[7],h=r[8],u=r[9],d=r[10],p=r[11],m=r[12],g=r[13],v=r[14];return e.table=t,e.bstr=function(e,r){for(var a=-1^r,n=0,s=e.length;n>>8^t[255&(a^e.charCodeAt(n++))];return~a},e.buf=function(e,r){for(var b=-1^r,w=e.length-15,T=0;T>8&255]^m[e[T++]^b>>16&255]^p[e[T++]^b>>>24]^d[e[T++]]^u[e[T++]]^h[e[T++]]^f[e[T++]]^l[e[T++]]^c[e[T++]]^o[e[T++]]^i[e[T++]]^s[e[T++]]^n[e[T++]]^a[e[T++]]^t[e[T++]];for(w+=15;T>>8^t[255&(b^e[T++])];return~b},e.str=function(e,r){for(var a=-1^r,n=0,s=e.length,i=0,o=0;n>>8^t[255&(a^i)]:i<2048?a=(a=a>>>8^t[255&(a^(192|i>>6&31))])>>>8^t[255&(a^(128|63&i))]:i>=55296&&i<57344?(i=64+(1023&i),o=1023&e.charCodeAt(n++),a=(a=(a=(a=a>>>8^t[255&(a^(240|i>>8&7))])>>>8^t[255&(a^(128|i>>2&63))])>>>8^t[255&(a^(128|o>>6&15|(3&i)<<4))])>>>8^t[255&(a^(128|63&o))]):a=(a=(a=a>>>8^t[255&(a^(224|i>>12&15))])>>>8^t[255&(a^(128|i>>6&63))])>>>8^t[255&(a^(128|63&i))];return~a},e}(),Ce=function(){var e,t={};function r(e){if("/"==e.charAt(e.length-1))return-1===e.slice(0,-1).indexOf("/")?e:r(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(0,t+1)}function a(e){if("/"==e.charAt(e.length-1))return a(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)}function n(e,t){"string"==typeof t&&(t=new Date(t));var r=t.getHours();r=(r=r<<6|t.getMinutes())<<5|t.getSeconds()>>>1,e.write_shift(2,r);var a=t.getFullYear()-1980;a=(a=a<<4|t.getMonth()+1)<<5|t.getDate(),e.write_shift(2,a)}function s(e){Fr(e,0);for(var t={},r=0;e.l<=e.length-4;){var a=e.read_shift(2),n=e.read_shift(2),s=e.l+n,i={};21589===a&&(1&(r=e.read_shift(1))&&(i.mtime=e.read_shift(4)),n>5&&(2&r&&(i.atime=e.read_shift(4)),4&r&&(i.ctime=e.read_shift(4))),i.mtime&&(i.mt=new Date(1e3*i.mtime))),e.l=s,t[a]=i}return t}function i(){return e||(e={})}function o(e,t){if(80==e[0]&&75==e[1])return de(e,t);if(109==(32|e[0])&&105==(32|e[1]))return function(e,t){if("mime-version:"!=O(e.slice(0,13)).toLowerCase())throw new Error("Unsupported MAD header");var r=t&&t.root||"",a=(S&&Buffer.isBuffer(e)?e.toString("binary"):O(e)).split("\r\n"),n=0,s="";for(n=0;n0&&(r=(r=r.slice(0,r.length-1)).slice(0,r.lastIndexOf("/")+1),s.slice(0,r.length)!=r););var i=(a[1]||"").match(/boundary="(.*?)"/);if(!i)throw new Error("MAD cannot find boundary");var o="--"+(i[1]||""),c={FileIndex:[],FullPaths:[]};u(c);var l,f=0;for(n=0;n=n&&(u-=n),!i[u]){c=[];var p=[];for(h=u;h>=0;){p[h]=!0,i[h]=!0,o[o.length]=h,c.push(e[h]);var m=r[Math.floor(4*h/a)];if(a<4+(d=4*h&l))throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[m])break;if(p[h=Ar(e[m],d)])break}s[u]={nodes:o,data:tr([c])}}return s}(k,s,p,d);_[s].name="!Directory",a>0&&i!==v&&(_[i].name="!MiniFAT"),_[p[0]].name="!FAT",_.fat_addrs=p,_.ssz=d;var A=[],x=[],C=[];!function(e,t,r,a,n,s,i,o){for(var l,u=0,d=a.length?2:0,p=t[e].data,m=0,g=0;m0&&u!==v&&(t[u].name="!StreamData")):w.size>=4096?(w.storage="fat",void 0===t[w.start]&&(t[w.start]=f(r,w.start,t.fat_addrs,t.ssz)),t[w.start].name=w.name,w.content=t[w.start].data.slice(0,w.size)):(w.storage="minifat",w.size<0?w.size=0:u!==v&&w.start!==v&&t[u]&&(w.content=c(w,t[u].data,(t[o]||{}).data))),w.content&&Fr(w.content,0),s[l]=w,i.push(w)}}(s,_,k,A,a,{},x,i),function(e,t,r){for(var a=0,n=0,s=0,i=0,o=0,c=r.length,l=[],f=[];a0&&i>=0;)s.push(t.slice(i*g,i*g+g)),n-=g,i=Ar(r,4*i);return 0===s.length?Lr(0):R(s).slice(0,e.size)}function l(e,t,r,a,n){var s=v;if(e===v){if(0!==t)throw new Error("DIFAT chain shorter than expected")}else if(-1!==e){var i=r[e],o=(a>>>2)-1;if(!i)return;for(var c=0;c=0;){n[c]=!0,s[s.length]=c,i.push(e[c]);var f=r[Math.floor(4*c/a)];if(a<4+(l=4*c&o))throw new Error("FAT boundary crossed: "+c+" 4 "+a);if(!e[f])break;c=Ar(e[f],l)}return{nodes:s,data:tr([i])}}function h(e,t){return new Date(1e3*(_r(e,t+4)/1e7*Math.pow(2,32)+_r(e,t)/1e7-11644473600))}function u(e,t){var r=t||{},a=r.root||"Root Entry";if(e.FullPaths||(e.FullPaths=[]),e.FileIndex||(e.FileIndex=[]),e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");0===e.FullPaths.length&&(e.FullPaths[0]=a+"/",e.FileIndex[0]={name:a,type:5}),r.CLSID&&(e.FileIndex[0].clsid=r.CLSID),function(e){var t="Sh33tJ5";if(!Ce.find(e,"/"+t)){var r=Lr(4);r[0]=55,r[1]=r[3]=50,r[2]=54,e.FileIndex.push({name:t,type:2,content:r,size:4,L:69,R:69,C:69}),e.FullPaths.push(e.FullPaths[0]+t),d(e)}}(e)}function d(e,t){u(e);for(var n=!1,s=!1,i=e.FullPaths.length-1;i>=0;--i){var o=e.FileIndex[i];switch(o.type){case 0:s?n=!0:(e.FileIndex.pop(),e.FullPaths.pop());break;case 1:case 2:case 5:s=!0,isNaN(o.R*o.L*o.C)&&(n=!0),o.R>-1&&o.L>-1&&o.R==o.L&&(n=!0);break;default:n=!0}}if(n||t){var c=new Date(1987,1,19),l=0,f=Object.create?Object.create(null):{},h=[];for(i=0;i1?1:-1,p.size=0,p.type=5;else if("/"==m.slice(-1)){for(l=i+1;l=h.length?-1:l,l=i+1;l=h.length?-1:l,p.type=1}else r(e.FullPaths[i+1]||"")==r(m)&&(p.R=i+1),p.type=2}}}function p(e,t){var r=t||{};if("mad"==r.fileType)return function(e,t){for(var r=t||{},a=r.boundary||"SheetJS",n=["MIME-Version: 1.0",'Content-Type: multipart/related; boundary="'+(a="------="+a).slice(2)+'"',"","",""],s=e.FullPaths[0],i=s,o=e.FileIndex[0],c=1;c=32&&d<128&&++h;var m=h>=4*u/5;n.push(a),n.push("Content-Location: "+(r.root||"file:///C:/SheetJS/")+i),n.push("Content-Transfer-Encoding: "+(m?"quoted-printable":"base64")),n.push("Content-Type: "+ge(o,i)),n.push(""),n.push(m?be(f):ve(f))}return n.push(a+"--\r\n"),n.join("\r\n")}(e,r);if(d(e),"zip"===r.fileType)return function(e,t){var r=t||{},a=[],s=[],i=Lr(1),o=r.compression?8:0,c=0,l=0,f=0,h=0,u=e.FullPaths[0],d=u,p=e.FileIndex[0],m=[],g=0;for(c=1;c0&&(s<4096?t+=s+63>>6:r+=s+511>>9)}}for(var i=e.FullPaths.length+3>>2,o=t+127>>7,c=(t+7>>3)+r+i+o,l=c+127>>7,f=l<=109?0:Math.ceil((l-109)/127);c+l+f+127>>7>l;)f=++l<=109?0:Math.ceil((l-109)/127);var h=[1,f,l,o,i,r,t,0];return e.FileIndex[0].size=t<<6,h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3),h}(e),s=Lr(a[7]<<9),i=0,o=0;for(i=0;i<8;++i)s.write_shift(1,w[i]);for(i=0;i<8;++i)s.write_shift(2,0);for(s.write_shift(2,62),s.write_shift(2,3),s.write_shift(2,65534),s.write_shift(2,9),s.write_shift(2,6),i=0;i<3;++i)s.write_shift(2,0);for(s.write_shift(4,0),s.write_shift(4,a[2]),s.write_shift(4,a[0]+a[1]+a[2]+a[3]-1),s.write_shift(4,0),s.write_shift(4,4096),s.write_shift(4,a[3]?a[0]+a[1]+a[2]-1:v),s.write_shift(4,a[3]),s.write_shift(-4,a[1]?a[0]-1:v),s.write_shift(4,a[1]),i=0;i<109;++i)s.write_shift(-4,i>9)));for(c(a[6]+7>>3);511&s.l;)s.write_shift(-4,C.ENDOFCHAIN);for(o=i=0,l=0;l=4096||(h.start=o,c(f+63>>6)));for(;511&s.l;)s.write_shift(-4,C.ENDOFCHAIN);for(i=0;i=4096)if(s.l=h.start+1<<9,S&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+511&-512;else{for(l=0;l0&&h.size<4096)if(S&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+63&-64;else{for(l=0;l>16|t>>8|t)}for(var U="undefined"!=typeof Uint8Array,B=U?new Uint8Array(256):[],W=0;W<256;++W)B[W]=M(W);function H(e,t){var r=B[255&e];return t<=8?r>>>8-t:(r=r<<8|B[e>>8&255],t<=16?r>>>16-t:(r=r<<8|B[e>>16&255])>>>24-t)}function z(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=6?0:e[a+1]<<8))>>>r&3}function V(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=5?0:e[a+1]<<8))>>>r&7}function G(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=3?0:e[a+1]<<8))>>>r&31}function j(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=1?0:e[a+1]<<8))>>>r&127}function X(e,t,r){var a=7&t,n=t>>>3,s=(1<>>a;return r<8-a?i&s:(i|=e[n+1]<<8-a,r<16-a?i&s:(i|=e[n+2]<<16-a,r<24-a?i&s:(i|=e[n+3]<<24-a)&s))}function $(e,t,r){var a=7&t,n=t>>>3;return a<=5?e[n]|=(7&r)<>8-a),t+3}function Y(e,t,r){return r=(1&r)<<(7&t),e[t>>>3]|=r,t+1}function K(e,t,r){var a=t>>>3;return r<<=7&t,e[a]|=255&r,r>>>=8,e[a+1]=r,t+8}function J(e,t,r){var a=t>>>3;return r<<=7&t,e[a]|=255&r,r>>>=8,e[a+1]=255&r,e[a+2]=r>>>8,t+16}function q(e,t){var r=e.length,a=2*r>t?2*r:t+5,n=0;if(r>=t)return e;if(S){var s=_(a);if(e.copy)e.copy(s);else for(;n>a-h,i=(1<=0;--i)t[o|i<0;)t[t.l++]=e[r++]}return t.l}(t,r):function(t,r){for(var n=0,s=0,i=U?new Uint16Array(32768):[];s0;)r[r.l++]=t[s++];n=8*r.l}else{n=$(r,n,+!(s+o!=t.length)+2);for(var c=0;o-- >0;){var l=t[s],f=-1,h=0;if((f=i[c=32767&(c<<5^l)])&&((f|=-32768&s)>s&&(f-=32768),f2){(l=a[h])<=22?n=K(r,n,B[l+1]>>1)-1:(K(r,n,3),K(r,n+=5,B[l-23]>>5),n+=3);var u=l<8?0:l-4>>2;u>0&&(J(r,n,h-P[l]),n+=u),l=e[s-f],n=K(r,n,B[l]>>3),n-=3;var d=l<4?0:l-2>>1;d>0&&(J(r,n,s-f-L[l]),n+=d);for(var p=0;p>>3;return(e[a]|(r<=4?0:e[a+1]<<8))>>>r&15}(e,t+=5)+4;t+=4;for(var s=0,i=U?new Uint8Array(19):Z(19),o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=1,l=U?new Uint8Array(8):Z(8),f=U?new Uint8Array(8):Z(8),h=i.length,u=0;u>8-p;for(var m=(1<<7-p)-1;m>=0;--m)oe[d|m<>>=3){case 16:for(s=3+z(e,t),t+=2,d=g[g.length-1];s-- >0;)g.push(d);break;case 17:for(s=3+V(e,t),t+=3;s-- >0;)g.push(0);break;case 18:for(s=11+j(e,t),t+=7;s-- >0;)g.push(0);break;default:g.push(d),c>>0,o=0,c=0;!(1&a);)if(a=V(e,r),r+=3,a>>>1!=0)for(a>>1==1?(o=9,c=5):(r=fe(e,r),o=ce,c=le);;){!t&&i>>1==1?ee[l]:se[l];if(r+=15&f,(f>>>=4)>>>8&255){if(256==f)break;var h=(f-=257)<8?0:f-4>>2;h>5&&(h=0);var u=s+P[f];h>0&&(u+=X(e,r,h),r+=h),l=X(e,r,c),r+=15&(f=a>>>1==1?te[l]:ie[l]);var d=(f>>>=4)<4?0:f-2>>1,p=L[f];for(d>0&&(p+=X(e,r,d),r+=d),!t&&i>>3]|e[(r>>>3)+1]<<8;if(r+=32,m>0)for(!t&&i0;)n[s++]=e[r>>>3],r+=8}return t?[n,r+7>>>3]:[n.slice(0,s),r+7>>>3]}(e.slice(e.l||0),t);return e.l+=r[1],r[0]}function ue(e,t){if(!e)throw new Error(t);"undefined"!=typeof console&&console.error(t)}function de(e,t){var r=e;Fr(r,0);var a={FileIndex:[],FullPaths:[]};u(a,{root:t.root});for(var n=r.length-4;(80!=r[n]||75!=r[n+1]||5!=r[n+2]||6!=r[n+3])&&n>=0;)--n;r.l=n+4,r.l+=4;var i=r.read_shift(2);r.l+=6;var o=r.read_shift(4);for(r.l=o,n=0;n>>=5);r>>>=4,a.setMilliseconds(0),a.setFullYear(r+1980),a.setMonth(s-1),a.setDate(n);var i=31&t,o=63&(t>>>=5);return t>>>=6,a.setHours(t),a.setMinutes(o),a.setSeconds(i<<1),a}(e);if(8257&i)throw new Error("Unsupported ZIP encryption");e.read_shift(4);for(var l=e.read_shift(4),f=e.read_shift(4),h=e.read_shift(2),u=e.read_shift(2),d="",p=0;p3&&(a=!0),n[s].slice(n[s].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[s].slice(n[s].length-1));case"D":r*=24;case"H":r*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");r*=60}t+=r*parseInt(n[s],10)}return t}var Ge=new Date("2017-02-19T19:06:09.000Z"),je=isNaN(Ge.getFullYear())?new Date("2/19/17"):Ge,Xe=2017==je.getFullYear();function $e(e,t){var r=new Date(e);if(Xe)return t>0?r.setTime(r.getTime()+60*r.getTimezoneOffset()*1e3):t<0&&r.setTime(r.getTime()-60*r.getTimezoneOffset()*1e3),r;if(e instanceof Date)return e;if(1917==je.getFullYear()&&!isNaN(r.getFullYear())){var a=r.getFullYear();return e.indexOf(""+a)>-1||r.setFullYear(r.getFullYear()+100),r}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"],s=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);return e.indexOf("Z")>-1&&(s=new Date(s.getTime()-60*s.getTimezoneOffset()*1e3)),s}function Ye(e,t){if(S&&Buffer.isBuffer(e)){if(t){if(255==e[0]&&254==e[1])return Mt(e.slice(2).toString("utf16le"));if(254==e[1]&&255==e[2])return Mt(u(e.slice(2).toString("binary")))}return e.toString("binary")}if("undefined"!=typeof TextDecoder)try{if(t){if(255==e[0]&&254==e[1])return Mt(new TextDecoder("utf-16le").decode(e.slice(2)));if(254==e[0]&&255==e[1])return Mt(new TextDecoder("utf-16be").decode(e.slice(2)))}var r={"€":"€","‚":"‚",ƒ:"ƒ","„":"„","…":"…","†":"†","‡":"‡",ˆ:"ˆ","‰":"‰",Š:"Š","‹":"‹",Œ:"Œ",Ž:"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™",š:"š","›":"›",œ:"œ",ž:"ž",Ÿ:"Ÿ"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return r[e]||e})}catch(e){}for(var a=[],n=0;n!=e.length;++n)a.push(String.fromCharCode(e[n]));return a.join("")}function Ke(e){if("undefined"!=typeof JSON&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if("object"!=typeof e||null==e)return e;if(e instanceof Date)return new Date(e.getTime());var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=Ke(e[r]));return t}function Je(e,t){for(var r="";r.length3&&-1==Ze.indexOf(i))return r}else if(i.match(/[a-z]/))return r;return a<0||a>8099?r:(n>0||s>1)&&101!=a?t:e.match(/[^-0-9:,\/\\]/)?r:t}var et=function(){var e=5=="abacaba".split(/(:?b)/i).length;return function(t,r,a){if(e||"string"==typeof r)return t.split(r);for(var n=t.split(r),s=[n[0]],i=1;i>6&31,n[r++]=128|63&i;else if(i>=55296&&i<57344){i=64+(1023&i);var o=1023&e.charCodeAt(++s);n[r++]=240|i>>8&7,n[r++]=128|i>>2&63,n[r++]=128|o>>6&15|(3&i)<<4,n[r++]=128|63&o}else n[r++]=224|i>>12&15,n[r++]=128|i>>6&63,n[r++]=128|63&i;r>a&&(t.push(n.slice(0,r)),r=0,n=k(65535),a=65530)}return t.push(n.slice(0,r)),R(t)}(r),Ce.utils.cfb_add(e,t,a);Ce.utils.cfb_add(e,t,r)}else e.file(t,r)}function ft(){return Ce.utils.cfb_new()}function ht(e,t){switch(t.type){case"base64":return Ce.read(e,{type:"base64"});case"binary":return Ce.read(e,{type:"binary"});case"buffer":case"array":return Ce.read(e,{type:"buffer"})}throw new Error("Unrecognized type "+t.type)}function ut(e,t){if("/"==e.charAt(0))return e.slice(1);var r=t.split("/");"/"!=t.slice(-1)&&r.pop();for(var a=e.split("/");0!==a.length;){var n=a.shift();".."===n?r.pop():"."!==n&&r.push(n)}return r.join("/")}var dt='\r\n',pt=/([^"\s?>\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g,mt=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,gt=dt.match(mt)?mt:/<[^>]*>/g,vt=/<\w*:/,bt=/<(\/?)\w+:/;function wt(e,t,r){for(var a={},n=0,s=0;n!==e.length&&32!==(s=e.charCodeAt(n))&&10!==s&&13!==s;++n);if(t||(a[0]=e.slice(0,n)),n===e.length)return a;var i=e.match(pt),o=0,c="",l=0,f="",h="",u=1;if(i)for(l=0;l!=i.length;++l){for(h=i[l],s=0;s!=h.length&&61!==h.charCodeAt(s);++s);for(f=h.slice(0,s).trim();32==h.charCodeAt(s+1);)++s;for(u=34==(n=h.charCodeAt(s+1))||39==n?1:0,c=h.slice(s+1+u,h.length-u),o=0;o!=f.length&&58!==f.charCodeAt(o);++o);if(o===f.length)f.indexOf("_")>0&&(f=f.slice(0,f.indexOf("_"))),a[f]=c,r||(a[f.toLowerCase()]=c);else{var d=(5===o&&"xmlns"===f.slice(0,5)?"xmlns":"")+f.slice(o+1);if(a[d]&&"ext"==f.slice(o-3,o))continue;a[d]=c,r||(a[d.toLowerCase()]=c)}}return a}function Tt(e){return e.replace(bt,"<$1")}var Et={""":'"',"'":"'",">":">","<":"<","&":"&"},St=Pe(Et),yt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,t=/_x([\da-fA-F]{4})_/gi;return function r(a){var n=a+"",s=n.indexOf("-1?16:10))||e}).replace(t,function(e,t){return String.fromCharCode(parseInt(t,16))});var i=n.indexOf("]]>");return r(n.slice(0,s))+n.slice(s+9,i)+r(n.slice(i+3))}}(),kt=/[&<>'"]/g,_t=/[\u0000-\u0008\u000b-\u001f]/g;function At(e){return(e+"").replace(kt,function(e){return St[e]}).replace(_t,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function xt(e){return At(e).replace(/ /g,"_x0020_")}var Ct=/[\u0000-\u001f]/g;function Ot(e){return(e+"").replace(kt,function(e){return St[e]}).replace(/\n/g,"
").replace(Ct,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}var Rt=function(){var e=/&#(\d+);/g;function t(e,t){return String.fromCharCode(parseInt(t,10))}return function(r){return r.replace(e,t)}}();function It(e){switch(e){case 1:case!0:case"1":case"true":case"TRUE":return!0;default:return!1}}function Nt(e){for(var t="",r=0,a=0,n=0,s=0,i=0,o=0;r191&&a<224?(i=(31&a)<<6,i|=63&n,t+=String.fromCharCode(i)):(s=e.charCodeAt(r++),a<240?t+=String.fromCharCode((15&a)<<12|(63&n)<<6|63&s):(o=((7&a)<<18|(63&n)<<12|(63&s)<<6|63&(i=e.charCodeAt(r++)))-65536,t+=String.fromCharCode(55296+(o>>>10&1023)),t+=String.fromCharCode(56320+(1023&o)))));return t}function Dt(e){var t,r,a,n=k(2*e.length),s=1,i=0,o=0;for(r=0;r>>10&1023),t=56320+(1023&t)),0!==o&&(n[i++]=255&o,n[i++]=o>>>8,o=0),n[i++]=t%256,n[i++]=t>>>8;return n.slice(0,i).toString("ucs2")}function Ft(e){return y(e,"binary").toString("utf8")}var Pt="foo bar baz☃🍣",Lt=S&&(Ft(Pt)==Nt(Pt)&&Ft||Dt(Pt)==Nt(Pt)&&Dt)||Nt,Mt=S?function(e){return y(e,"utf8").toString("binary")}:function(e){for(var t=[],r=0,a=0,n=0;r>6))),t.push(String.fromCharCode(128+(63&a)));break;case a>=55296&&a<57344:a-=55296,n=e.charCodeAt(r++)-56320+(a<<10),t.push(String.fromCharCode(240+(n>>18&7))),t.push(String.fromCharCode(144+(n>>12&63))),t.push(String.fromCharCode(128+(n>>6&63))),t.push(String.fromCharCode(128+(63&n)));break;default:t.push(String.fromCharCode(224+(a>>12))),t.push(String.fromCharCode(128+(a>>6&63))),t.push(String.fromCharCode(128+(63&a)))}return t.join("")},Ut=function(){var e={};return function(t,r){var a=t+"|"+(r||"");return e[a]?e[a]:e[a]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",r||"")}}(),Bt=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function(t){for(var r=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,""),a=0;a([\\s\\S]*?)","g")}}(),Ht=/<\/?(?:vt:)?variant>/g,zt=/<(?:vt:)([^>]*)>([\s\S]*)"+t+""}function Xt(e){return De(e).map(function(t){return" "+t+'="'+e[t]+'"'}).join("")}function $t(e,t,r){return"<"+e+(null!=r?Xt(r):"")+(null!=t?(t.match(Gt)?' xml:space="preserve"':"")+">"+t+""}function Yt(e,t){try{return e.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function Kt(e){if(S&&Buffer.isBuffer(e))return e.toString("utf8");if("string"==typeof e)return e;if("undefined"!=typeof Uint8Array&&e instanceof Uint8Array)return Lt(C(O(e)));throw new Error("Bad input format: expected Buffer or string")}var Jt=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm,qt={CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",CT:"http://schemas.openxmlformats.org/package/2006/content-types",RELS:"http://schemas.openxmlformats.org/package/2006/relationships",TCMNT:"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"},Zt=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"],Qt={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"},er=function(e){for(var t=[],r=0;r0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:y(e)})):er(e)}:er,rr=function(e,t,r){for(var a=[],n=t;n0?or(e,t+4,t+4+r-1):""},lr=cr,fr=function(e,t){var r=_r(e,t);return r>0?or(e,t+4,t+4+r-1):""},hr=fr,ur=function(e,t){var r=2*_r(e,t);return r>0?or(e,t+4,t+4+r-1):""},dr=ur,pr=function(e,t){var r=_r(e,t);return r>0?ar(e,t+4,t+4+r):""},mr=pr,gr=function(e,t){var r=_r(e,t);return r>0?or(e,t+4,t+4+r):""},vr=gr,br=function(e,t){return function(e,t){for(var r=1-2*(e[t+7]>>>7),a=((127&e[t+7])<<4)+(e[t+6]>>>4&15),n=15&e[t+6],s=5;s>=0;--s)n=256*n+e[t+s];return 2047==a?0==n?r*(1/0):NaN:(0==a?a=-1022:(a-=1023,n+=Math.pow(2,52)),r*Math.pow(2,a-52)*n)}(e,t)},wr=br,Tr=function(e){return Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array};function Er(){ar=function(e,t,r){return d.utils.decode(1200,e.slice(t,r)).replace(I,"")},or=function(e,t,r){return d.utils.decode(65001,e.slice(t,r))},lr=function(e,t){var r=_r(e,t);return r>0?d.utils.decode(s,e.slice(t+4,t+4+r-1)):""},hr=function(e,t){var r=_r(e,t);return r>0?d.utils.decode(n,e.slice(t+4,t+4+r-1)):""},dr=function(e,t){var r=2*_r(e,t);return r>0?d.utils.decode(1200,e.slice(t+4,t+4+r-1)):""},mr=function(e,t){var r=_r(e,t);return r>0?d.utils.decode(1200,e.slice(t+4,t+4+r)):""},vr=function(e,t){var r=_r(e,t);return r>0?d.utils.decode(65001,e.slice(t+4,t+4+r)):""}}S&&(lr=function(e,t){if(!Buffer.isBuffer(e))return cr(e,t);var r=e.readUInt32LE(t);return r>0?e.toString("utf8",t+4,t+4+r-1):""},hr=function(e,t){if(!Buffer.isBuffer(e))return fr(e,t);var r=e.readUInt32LE(t);return r>0?e.toString("utf8",t+4,t+4+r-1):""},dr=function(e,t){if(!Buffer.isBuffer(e))return ur(e,t);var r=2*e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+r-1)},mr=function(e,t){if(!Buffer.isBuffer(e))return pr(e,t);var r=e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+r)},vr=function(e,t){if(!Buffer.isBuffer(e))return gr(e,t);var r=e.readUInt32LE(t);return e.toString("utf8",t+4,t+4+r)},wr=function(e,t){return Buffer.isBuffer(e)?e.readDoubleLE(t):br(e,t)},Tr=function(e){return Buffer.isBuffer(e)||Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array}),void 0!==d&&Er();var Sr=function(e,t){return e[t]},yr=function(e,t){return 256*e[t+1]+e[t]},kr=function(e,t){var r=256*e[t+1]+e[t];return r<32768?r:-1*(65535-r+1)},_r=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},Ar=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},xr=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};function Cr(e,t){var r,a,s,i,o,c,l="",f=[];switch(t){case"dbcs":if(c=this.l,S&&Buffer.isBuffer(this))l=this.slice(this.l,this.l+2*e).toString("utf16le");else for(o=0;o0?Ar:xr)(this,this.l),this.l+=4,r);case 8:case-8:if("f"===t)return a=8==e?wr(this,this.l):wr([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,a;e=8;case 16:l=sr(this,this.l,e)}}return this.l+=e,l}var Or=function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24&255},Rr=function(e,t,r){e[r]=255&t,e[r+1]=t>>8&255,e[r+2]=t>>16&255,e[r+3]=t>>24&255},Ir=function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255};function Nr(e,t,r){var a=0,n=0;if("dbcs"===r){for(n=0;n!=t.length;++n)Ir(this,t.charCodeAt(n),this.l+2*n);a=2*t.length}else if("sbcs"===r){if(void 0!==d&&874==s)for(n=0;n!=t.length;++n){var i=d.utils.encode(s,t.charAt(n));this[this.l+n]=i[0]}else for(t=t.replace(/[^\x00-\x7F]/g,"_"),n=0;n!=t.length;++n)this[this.l+n]=255&t.charCodeAt(n);a=t.length}else{if("hex"===r){for(;n>8}for(;this.l>>=8,this[this.l+1]=255&t;break;case 3:a=3,this[this.l]=255&t,t>>>=8,this[this.l+1]=255&t,t>>>=8,this[this.l+2]=255&t;break;case 4:a=4,Or(this,t,this.l);break;case 8:if(a=8,"f"===r){!function(e,t,r){var a=(t<0||1/t==-1/0?1:0)<<7,n=0,s=0,i=a?-t:t;isFinite(i)?0==i?n=s=0:(n=Math.floor(Math.log(i)/Math.LN2),s=i*Math.pow(2,52-n),n<=-1023&&(!isFinite(s)||s>4|a}(this,t,this.l);break}case 16:break;case-4:a=4,Rr(this,t,this.l)}}return this.l+=a,this}function Dr(e,t){var r=sr(this,this.l,e.length>>1);if(r!==e)throw new Error(t+"Expected "+e+" saw "+r);this.l+=e.length>>1}function Fr(e,t){e.l=t,e.read_shift=Cr,e.chk=Dr,e.write_shift=Nr}function Pr(e,t){e.l+=t}function Lr(e){var t=k(e);return Fr(t,0),t}function Mr(e,t,r){if(e){var a,n,s;Fr(e,e.l||0);for(var i=e.length,o=0,c=0;e.la.l&&((a=a.slice(0,a.l)).l=a.length),a.length>0&&e.push(a),a=null)},s=function(e){return a&&e=128?1:0)+1,a>=128&&++n,a>=16384&&++n,a>=2097152&&++n;var i=e.next(n);s<=127?i.write_shift(1,s):(i.write_shift(1,128+(127&s)),i.write_shift(1,s>>7));for(var o=0;4!=o;++o){if(!(a>=128)){i.write_shift(1,a);break}i.write_shift(1,128+(127&a)),a>>=7}a>0&&Tr(r)&&e.push(r)}}function Wr(e,t,r){var a=Ke(e);if(t.s?(a.cRel&&(a.c+=t.s.c),a.rRel&&(a.r+=t.s.r)):(a.cRel&&(a.c+=t.c),a.rRel&&(a.r+=t.r)),!r||r.biff<12){for(;a.c>=256;)a.c-=256;for(;a.r>=65536;)a.r-=65536}return a}function Hr(e,t,r){var a=Ke(e);return a.s=Wr(a.s,t.s,r),a.e=Wr(a.e,t.s,r),a}function zr(e,t){if(e.cRel&&e.c<0)for(e=Ke(e);e.c<0;)e.c+=t>8?16384:256;if(e.rRel&&e.r<0)for(e=Ke(e);e.r<0;)e.r+=t>8?1048576:t>5?65536:16384;var r=Kr(e);return e.cRel||null==e.cRel||(r=r.replace(/^([A-Z])/,"$$$1")),e.rRel||null==e.rRel||(r=r.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")),r}function Vr(e,t){return 0!=e.s.r||e.s.rRel||e.e.r!=(t.biff>=12?1048575:t.biff>=8?65536:16384)||e.e.rRel?0!=e.s.c||e.s.cRel||e.e.c!=(t.biff>=12?16383:255)||e.e.cRel?zr(e.s,t.biff)+":"+zr(e.e,t.biff):(e.s.rRel?"":"$")+jr(e.s.r)+":"+(e.e.rRel?"":"$")+jr(e.e.r):(e.s.cRel?"":"$")+$r(e.s.c)+":"+(e.e.cRel?"":"$")+$r(e.e.c)}function Gr(e){return parseInt(e.replace(/\$(\d+)$/,"$1"),10)-1}function jr(e){return""+(e+1)}function Xr(e){for(var t=e.replace(/^\$([A-Z])/,"$1"),r=0,a=0;a!==t.length;++a)r=26*r+t.charCodeAt(a)-64;return r-1}function $r(e){if(e<0)throw new Error("invalid column "+e);var t="";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function Yr(e){for(var t=0,r=0,a=0;a=48&&n<=57?t=10*t+(n-48):n>=65&&n<=90&&(r=26*r+(n-64))}return{c:r-1,r:t-1}}function Kr(e){for(var t=e.c+1,r="";t;t=(t-1)/26|0)r=String.fromCharCode((t-1)%26+65)+r;return r+(e.r+1)}function Jr(e){var t=e.indexOf(":");return-1==t?{s:Yr(e),e:Yr(e)}:{s:Yr(e.slice(0,t)),e:Yr(e.slice(t+1))}}function qr(e,t){return void 0===t||"number"==typeof t?qr(e.s,e.e):("string"!=typeof e&&(e=Kr(e)),"string"!=typeof t&&(t=Kr(t)),e==t?e:e+":"+t)}function Zr(e){var t={s:{c:0,r:0},e:{c:0,r:0}},r=0,a=0,n=0,s=e.length;for(r=0;a26);++a)r=26*r+n;for(t.s.c=--r,r=0;a9);++a)r=10*r+n;if(t.s.r=--r,a===s||10!=n)return t.e.c=t.s.c,t.e.r=t.s.r,t;for(++a,r=0;a!=s&&!((n=e.charCodeAt(a)-64)<1||n>26);++a)r=26*r+n;for(t.e.c=--r,r=0;a!=s&&!((n=e.charCodeAt(a)-48)<0||n>9);++a)r=10*r+n;return t.e.r=--r,t}function Qr(e,t,r){return null==e||null==e.t||"z"==e.t?"":void 0!==e.w?e.w:("d"==e.t&&!e.z&&r&&r.dateNF&&(e.z=r.dateNF),"e"==e.t?Ha[e.v]||e.v:function(e,t){var r="d"==e.t&&t instanceof Date;if(null!=e.z)try{return e.w=Te(e.z,r?Ue(t):t)}catch(e){}try{return e.w=Te((e.XF||{}).numFmtId||(r?14:0),r?Ue(t):t)}catch(e){return""+t}}(e,null==t?e.v:t))}function ea(e,t){var r=t&&t.sheet?t.sheet:"Sheet1",a={};return a[r]=e,{SheetNames:[r],Sheets:a}}function ta(e,t,r){var a=r||{},n=e?Array.isArray(e):a.dense;null!=b&&null==n&&(n=b);var s=e||(n?[]:{}),i=0,o=0;if(s&&null!=a.origin){if("number"==typeof a.origin)i=a.origin;else{var c="string"==typeof a.origin?Yr(a.origin):a.origin;i=c.r,o=c.c}s["!ref"]||(s["!ref"]="A1:A1")}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(s["!ref"]){var f=Zr(s["!ref"]);l.s.c=f.s.c,l.s.r=f.s.r,l.e.c=Math.max(l.e.c,f.e.c),l.e.r=Math.max(l.e.r,f.e.r),-1==i&&(l.e.r=i=f.e.r+1)}for(var h=0;h!=t.length;++h)if(t[h]){if(!Array.isArray(t[h]))throw new Error("aoa_to_sheet expects an array of arrays");for(var u=0;u!=t[h].length;++u)if(void 0!==t[h][u]){var d={v:t[h][u]},p=i+h,m=o+u;if(l.s.r>p&&(l.s.r=p),l.s.c>m&&(l.s.c=m),l.e.r0&&t.write_shift(0,e,"dbcs"),r?t.slice(0,t.l):t}function ia(e){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function oa(e,t){var r=e.l,a=e.read_shift(1),n=na(e),s=[],i={t:n,h:n};if(1&a){for(var o=e.read_shift(4),c=0;c!=o;++c)s.push(ia(e));i.r=s}else i.r=[{ich:0,ifnt:0}];return e.l=r+t,i}var ca=oa;function la(e){var t=e.read_shift(4),r=e.read_shift(2);return r+=e.read_shift(1)<<16,e.l++,{c:t,iStyleRef:r}}function fa(e,t){return null==t&&(t=Lr(8)),t.write_shift(-4,e.c),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}function ha(e){var t=e.read_shift(2);return t+=e.read_shift(1)<<16,e.l++,{c:-1,iStyleRef:t}}function ua(e,t){return null==t&&(t=Lr(4)),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}var da=na,pa=sa;function ma(e){var t=e.read_shift(4);return 0===t||4294967295===t?"":e.read_shift(t,"dbcs")}function ga(e,t){var r=!1;return null==t&&(r=!0,t=Lr(127)),t.write_shift(4,e.length>0?e.length:4294967295),e.length>0&&t.write_shift(0,e,"dbcs"),r?t.slice(0,t.l):t}var va=na,ba=ma,wa=ga;function Ta(e){var t=e.slice(e.l,e.l+4),r=1&t[0],a=2&t[0];e.l+=4;var n=0===a?wr([0,0,0,0,252&t[0],t[1],t[2],t[3]],0):Ar(t,0)>>2;return r?n/100:n}function Ea(e,t){null==t&&(t=Lr(4));var r=0,a=0,n=100*e;if(e==(0|e)&&e>=-(1<<29)&&e<1<<29?a=1:n==(0|n)&&n>=-(1<<29)&&n<1<<29&&(a=1,r=1),!a)throw new Error("unsupported RkNumber "+e);t.write_shift(-4,((r?n:e)<<2)+(r+2))}function Sa(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}var ya=Sa,ka=function(e,t){return t||(t=Lr(16)),t.write_shift(4,e.s.r),t.write_shift(4,e.e.r),t.write_shift(4,e.s.c),t.write_shift(4,e.e.c),t};function _a(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e.read_shift(8,"f")}function Aa(e,t){return(t||Lr(8)).write_shift(8,e,"f")}function xa(e,t){if(t||(t=Lr(8)),!e||e.auto)return t.write_shift(4,0),t.write_shift(4,0),t;null!=e.index?(t.write_shift(1,2),t.write_shift(1,e.index)):null!=e.theme?(t.write_shift(1,6),t.write_shift(1,e.theme)):(t.write_shift(1,5),t.write_shift(1,0));var r=e.tint||0;if(r>0?r*=32767:r<0&&(r*=32768),t.write_shift(2,r),e.rgb&&null==e.theme){var a=e.rgb||"FFFFFF";"number"==typeof a&&(a=("000000"+a.toString(16)).slice(-6)),t.write_shift(1,parseInt(a.slice(0,2),16)),t.write_shift(1,parseInt(a.slice(2,4),16)),t.write_shift(1,parseInt(a.slice(4,6),16)),t.write_shift(1,255)}else t.write_shift(2,0),t.write_shift(1,0),t.write_shift(1,0);return t}function Ca(e,t){var r=e.read_shift(4);switch(r){case 0:return"";case 4294967295:case 4294967294:return{2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"}[e.read_shift(4)]||""}if(r>400)throw new Error("Unsupported Clipboard: "+r.toString(16));return e.l-=4,e.read_shift(0,1==t?"lpstr":"lpwstr")}var Oa=2,Ra=3,Ia=12,Na=80,Da=81,Fa=[Na,Da],Pa={1:{n:"CodePage",t:Oa},2:{n:"Category",t:Na},3:{n:"PresentationFormat",t:Na},4:{n:"ByteCount",t:Ra},5:{n:"LineCount",t:Ra},6:{n:"ParagraphCount",t:Ra},7:{n:"SlideCount",t:Ra},8:{n:"NoteCount",t:Ra},9:{n:"HiddenCount",t:Ra},10:{n:"MultimediaClipCount",t:Ra},11:{n:"ScaleCrop",t:11},12:{n:"HeadingPairs",t:4108},13:{n:"TitlesOfParts",t:4126},14:{n:"Manager",t:Na},15:{n:"Company",t:Na},16:{n:"LinksUpToDate",t:11},17:{n:"CharacterCount",t:Ra},19:{n:"SharedDoc",t:11},22:{n:"HyperlinksChanged",t:11},23:{n:"AppVersion",t:Ra,p:"version"},24:{n:"DigSig",t:65},26:{n:"ContentType",t:Na},27:{n:"ContentStatus",t:Na},28:{n:"Language",t:Na},29:{n:"Version",t:Na},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},La={1:{n:"CodePage",t:Oa},2:{n:"Title",t:Na},3:{n:"Subject",t:Na},4:{n:"Author",t:Na},5:{n:"Keywords",t:Na},6:{n:"Comments",t:Na},7:{n:"Template",t:Na},8:{n:"LastAuthor",t:Na},9:{n:"RevNumber",t:Na},10:{n:"EditTime",t:64},11:{n:"LastPrinted",t:64},12:{n:"CreatedDate",t:64},13:{n:"ModifiedDate",t:64},14:{n:"PageCount",t:Ra},15:{n:"WordCount",t:Ra},16:{n:"CharCount",t:Ra},17:{n:"Thumbnail",t:71},18:{n:"Application",t:Na},19:{n:"DocSecurity",t:Ra},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},Ma={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"},Ua=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Ba(e){return e.map(function(e){return[e>>16&255,e>>8&255,255&e]})}var Wa=Ke(Ba([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),Ha={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"},za={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255},Va={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"},Ga={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function ja(e,t){var r,a=function(e){for(var t=[],r=De(e),a=0;a!==r.length;++a)null==t[e[r[a]]]&&(t[e[r[a]]]=[]),t[e[r[a]]].push(r[a]);return t}(Va),n=[];n[n.length]=dt,n[n.length]=$t("Types",null,{xmlns:qt.CT,"xmlns:xsd":qt.xsd,"xmlns:xsi":qt.xsi}),n=n.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return $t("Default",null,{Extension:e[0],ContentType:e[1]})}));var s=function(a){e[a]&&e[a].length>0&&(r=e[a][0],n[n.length]=$t("Override",null,{PartName:("/"==r[0]?"":"/")+r,ContentType:Ga[a][t.bookType]||Ga[a].xlsx}))},i=function(r){(e[r]||[]).forEach(function(e){n[n.length]=$t("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:Ga[r][t.bookType]||Ga[r].xlsx})})},o=function(t){(e[t]||[]).forEach(function(e){n[n.length]=$t("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:a[t][0]})})};return s("workbooks"),i("sheets"),i("charts"),o("themes"),["strs","styles"].forEach(s),["coreprops","extprops","custprops"].forEach(o),o("vba"),o("comments"),o("threadedcomments"),o("drawings"),i("metadata"),o("people"),n.length>2&&(n[n.length]="",n[1]=n[1].replace("/>",">")),n.join("")}var Xa={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function $a(e){var t=e.lastIndexOf("/");return e.slice(0,t+1)+"_rels/"+e.slice(t+1)+".rels"}function Ya(e,t){var r={"!id":{}};if(!e)return r;"/"!==t.charAt(0)&&(t="/"+t);var a={};return(e.match(gt)||[]).forEach(function(e){var n=wt(e);if("2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Ja(e,t,r,a,n,s){if(n||(n={}),e["!id"]||(e["!id"]={}),e["!idx"]||(e["!idx"]=1),t<0)for(t=e["!idx"];e["!id"]["rId"+t];++t);if(e["!idx"]=t+1,n.Id="rId"+t,n.Type=a,n.Target=r,s?n.TargetMode=s:[Xa.HLINK,Xa.XPATH,Xa.XMISS].indexOf(n.Type)>-1&&(n.TargetMode="External"),e["!id"][n.Id])throw new Error("Cannot rewrite rId "+t);return e["!id"][n.Id]=n,e[("/"+n.Target).replace("//","/")]=n,t}var qa="application/vnd.oasis.opendocument.spreadsheet";function Za(e,t,r){return[' \n',' \n'," \n"].join("")}function Qa(e,t){return[' \n',' \n'," \n"].join("")}function en(){return'SheetJS '+a.version+""}var tn=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]],rn=function(){for(var e=new Array(tn.length),t=0;t]*>([\\s\\S]*?)")}return e}();function an(e){var t={};e=Lt(e);for(var r=0;r0&&(t[a[1]]=yt(n[1])),"date"===a[2]&&t[a[1]]&&(t[a[1]]=$e(t[a[1]]))}return t}function nn(e,t,r,a,n){null==n[e]&&null!=t&&""!==t&&(n[e]=t,t=At(t),a[a.length]=r?$t(e,t,r):jt(e,t))}function sn(e,t){var r=t||{},a=[dt,$t("cp:coreProperties",null,{"xmlns:cp":qt.CORE_PROPS,"xmlns:dc":qt.dc,"xmlns:dcterms":qt.dcterms,"xmlns:dcmitype":qt.dcmitype,"xmlns:xsi":qt.xsi})],n={};if(!e&&!r.Props)return a.join("");e&&(null!=e.CreatedDate&&nn("dcterms:created","string"==typeof e.CreatedDate?e.CreatedDate:Yt(e.CreatedDate,r.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n),null!=e.ModifiedDate&&nn("dcterms:modified","string"==typeof e.ModifiedDate?e.ModifiedDate:Yt(e.ModifiedDate,r.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n));for(var s=0;s!=tn.length;++s){var i=tn[s],o=r.Props&&null!=r.Props[i[1]]?r.Props[i[1]]:e?e[i[1]]:null;!0===o?o="1":!1===o?o="0":"number"==typeof o&&(o=String(o)),null!=o&&nn(i[0],o,null,a,n)}return a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}var on=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]],cn=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function ln(e,t,r,a){var n=[];if("string"==typeof e)n=Vt(e,a);else for(var s=0;s0)for(var l=0;l!==n.length;l+=2){switch(c=+n[l+1].v,n[l].v){case"Worksheets":case"工作表":case"Листы":case"أوراق العمل":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Regneark":case"Hojas de cálculo":case"Werkbladen":r.Worksheets=c,r.SheetNames=i.slice(o,o+c);break;case"Named Ranges":case"Rangos con nombre":case"名前付き一覧":case"Benannte Bereiche":case"Navngivne områder":r.NamedRanges=c,r.DefinedNames=i.slice(o,o+c);break;case"Charts":case"Diagramme":r.Chartsheets=c,r.ChartNames=i.slice(o,o+c)}o+=c}}function fn(e){var t=[],r=$t;return e||(e={}),e.Application="SheetJS",t[t.length]=dt,t[t.length]=$t("Properties",null,{xmlns:qt.EXT_PROPS,"xmlns:vt":qt.vt}),on.forEach(function(a){if(void 0!==e[a[1]]){var n;switch(a[2]){case"string":n=At(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false"}void 0!==n&&(t[t.length]=r(a[0],n))}}),t[t.length]=r("HeadingPairs",r("vt:vector",r("vt:variant","Worksheets")+r("vt:variant",r("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"})),t[t.length]=r("TitlesOfParts",r("vt:vector",e.SheetNames.map(function(e){return""+At(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"})),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var hn=/<[^>]+>[^<]*/g;function un(e){var t=[dt,$t("Properties",null,{xmlns:qt.CUST_PROPS,"xmlns:vt":qt.vt})];if(!e)return t.join("");var r=1;return De(e).forEach(function(a){++r,t[t.length]=$t("property",function(e){switch(typeof e){case"string":var t=$t("vt:lpwstr",At(e));return t=t.replace(/"/g,"_x0022_");case"number":return $t((0|e)==e?"vt:i4":"vt:r8",At(String(e)));case"boolean":return $t("vt:bool",e?"true":"false")}if(e instanceof Date)return $t("vt:filetime",Yt(e));throw new Error("Unable to serialize "+e)}(e[a]),{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:r,name:At(a)})}),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var dn,pn={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};function mn(e,t,r){dn||(dn=Pe(pn)),e[t=dn[t]||t]=r}function gn(e){var t=e.read_shift(4),r=e.read_shift(4);return new Date(1e3*(r/1e7*Math.pow(2,32)+t/1e7-11644473600)).toISOString().replace(/\.000/,"")}function vn(e,t,r){var a=e.l,n=e.read_shift(0,"lpstr-cp");if(r)for(;e.l-a&3;)++e.l;return n}function bn(e,t,r){var a=e.read_shift(0,"lpwstr");return r&&(e.l+=4-(a.length+1&3)&3),a}function wn(e,t,r){return 31===t?bn(e):vn(e,0,r)}function Tn(e,t,r){return wn(e,t,!1===r?0:4)}function En(e){var t=e.l,r=kn(e,Da);return 0==e[e.l]&&0==e[e.l+1]&&e.l-t&2&&(e.l+=2),[r,kn(e,Ra)]}function Sn(e,t){for(var r=e.read_shift(4),a={},n=0;n!=r;++n){var s=e.read_shift(4),i=e.read_shift(4);a[s]=e.read_shift(i,1200===t?"utf16le":"utf8").replace(I,"").replace(N,"!"),1200===t&&i%2&&(e.l+=2)}return 3&e.l&&(e.l=e.l>>3<<2),a}function yn(e){var t=e.read_shift(4),r=e.slice(e.l,e.l+t);return e.l+=t,(3&t)>0&&(e.l+=4-(3&t)&3),r}function kn(e,t,r){var a,n=e.read_shift(2),s=r||{};if(e.l+=2,t!==Ia&&n!==t&&-1===Fa.indexOf(t)&&(4126!=(65534&t)||4126!=(65534&n)))throw new Error("Expected type "+t+" saw "+n);switch(t===Ia?n:t){case 2:return a=e.read_shift(2,"i"),s.raw||(e.l+=2),a;case 3:return e.read_shift(4,"i");case 11:return 0!==e.read_shift(4);case 19:return e.read_shift(4);case 30:return vn(e,0,4).replace(I,"");case 31:return bn(e);case 64:return gn(e);case 65:return yn(e);case 71:return function(e){var t={};return t.Size=e.read_shift(4),e.l+=t.Size+3-(t.Size-1)%4,t}(e);case 80:return Tn(e,n,!s.raw).replace(I,"");case 81:return function(e,t){if(!t)throw new Error("VtUnalignedString must have positive length");return wn(e,t,0)}(e,n).replace(I,"");case 4108:return function(e){for(var t=e.read_shift(4),r=[],a=0;a0&&(r%=Math.pow(2,32),a+=n);var s=Lr(8);return s.write_shift(4,r),s.write_shift(4,a),s}(t);break;case 31:case 80:for((a=Lr(4+2*(t.length+1)+(t.length%2?0:2))).write_shift(4,t.length+1),a.write_shift(0,t,"dbcs");a.l!=a.length;)a.write_shift(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+t)}return R([r,a])}function An(e,t){var r=e.l,a=e.read_shift(4),n=e.read_shift(4),s=[],i=0,o=0,c=-1,f={};for(i=0;i!=n;++i){var h=e.read_shift(4),u=e.read_shift(4);s[i]=[h,u+r]}s.sort(function(e,t){return e[1]-t[1]});var d={};for(i=0;i!=n;++i){if(e.l!==s[i][1]){var p=!0;if(i>0&&t)switch(t[s[i-1][0]].t){case 2:e.l+2===s[i][1]&&(e.l+=2,p=!1);break;case 80:case 4108:e.l<=s[i][1]&&(e.l=s[i][1],p=!1)}if((!t||0==i)&&e.l<=s[i][1]&&(p=!1,e.l=s[i][1]),p)throw new Error("Read Error: Expected address "+s[i][1]+" at "+e.l+" :"+i)}if(t){var m=t[s[i][0]];if(d[m.n]=kn(e,m.t,{raw:!0}),"version"===m.p&&(d[m.n]=String(d[m.n]>>16)+"."+("0000"+String(65535&d[m.n])).slice(-4)),"CodePage"==m.n)switch(d[m.n]){case 0:d[m.n]=1252;case 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252:case 65e3:case-536:case 65001:case-535:l(o=d[m.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[m.n])}}else if(1===s[i][0]){if(o=d.CodePage=kn(e,Oa),l(o),-1!==c){var g=e.l;e.l=s[c][1],f=Sn(e,o),e.l=g}}else if(0===s[i][0]){if(0===o){c=i,e.l=s[i+1][1];continue}f=Sn(e,o)}else{var v,b=f[s[i][0]];switch(e[e.l]){case 65:e.l+=4,v=yn(e);break;case 30:case 31:e.l+=4,v=Tn(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4,v=e.read_shift(4,"i");break;case 19:e.l+=4,v=e.read_shift(4);break;case 5:e.l+=4,v=e.read_shift(8,"f");break;case 11:e.l+=4,v=Dn(e,4);break;case 64:e.l+=4,v=$e(gn(e));break;default:throw new Error("unparsed value: "+e[e.l])}d[b]=v}}return e.l=r+a,d}var xn=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function Cn(e){switch(typeof e){case"boolean":return 11;case"number":return(0|e)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64}return-1}function On(e,t,r){var a=Lr(8),n=[],s=[],i=8,o=0,c=Lr(8),l=Lr(8);if(c.write_shift(4,2),c.write_shift(4,1200),l.write_shift(4,1),s.push(c),n.push(l),i+=8+c.length,!t){(l=Lr(8)).write_shift(4,0),n.unshift(l);var f=[Lr(4)];for(f[0].write_shift(4,e.length),o=0;o-1||cn.indexOf(e[o][0])>-1)&&null!=e[o][1]){var u=e[o][1],d=0;if(t){var p=r[d=+t[e[o][0]]];if("version"==p.p&&"string"==typeof u){var m=u.split(".");u=(+m[0]<<16)+(+m[1]||0)}c=_n(p.t,u)}else{var g=Cn(u);-1==g&&(g=31,u=String(u)),c=_n(g,u)}s.push(c),(l=Lr(8)).write_shift(4,t?d:2+o),n.push(l),i+=8+c.length}var v=8*(s.length+1);for(o=0;o=12?2:1),s="sbcs-cont",i=n;r&&r.biff>=8&&(n=1200),r&&8!=r.biff?12==r.biff&&(s="wstr"):e.read_shift(1)&&(s="dbcs-cont"),r.biff>=2&&r.biff<=5&&(s="cpstr");var o=a?e.read_shift(a,s):"";return n=i,o}function Wn(e){var t=n;n=1200;var r,a=e.read_shift(2),s=e.read_shift(1),i=4&s,o=8&s,c=1+(1&s),l=0,f={};o&&(l=e.read_shift(2)),i&&(r=e.read_shift(4));var h=2==c?"dbcs-cont":"sbcs-cont",u=0===a?"":e.read_shift(a,h);return o&&(e.l+=4*l),i&&(e.l+=r),f.t=u,o||(f.raw=""+f.t+"",f.r=f.t),n=t,f}function Hn(e){var t=e.t||"",r=Lr(3);r.write_shift(2,t.length),r.write_shift(1,1);var a=Lr(2*t.length);return a.write_shift(2*t.length,t,"utf16le"),R([r,a])}function zn(e,t,r){if(r){if(r.biff>=2&&r.biff<=5)return e.read_shift(t,"cpstr");if(r.biff>=12)return e.read_shift(t,"dbcs-cont")}return 0===e.read_shift(1)?e.read_shift(t,"sbcs-cont"):e.read_shift(t,"dbcs-cont")}function Vn(e,t,r){var a=e.read_shift(r&&2==r.biff?1:2);return 0===a?(e.l++,""):zn(e,a,r)}function Gn(e,t,r){if(r.biff>5)return Vn(e,0,r);var a=e.read_shift(1);return 0===a?(e.l++,""):e.read_shift(a,r.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function jn(e,t,r){return r||(r=Lr(3+2*e.length)),r.write_shift(2,e.length),r.write_shift(1,1),r.write_shift(31,e,"utf16le"),r}function Xn(e){var t=e.read_shift(4);return t>0?e.read_shift(t,"utf16le").replace(I,""):""}function $n(e,t){t||(t=Lr(6+2*e.length)),t.write_shift(4,1+e.length);for(var r=0;r-1?31:23;switch(a.charAt(0)){case"#":s=28;break;case".":s&=-3}t.write_shift(4,2),t.write_shift(4,s);var i=[8,6815827,6619237,4849780,83];for(r=0;r-1?a.slice(0,n):a;for(t.write_shift(4,2*(o.length+1)),r=0;r-1?a.slice(n+1):"",t)}else{for(i="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" "),r=0;r8?4:2;return[e.read_shift(a),e.read_shift(a,"i"),e.read_shift(a,"i")]}function es(e){return[e.read_shift(2),Ta(e)]}function ts(e){var t=e.read_shift(2),r=e.read_shift(2);return{s:{c:e.read_shift(2),r:t},e:{c:e.read_shift(2),r}}}function rs(e,t){return t||(t=Lr(8)),t.write_shift(2,e.s.r),t.write_shift(2,e.e.r),t.write_shift(2,e.s.c),t.write_shift(2,e.e.c),t}function as(e){var t=e.read_shift(2),r=e.read_shift(2);return{s:{c:e.read_shift(1),r:t},e:{c:e.read_shift(1),r}}}var ns=as;function ss(e){e.l+=4;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(2);return e.l+=12,[r,t,a]}function is(e){e.l+=2,e.l+=e.read_shift(2)}var os={0:is,4:is,5:is,6:is,7:function(e){return e.l+=4,e.cf=e.read_shift(2),{}},8:is,9:is,10:is,11:is,12:is,13:function(e){var t={};return e.l+=4,e.l+=16,t.fSharedNote=e.read_shift(2),e.l+=4,t},14:is,15:is,16:is,17:is,18:is,19:is,20:is,21:ss};function cs(e,t){var r={BIFFVer:0,dt:0};switch(r.BIFFVer=e.read_shift(2),(t-=2)>=2&&(r.dt=e.read_shift(2),e.l-=2),r.BIFFVer){case 1536:case 1280:case 1024:case 768:case 512:case 2:case 7:break;default:if(t>6)throw new Error("Unexpected BIFF Ver "+r.BIFFVer)}return e.read_shift(t),r}function ls(e,t,r){var a=1536,n=16;switch(r.bookType){case"biff8":case"xla":break;case"biff5":a=1280,n=8;break;case"biff4":a=4,n=6;break;case"biff3":a=3,n=6;break;case"biff2":a=2,n=4;break;default:throw new Error("unsupported BIFF version")}var s=Lr(n);return s.write_shift(2,a),s.write_shift(2,t),n>4&&s.write_shift(2,29282),n>6&&s.write_shift(2,1997),n>8&&(s.write_shift(2,49161),s.write_shift(2,1),s.write_shift(2,1798),s.write_shift(2,0)),s}function fs(e,t){var r=!t||t.biff>=8?2:1,a=Lr(8+r*e.name.length);a.write_shift(4,e.pos),a.write_shift(1,e.hs||0),a.write_shift(1,e.dt),a.write_shift(1,e.name.length),t.biff>=8&&a.write_shift(1,1),a.write_shift(r*e.name.length,e.name,t.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);return n.l=a.l,n}function hs(e,t,r){var a=0;r&&2==r.biff||(a=e.read_shift(2));var n=e.read_shift(2);return r&&2==r.biff&&(a=1-(n>>15),n&=32767),[{Unsynced:1&a,DyZero:(2&a)>>1,ExAsc:(4&a)>>2,ExDsc:(8&a)>>3},n]}function us(e,t,r,a){var n=r&&5==r.biff;a||(a=Lr(n?3+t.length:5+2*t.length)),a.write_shift(2,e),a.write_shift(n?1:2,t.length),n||a.write_shift(1,1),a.write_shift((n?1:2)*t.length,t,n?"sbcs":"utf16le");var s=a.length>a.l?a.slice(0,a.l):a;return null==s.l&&(s.l=s.length),s}var ds=Gn;function ps(e,t,r){var a=e.l+t,n=8!=r.biff&&r.biff?2:4,s=e.read_shift(n),i=e.read_shift(n),o=e.read_shift(2),c=e.read_shift(2);return e.l=a,{s:{r:s,c:o},e:{r:i,c}}}function ms(e,t,r,a){var n=r&&5==r.biff;a||(a=Lr(n?16:20)),a.write_shift(2,0),e.style?(a.write_shift(2,e.numFmtId||0),a.write_shift(2,65524)):(a.write_shift(2,e.numFmtId||0),a.write_shift(2,t<<4));var s=0;return e.numFmtId>0&&n&&(s|=1024),a.write_shift(4,s),a.write_shift(4,0),n||a.write_shift(4,0),a.write_shift(2,0),a}function gs(e,t,r){var a=qn(e);2!=r.biff&&9!=t||++e.l;var n=function(e){var t=e.read_shift(1);return 1===e.read_shift(1)?t:1===t}(e);return a.val=n,a.t=!0===n||!1===n?"b":"e",a}var vs=function(e,t,r){return 0===t?"":Gn(e,0,r)};function bs(e,t,r){var a,n=e.read_shift(2),s={fBuiltIn:1&n,fWantAdvise:n>>>1&1,fWantPict:n>>>2&1,fOle:n>>>3&1,fOleLink:n>>>4&1,cf:n>>>5&1023,fIcon:n>>>15&1};return 14849===r.sbcch&&(a=function(e,t,r){e.l+=4,t-=4;var a=e.l+t,n=Bn(e,0,r),s=e.read_shift(2);if(s!==(a-=e.l))throw new Error("Malformed AddinUdf: padding = "+a+" != "+s);return e.l+=s,n}(e,t-2,r)),s.body=a||e.read_shift(t-2),"string"==typeof a&&(s.Name=a),s}var ws=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Ts(e,t,r){var a=e.l+t,n=e.read_shift(2),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(r&&2==r.biff?1:2),c=0;(!r||r.biff>=5)&&(5!=r.biff&&(e.l+=2),c=e.read_shift(2),5==r.biff&&(e.l+=2),e.l+=4);var l=zn(e,i,r);32&n&&(l=ws[l.charCodeAt(0)]);var f=a-e.l;r&&2==r.biff&&--f;var h=a!=e.l&&0!==o&&f>0?function(e,t,r,a){var n,s=e.l+t,i=No(e,a,r);return s!==e.l&&(n=Io(e,s-e.l,i,r)),[i,n]}(e,f,r,o):[];return{chKey:s,Name:l,itab:c,rgce:h}}function Es(e,t,r){if(r.biff<8)return function(e,t,r){3==e[e.l+1]&&e[e.l]++;var a=Bn(e,0,r);return 3==a.charCodeAt(0)?a.slice(1):a}(e,0,r);for(var a=[],n=e.l+t,s=e.read_shift(r.biff>8?4:2);0!==s--;)a.push(Qn(e,r.biff,r));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Ss(e,t,r){var a=ns(e,6);switch(r.biff){case 2:e.l++,t-=7;break;case 3:case 4:e.l+=2,t-=8;break;default:e.l+=6,t-=12}return[a,Uo(e,t,r)]}var ys={8:function(e,t){var r=e.l+t;e.l+=10;var a=e.read_shift(2);e.l+=4,e.l+=2,e.l+=2,e.l+=2,e.l+=4;var n=e.read_shift(1);return e.l+=n,e.l=r,{fmt:a}}};function ks(e){var t=Lr(24),r=Yr(e[0]);t.write_shift(2,r.r),t.write_shift(2,r.r),t.write_shift(2,r.c),t.write_shift(2,r.c);for(var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "),n=0;n<16;++n)t.write_shift(1,parseInt(a[n],16));return R([t,Yn(e[1])])}function _s(e){var t=e[1].Tooltip,r=Lr(10+2*(t.length+1));r.write_shift(2,2048);var a=Yr(e[0]);r.write_shift(2,a.r),r.write_shift(2,a.r),r.write_shift(2,a.c),r.write_shift(2,a.c);for(var n=0;n=12?4:2,n=e.read_shift(a),s=e.read_shift(a),i=e.read_shift(a),o=e.read_shift(a),c=e.read_shift(2);2==a&&(e.l+=2);var l={s:n,e:s,w:i,ixfe:o,flags:c};return(r.biff>=5||!r.biff)&&(l.level=c>>8&7),l}var xs=qn,Cs=Mn,Os=Vn,Rs=[2,3,48,49,131,139,140,245],Is=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},t=Pe({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function r(t,r){var a=r||{};a.dateNF||(a.dateNF="yyyymmdd");var n=ra(function(t,r){var a=[],n=k(1);switch(r.type){case"base64":n=A(E(t));break;case"binary":n=A(t);break;case"buffer":case"array":n=t}Fr(n,0);var s=n.read_shift(1),i=!!(136&s),o=!1,c=!1;switch(s){case 2:case 3:case 131:case 139:case 245:break;case 48:case 49:o=!0,i=!0;break;case 140:c=!0;break;default:throw new Error("DBF Unsupported Version: "+s.toString(16))}var l=0,f=521;2==s&&(l=n.read_shift(2)),n.l+=3,2!=s&&(l=n.read_shift(4)),l>1048576&&(l=1e6),2!=s&&(f=n.read_shift(2));var h=n.read_shift(2),u=r.codepage||1252;2!=s&&(n.l+=16,n.read_shift(1),0!==n[n.l]&&(u=e[n[n.l]]),n.l+=1,n.l+=2),c&&(n.l+=36);for(var p=[],m={},g=Math.min(n.length,2==s?521:f-10-(o?264:0)),v=c?32:11;n.l0;)if(42!==n[n.l])for(++n.l,a[++b]=[],w=0,w=0;w!=p.length;++w){var T=n.slice(n.l,n.l+p[w].len);n.l+=p[w].len,Fr(T,0);var S=d.utils.decode(u,T);switch(p[w].type){case"C":S.trim().length&&(a[b][w]=S.replace(/\s+$/,""));break;case"D":8===S.length?a[b][w]=new Date(+S.slice(0,4),+S.slice(4,6)-1,+S.slice(6,8)):a[b][w]=S;break;case"F":a[b][w]=parseFloat(S.trim());break;case"+":case"I":a[b][w]=c?2147483648^T.read_shift(-4,"i"):T.read_shift(4,"i");break;case"L":switch(S.trim().toUpperCase()){case"Y":case"T":a[b][w]=!0;break;case"N":case"F":a[b][w]=!1;break;case"":case"?":break;default:throw new Error("DBF Unrecognized L:|"+S+"|")}break;case"M":if(!i)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));a[b][w]="##MEMO##"+(c?parseInt(S.trim(),10):T.read_shift(4));break;case"N":(S=S.replace(/\u0000/g,"").trim())&&"."!=S&&(a[b][w]=+S||0);break;case"@":a[b][w]=new Date(T.read_shift(-8,"f")-621356832e5);break;case"T":a[b][w]=new Date(864e5*(T.read_shift(4)-2440588)+T.read_shift(4));break;case"Y":a[b][w]=T.read_shift(4,"i")/1e4+T.read_shift(4,"i")/1e4*Math.pow(2,32);break;case"O":a[b][w]=-T.read_shift(-8,"f");break;case"B":if(o&&8==p[w].len){a[b][w]=T.read_shift(8,"f");break}case"G":case"P":T.l+=p[w].len;break;case"0":if("_NullFlags"===p[w].name)break;default:throw new Error("DBF Unsupported data type "+p[w].type)}}else n.l+=h;if(2!=s&&n.l=0&&l(+n.codepage),"string"==n.type)throw new Error("Cannot write DBF to JS string");var i=Ur(),o=zf(e,{header:1,raw:!0,cellDates:!0}),c=o[0],f=o.slice(1),h=e["!cols"]||[],u=0,d=0,p=0,m=1;for(u=0;u250&&(S=250),"C"==(E=((h[u]||{}).DBF||{}).type)&&h[u].DBF.len>S&&(S=h[u].DBF.len),"B"==T&&"N"==E&&(T="N",w[u]=h[u].DBF.dec,S=h[u].DBF.len),b[u]="C"==T||"N"==E?S:a[T]||0,m+=b[u],v[u]=T}else v[u]="?"}var k=i.next(32);for(k.write_shift(4,318902576),k.write_shift(4,f.length),k.write_shift(2,296+32*p),k.write_shift(2,m),u=0;u<4;++u)k.write_shift(4,0);for(k.write_shift(4,(+t[s]||3)<<8),u=0,d=0;u":190,"?":191,"{":223},t=new RegExp("N("+De(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm"),r=function(t,r){var a=e[r];return"number"==typeof a?g(a):a},a=function(e,t,r){var a=t.charCodeAt(0)-32<<4|r.charCodeAt(0)-48;return 59==a?e:g(a)};function n(e,n){var s,i=e.split(/[\n\r]+/),o=-1,c=-1,f=0,h=0,u=[],p=[],m=null,g={},v=[],b=[],w=[],T=0;for(+n.codepage>=0&&l(+n.codepage);f!==i.length;++f){T=0;var E,S=i[f].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,a).replace(t,r),y=S.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")}),k=y[0];if(S.length>0)switch(k){case"ID":case"E":case"B":case"O":case"W":break;case"P":"P"==y[1].charAt(0)&&p.push(S.slice(3).replace(/;;/g,";"));break;case"C":var _=!1,A=!1,x=!1,C=!1,O=-1,R=-1;for(h=1;h-1&&u[O][R];if(!N||!N[1])throw new Error("SYLK shared formula cannot find base");u[o][c][1]=co(N[1],{r:o-O,c:c-R})}break;case"F":var D=0;for(h=1;h0?(v[o].hpt=T,v[o].hpx=Ei(T)):0===T&&(v[o].hidden=!0);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+S)}D<1&&(m=null);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+S)}}return v.length>0&&(g["!rows"]=v),b.length>0&&(g["!cols"]=b),n&&n.sheetRows&&(u=u.slice(0,n.sheetRows)),[u,g]}function s(e,t){var r=function(e,t){switch(t.type){case"base64":return n(E(e),t);case"binary":return n(e,t);case"buffer":return n(S&&Buffer.isBuffer(e)?e.toString("binary"):C(e),t);case"array":return n(Ye(e),t)}throw new Error("Unrecognized type "+t.type)}(e,t),a=r[0],s=r[1],i=ra(a,t);return De(s).forEach(function(e){i[e]=s[e]}),i}function i(e,t,r,a){var n="C;Y"+(r+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0,e.f&&!e.F&&(n+=";E"+oo(e.f,{r,c:a}));break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"'}return n}return e["|"]=254,{to_workbook:function(e,t){return ea(s(e,t),t)},to_sheet:s,from_sheet:function(e,t){var r,a,n=["ID;PWXL;N;E"],s=[],o=Zr(e["!ref"]),c=Array.isArray(e),l="\r\n";n.push("P;PGeneral"),n.push("F;P0;DG0G8;M255"),e["!cols"]&&(a=n,e["!cols"].forEach(function(e,t){var r="F;W"+(t+1)+" "+(t+1)+" ";e.hidden?r+="0":("number"!=typeof e.width||e.wpx||(e.wpx=di(e.width)),"number"!=typeof e.wpx||e.wch||(e.wch=pi(e.wpx)),"number"==typeof e.wch&&(r+=Math.round(e.wch)))," "!=r.charAt(r.length-1)&&a.push(r)})),e["!rows"]&&function(e,t){t.forEach(function(t,r){var a="F;";t.hidden?a+="M0;":t.hpt?a+="M"+20*t.hpt+";":t.hpx&&(a+="M"+20*Ti(t.hpx)+";"),a.length>2&&e.push(a+"R"+(r+1))})}(n,e["!rows"]),n.push("B;Y"+(o.e.r-o.s.r+1)+";X"+(o.e.c-o.s.c+1)+";D"+[o.s.c,o.s.r,o.e.c,o.e.r].join(" "));for(var f=o.s.r;f<=o.e.r;++f)for(var h=o.s.c;h<=o.e.c;++h){var u=Kr({r:f,c:h});(r=c?(e[f]||[])[h]:e[u])&&(null!=r.v||r.f&&!r.F)&&s.push(i(r,0,f,h))}return n.join(l)+l+s.join(l)+l+"E"+l}}}(),Ds=function(){function e(e,t){for(var r=e.split("\n"),a=-1,n=-1,s=0,i=[];s!==r.length;++s)if("BOT"!==r[s].trim()){if(!(a<0)){for(var o=r[s].trim().split(","),c=o[0],l=o[1],f=r[++s]||"";1&(f.match(/["]/g)||[]).length&&s=0?o=l:n=l}}),c>=0&&-1==o&&n>=0&&(o=n,n=-1);var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(s>=1?s:1)).slice(-2);7==l.length&&(l="0"+l),8==l.length&&(l="20"+l);var f=("00"+(i>=0?i:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2)+":"+("00"+(c>=0?c:0)).slice(-2);return-1==i&&-1==o&&-1==c?l:-1==a&&-1==n&&-1==s?f:l+"T"+f}(0,r.dateNF,t.match(w)||[]),n=1),r.cellDates?(a.t="d",a.v=$e(t,n)):(a.t="n",a.v=Ue($e(t,n))),!1!==r.cellText&&(a.w=Te(a.z,a.v instanceof Date?Ue(a.v):a.v)),r.cellNF||delete a.z}else a.t="s",a.v=t;else a.t="n",!1!==r.cellText&&(a.w=t),a.v=l;if("z"==a.t||(r.dense?(s[o]||(s[o]=[]),s[o][c]=a):s[Kr({c,r:o})]=a),f=h+1,m=e.charCodeAt(f),i.e.c0&&T(),s["!ref"]=qr(i),s}function s(t,r){var a="",s="string"==r.type?[0,0,0,0]:Af(t,r);switch(r.type){case"base64":a=E(t);break;case"binary":case"string":a=t;break;case"buffer":a=65001==r.codepage?t.toString("utf8"):r.codepage&&void 0!==d?d.utils.decode(r.codepage,t):S&&Buffer.isBuffer(t)?t.toString("binary"):C(t);break;case"array":a=Ye(t);break;default:throw new Error("Unrecognized type "+r.type)}return 239==s[0]&&187==s[1]&&191==s[2]?a=Lt(a.slice(3)):"string"!=r.type&&"buffer"!=r.type&&65001==r.codepage?a=Lt(a):"binary"==r.type&&void 0!==d&&r.codepage&&(a=d.utils.decode(r.codepage,d.utils.encode(28591,a))),"socialcalc:version:"==a.slice(0,19)?Fs.to_sheet("string"==r.type?a:Lt(a),r):function(t,r){return r&&r.PRN?r.FS||"sep="==t.slice(0,4)||t.indexOf("\t")>=0||t.indexOf(",")>=0||t.indexOf(";")>=0?n(t,r):ra(function(t,r){var a=r||{},n=[];if(!t||0===t.length)return n;for(var s=t.split(/[\r\n]/),i=s.length-1;i>=0&&0===s[i].length;)--i;for(var o=10,c=0,l=0;l<=i;++l)-1==(c=s[l].indexOf(" "))?c=s[l].length:c++,o=Math.max(o,c);for(l=0;l<=i;++l){n[l]=[];var f=0;for(e(s[l].slice(0,o).trim(),n,l,f,a),f=1;f<=(s[l].length-o)/10+1;++f)e(s[l].slice(o+10*(f-1),o+10*f).trim(),n,l,f,a)}return a.sheetRows&&(n=n.slice(0,a.sheetRows)),n}(t,r),r):n(t,r)}(a,r)}return{to_workbook:function(e,t){return ea(s(e,t),t)},to_sheet:s,from_sheet:function(e){for(var t,r=[],a=Zr(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){for(var i=[],o=a.s.c;o<=a.e.c;++o){var c=Kr({r:s,c:o});if((t=n?(e[s]||[])[o]:e[c])&&null!=t.v){for(var l=(t.w||(Qr(t),t.w)||"").slice(0,10);l.length<10;)l+=" ";i.push(l+(0===o?" ":""))}else i.push(" ")}r.push(i.join(""))}return r.join("\n")}}}(),Ls=function(){function e(e,t,r){if(e){Fr(e,e.l||0);for(var a=r.Enum||w;e.l=16&&5==t[14]&&108===t[15])throw new Error("Unsupported Works 3 for Mac file");if(2==t[2])a.Enum=w,e(t,function(e,t,r){switch(r){case 0:a.vers=e,e>=4096&&(a.qpro=!0);break;case 6:h=e;break;case 204:e&&(i=e);break;case 222:i=e;break;case 15:case 51:a.qpro||(e[1].v=e[1].v.slice(1));case 13:case 14:case 16:14==r&&!(112&~e[2])&&(15&e[2])>1&&(15&e[2])<15&&(e[1].z=a.dateNF||z[14],a.cellDates&&(e[1].t="d",e[1].v=ze(e[1].v))),a.qpro&&e[3]>o&&(n["!ref"]=qr(h),c[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s=i||"Sheet"+(o+1),i="");var f=a.dense?(n[e[0].r]||[])[e[0].c]:n[Kr(e[0])];if(f){f.t=e[1].t,f.v=e[1].v,null!=e[1].z&&(f.z=e[1].z),null!=e[1].f&&(f.f=e[1].f);break}a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[Kr(e[0])]=e[1]}},a);else{if(26!=t[2]&&14!=t[2])throw new Error("Unrecognized LOTUS BOF "+t[2]);a.Enum=T,14==t[2]&&(a.qpro=!0,t.l=0),e(t,function(e,t,r){switch(r){case 204:s=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(e[3]>o&&(n["!ref"]=qr(h),c[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s="Sheet"+(o+1)),u>0&&e[0].r>=u)break;a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[Kr(e[0])]=e[1],h.e.c=128?95:s)}return a.write_shift(1,0),a}function s(e,t,r){var a=Lr(7);return a.write_shift(1,255),a.write_shift(2,t),a.write_shift(2,e),a.write_shift(2,r,"i"),a}function i(e,t,r){var a=Lr(13);return a.write_shift(1,255),a.write_shift(2,t),a.write_shift(2,e),a.write_shift(8,r,"f"),a}function o(e,t,r){var a=32768&t;return t=(a?e:0)+((t&=-32769)>=8192?t-16384:t),(a?"":"$")+(r?$r(t):jr(t))}var c={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]},f=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function h(e){var t=[{c:0,r:0},{t:"n",v:0},0];return t[0].r=e.read_shift(2),t[3]=e[e.l++],t[0].c=e[e.l++],t}function u(e,t,r,a){var n=Lr(6+a.length);n.write_shift(2,e),n.write_shift(1,r),n.write_shift(1,t),n.write_shift(1,39);for(var s=0;s=128?95:i)}return n.write_shift(1,0),n}function d(e,t){var r=h(e),a=e.read_shift(4),n=e.read_shift(4),s=e.read_shift(2);if(65535==s)return 0===a&&3221225472===n?(r[1].t="e",r[1].v=15):0===a&&3489660928===n?(r[1].t="e",r[1].v=42):r[1].v=0,r;var i=32768&s;return s=(32767&s)-16446,r[1].v=(1-2*i)*(n*Math.pow(2,s+32)+a*Math.pow(2,s)),r}function p(e,t,r,a){var n=Lr(14);if(n.write_shift(2,e),n.write_shift(1,r),n.write_shift(1,t),0==a)return n.write_shift(4,0),n.write_shift(4,0),n.write_shift(2,65535),n;var s,i=0,o=0,c=0;return a<0&&(i=1,a=-a),o=0|Math.log2(a),2147483648&(c=(a/=Math.pow(2,o-31))>>>0)||(++o,c=(a/=2)>>>0),a-=c,c|=2147483648,c>>>=0,s=(a*=Math.pow(2,32))>>>0,n.write_shift(4,s),n.write_shift(4,c),o+=16383+(i?32768:0),n.write_shift(2,o),n}function m(e,t){var r=h(e),a=e.read_shift(8,"f");return r[1].v=a,r}function g(e,t){return 0==e[e.l+t-1]?e.read_shift(t,"cstr"):""}function v(e,t){var r=Lr(5+e.length);r.write_shift(2,14e3),r.write_shift(2,t);for(var a=0;a127?95:n}return r[r.l++]=0,r}var w={0:{n:"BOF",f:Pn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:function(e,t,r){var a={s:{c:0,r:0},e:{c:0,r:0}};return 8==t&&r.qpro?(a.s.c=e.read_shift(1),e.l++,a.s.r=e.read_shift(2),a.e.c=e.read_shift(1),e.l++,a.e.r=e.read_shift(2),a):(a.s.c=e.read_shift(2),a.s.r=e.read_shift(2),12==t&&r.qpro&&(e.l+=2),a.e.c=e.read_shift(2),a.e.r=e.read_shift(2),12==t&&r.qpro&&(e.l+=2),65535==a.s.c&&(a.s.c=a.e.c=a.s.r=a.e.r=0),a)}},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:function(e,t,a){var n=r(e,0,a);return n[1].v=e.read_shift(2,"i"),n}},14:{n:"NUMBER",f:function(e,t,a){var n=r(e,0,a);return n[1].v=e.read_shift(8,"f"),n}},15:{n:"LABEL",f:a},16:{n:"FORMULA",f:function(e,t,a){var n=e.l+t,s=r(e,0,a);if(s[1].v=e.read_shift(8,"f"),a.qpro)e.l=n;else{var i=e.read_shift(2);!function(e,t){Fr(e,0);for(var r=[],a=0,n="",s="",i="",l="";e.lr.length)return void console.error("WK1 bad formula parse 0x"+h.toString(16)+":|"+r.join("|")+"|");var m=r.slice(-a);r.length-=a,r.push(c[h][0]+"("+m.join(",")+")")}}}1==r.length?t[1].f=""+r[0]:console.error("WK1 bad formula parse |"+r.join("|")+"|")}(e.slice(e.l,e.l+i),s),e.l+=i}return s}},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:a},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:g},222:{n:"SHEETNAMELP",f:function(e,t){var r=e[e.l++];r>t-1&&(r=t-1);for(var a="";a.length>1;if(1&r[1].v)switch(7&a){case 0:a=5e3*(a>>3);break;case 1:a=500*(a>>3);break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64}return r[1].v=a,r}},25:{n:"FORMULA19",f:function(e,t){var r=d(e);return e.l+=t-14,r}},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:function(e,t){for(var r={},a=e.l+t;e.l>6,r}},38:{n:"??"},39:{n:"NUMBER27",f:m},40:{n:"FORMULA28",f:function(e,t){var r=m(e);return e.l+=t-10,r}},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:g},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:function(e,t,r){if(r.qpro&&!(t<21)){var a=e.read_shift(1);return e.l+=17,e.l+=1,e.l+=2,[a,e.read_shift(t-21,"cstr")]}}},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:function(e,t){var r=t||{};if(+r.codepage>=0&&l(+r.codepage),"string"==r.type)throw new Error("Cannot write WK1 to JS string");var a,o=Ur(),c=Zr(e["!ref"]),f=Array.isArray(e),h=[];Sl(o,0,((a=Lr(2)).write_shift(2,1030),a)),Sl(o,6,function(e){var t=Lr(8);return t.write_shift(2,e.s.c),t.write_shift(2,e.s.r),t.write_shift(2,e.e.c),t.write_shift(2,e.e.r),t}(c));for(var u=Math.min(c.e.r,8191),d=c.s.r;d<=u;++d)for(var p=jr(d),m=c.s.c;m<=c.e.c;++m){d===c.s.r&&(h[m]=$r(m));var g=h[m]+p,v=f?(e[d]||[])[m]:e[g];v&&"z"!=v.t&&("n"==v.t?(0|v.v)==v.v&&v.v>=-32768&&v.v<=32767?Sl(o,13,s(d,m,v.v)):Sl(o,14,i(d,m,v.v)):Sl(o,15,n(d,m,Qr(v).slice(0,239))))}return Sl(o,1),o.end()},book_to_wk3:function(e,t){var r=t||{};if(+r.codepage>=0&&l(+r.codepage),"string"==r.type)throw new Error("Cannot write WK3 to JS string");var a=Ur();Sl(a,0,function(e){var t=Lr(26);t.write_shift(2,4096),t.write_shift(2,4),t.write_shift(4,0);for(var r=0,a=0,n=0,s=0;s8191&&(r=8191),t.write_shift(2,r),t.write_shift(1,n),t.write_shift(1,a),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(1,1),t.write_shift(1,2),t.write_shift(4,0),t.write_shift(4,0),t}(e));for(var n=0,s=0;n":case"":t.shadow=1;break;case"":break;case"":case"":t.outline=1;break;case"":break;case"":case"":t.strike=1;break;case"":break;case"":case"":t.u=1;break;case"":break;case"":case"":t.b=1;break;case"":break;case"":case"":t.i=1;break;case"":break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"":break;case"":n=!1;break;default:if(47!==s[0].charCodeAt(1)&&!n)throw new Error("Unrecognized rich format "+s[0])}}return t}(s[1])),n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function(e){return e.replace(a,"").split(n).map(r).filter(function(e){return e.v})}}(),Us=function(){var e=/(\r\n|\n)/g;function t(t){var r=[[],t.v,[]];return t.v?(t.s&&function(e,t,r){var a=[];e.u&&a.push("text-decoration: underline;"),e.uval&&a.push("text-underline-style:"+e.uval+";"),e.sz&&a.push("font-size:"+e.sz+"pt;"),e.outline&&a.push("text-effect: outline;"),e.shadow&&a.push("text-shadow: auto;"),t.push(''),e.b&&(t.push(""),r.push("")),e.i&&(t.push(""),r.push("")),e.strike&&(t.push(""),r.push(""));var n=e.valign||"";"superscript"==n||"super"==n?n="sup":"subscript"==n&&(n="sub"),""!=n&&(t.push("<"+n+">"),r.push("")),r.push("")}(t.s,r[0],r[2]),r[0].join("")+r[1].replace(e,"
")+r[2].join("")):""}return function(e){return e.map(t).join("")}}(),Bs=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Ws=/<(?:\w+:)?r>/,Hs=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function zs(e,t){var r=!t||t.cellHTML,a={};return e?(e.match(/^\s*<(?:\w+:)?t[^>]*>/)?(a.t=yt(Lt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||"")),a.r=Lt(e),r&&(a.h=Ot(a.t))):e.match(Ws)&&(a.r=Lt(e),a.t=yt(Lt((e.replace(Hs,"").match(Bs)||[]).join("").replace(gt,""))),r&&(a.h=Us(Ms(a.r)))),a):{t:""}}var Vs=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/,Gs=/<(?:\w+:)?(?:si|sstItem)>/g,js=/<\/(?:\w+:)?(?:si|sstItem)>/,Xs=/^\s|\s$|[\t\n\r]/;function $s(e,t){if(!t.bookSST)return"";var r=[dt];r[r.length]=$t("sst",null,{xmlns:Zt[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a)if(null!=e[a]){var n=e[a],s="";n.r?s+=n.r:(s+=""),s+="",r[r.length]=s}return r.length>2&&(r[r.length]="",r[1]=r[1].replace("/>",">")),r.join("")}var Ys=function(e,t){var r=!1;return null==t&&(r=!0,t=Lr(15+4*e.t.length)),t.write_shift(1,0),sa(e.t,t),r?t.slice(0,t.l):t};function Ks(e){var t=Ur();Br(t,159,function(e,t){return t||(t=Lr(8)),t.write_shift(4,e.Count),t.write_shift(4,e.Unique),t}(e));for(var r=0;r=4&&(e.l+=t-4),r}function Zs(e){for(var t=e.read_shift(4),r=e.l+t-4,a={},n=e.read_shift(4),s=[];n-- >0;)s.push({t:e.read_shift(4),v:e.read_shift(0,"lpp4")});if(a.name=e.read_shift(0,"lpp4"),a.comps=s,e.l!=r)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+r);return a}function Qs(e,t){var r=e.l+t,a={};a.Flags=63&e.read_shift(4),e.l+=4,a.AlgID=e.read_shift(4);var n=!1;switch(a.AlgID){case 26126:case 26127:case 26128:n=36==a.Flags;break;case 26625:n=4==a.Flags;break;case 0:n=16==a.Flags||4==a.Flags||36==a.Flags;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID}if(!n)throw new Error("Encryption Flags/AlgID mismatch");return a.AlgIDHash=e.read_shift(4),a.KeySize=e.read_shift(4),a.ProviderType=e.read_shift(4),e.l+=8,a.CSPName=e.read_shift(r-e.l>>1,"utf16le"),e.l=r,a}function ei(e,t){var r={},a=e.l+t;return e.l+=4,r.Salt=e.slice(e.l,e.l+16),e.l+=16,r.Verifier=e.slice(e.l,e.l+16),e.l+=16,e.read_shift(4),r.VerifierHash=e.slice(e.l,a),e.l=a,r}function ti(e){if(36!=(63&e.read_shift(4)))throw new Error("EncryptionInfo mismatch");var t=e.read_shift(4);return{t:"Std",h:Qs(e,t),v:ei(e,e.length-e.l)}}function ri(){throw new Error("File is password-protected: ECMA-376 Extensible")}function ai(e){var t=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var r=e.read_shift(e.length-e.l,"utf8"),a={};return r.replace(gt,function(e){var r=wt(e);switch(Tt(r[0])){case"":case"":case"":break;case"":case"=0;--r)a=((16384&a?1:0)|a<<1&32767)^t[r];return 52811^a}var si=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0],t=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163],r=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628],a=function(e,t){return 255&((r=e^t)/2|128*r);var r};return function(n){for(var s,i,o,c=Js(n),l=function(e){for(var a=t[e.length-1],n=104,s=e.length-1;s>=0;--s)for(var i=e[s],o=0;7!=o;++o)64&i&&(a^=r[n]),i*=2,--n;return a}(c),f=c.length,h=k(16),u=0;16!=u;++u)h[u]=0;for(1&~f||(s=l>>8,h[f]=a(e[0],s),--f,s=255&l,i=c[c.length-1],h[f]=a(i,s));f>0;)s=l>>8,h[--f]=a(c[f],s),s=255&l,h[--f]=a(c[f],s);for(f=15,o=15-c.length;o>0;)s=l>>8,h[f]=a(e[o],s),--o,s=255&l,h[--f]=a(c[f],s),--f,--o;return h}}();var ii=function(){function e(e,r){switch(r.type){case"base64":return t(E(e),r);case"binary":return t(e,r);case"buffer":return t(S&&Buffer.isBuffer(e)?e.toString("binary"):C(e),r);case"array":return t(Ye(e),r)}throw new Error("Unrecognized type "+r.type)}function t(e,t){var r=(t||{}).dense?[]:{},a=e.match(/\\trowd.*?\\row\b/g);if(!a.length)throw new Error("RTF missing table");var n={s:{c:0,r:0},e:{c:0,r:a.length-1}};return a.forEach(function(e,t){Array.isArray(r)&&(r[t]=[]);for(var a,s=/\\\w+\b/g,i=0,o=-1;a=s.exec(e);){if("\\cell"===a[0]){var c=e.slice(i,s.lastIndex-a[0].length);if(" "==c[0]&&(c=c.slice(1)),++o,c.length){var l={v:c,t:"s"};Array.isArray(r)?r[t][o]=l:r[Kr({r:t,c:o})]=l}}i=s.lastIndex}o>n.e.c&&(n.e.c=o)}),r["!ref"]=qr(n),r}return{to_workbook:function(t,r){return ea(e(t,r),r)},to_sheet:e,from_sheet:function(e){for(var t,r=["{\\rtf1\\ansi"],a=Zr(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){r.push("\\trowd\\trautofit1");for(var i=a.s.c;i<=a.e.c;++i)r.push("\\cellx"+(i+1));for(r.push("\\pard\\intbl"),i=a.s.c;i<=a.e.c;++i){var o=Kr({r:s,c:i});(t=n?(e[s]||[])[i]:e[o])&&(null!=t.v||t.f&&!t.F)&&(r.push(" "+(t.w||(Qr(t),t.w))),r.push("\\cell"))}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}}}();function oi(e){for(var t=0,r=1;3!=t;++t)r=256*r+(e[t]>255?255:e[t]<0?0:e[t]);return r.toString(16).toUpperCase().slice(1)}function ci(e,t){if(0===t)return e;var r,a,n=function(e){var t=e[0]/255,r=e[1]/255,a=e[2]/255,n=Math.max(t,r,a),s=Math.min(t,r,a),i=n-s;if(0===i)return[0,0,t];var o,c=0,l=n+s;switch(o=i/(l>1?2-l:l),n){case t:c=((r-a)/i+6)%6;break;case r:c=(a-t)/i+2;break;case a:c=(t-r)/i+4}return[c/6,o,l/2]}((a=(r=e).slice("#"===r[0]?1:0).slice(0,6),[parseInt(a.slice(0,2),16),parseInt(a.slice(2,4),16),parseInt(a.slice(4,6),16)]));return n[2]=t<0?n[2]*(1+t):1-(1-n[2])*(1-t),oi(function(e){var t,r=e[0],a=e[1],n=e[2],s=2*a*(n<.5?n:1-n),i=n-s/2,o=[i,i,i],c=6*r;if(0!==a)switch(0|c){case 0:case 6:t=s*c,o[0]+=s,o[1]+=t;break;case 1:t=s*(2-c),o[0]+=t,o[1]+=s;break;case 2:t=s*(c-2),o[1]+=s,o[2]+=t;break;case 3:t=s*(4-c),o[1]+=t,o[2]+=s;break;case 4:t=s*(c-4),o[2]+=s,o[0]+=t;break;case 5:t=s*(6-c),o[2]+=t,o[0]+=s}for(var l=0;3!=l;++l)o[l]=Math.round(255*o[l]);return o}(n))}var li=6,fi=15,hi=1,ui=li;function di(e){return Math.floor((e+Math.round(128/ui)/256)*ui)}function pi(e){return Math.floor((e-5)/ui*100+.5)/100}function mi(e){return Math.round((e*ui+5)/ui*256)/256}function gi(e){return mi(pi(di(e)))}function vi(e){var t=Math.abs(e-gi(e)),r=ui;if(t>.005)for(ui=hi;ui]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/,t=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/,r=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/,a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/,n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function(s,i,c){var l,f={};return s?((l=(s=s.replace(//gm,"").replace(//gm,"")).match(e))&&function(e,t,r){t.NumberFmt=[];for(var a=De(z),n=0;n":case"":case"":case"":break;case"0){if(c>392){for(c=392;c>60&&null!=t.NumberFmt[c];--c);t.NumberFmt[c]=o}Ee(o,c)}break;default:if(r.WTF)throw new Error("unrecognized "+i[0]+" in numFmts")}}}(l,f,c),(l=s.match(a))&&function(e,t,r,a){t.Fonts=[];var n={},s=!1;(e[0].match(gt)||[]).forEach(function(e){var i=wt(e);switch(Tt(i[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":t.Fonts.push(n),n={};break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+i[0]+" in fonts")}})}(l,f,i,c),(l=s.match(r))&&function(e,t,r,a){t.Fills=[];var n={},s=!1;(e[0].match(gt)||[]).forEach(function(e){var r=wt(e);switch(Tt(r[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":n={},t.Fills.push(n);break;case"":t.Fills.push(n),n={};break;case"":r.patternType&&(n.patternType=r.patternType);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+r[0]+" in fills")}})}(l,f,0,c),(l=s.match(n))&&function(e,t,r,a){t.Borders=[];var n={},s=!1;(e[0].match(gt)||[]).forEach(function(e){var r=wt(e);switch(Tt(r[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":n={},r.diagonalUp&&(n.diagonalUp=It(r.diagonalUp)),r.diagonalDown&&(n.diagonalDown=It(r.diagonalDown)),t.Borders.push(n);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+r[0]+" in borders")}})}(l,f,0,c),(l=s.match(t))&&function(e,t,r){var a;t.CellXf=[];var n=!1;(e[0].match(gt)||[]).forEach(function(e){var s=wt(e),i=0;switch(Tt(s[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":for(delete(a=s)[0],i=0;i392)for(i=392;i>60;--i)if(t.NumberFmt[a.numFmtId]==t.NumberFmt[i]){a.numFmtId=i;break}t.CellXf.push(a);break;case"":var o={};s.vertical&&(o.vertical=s.vertical),s.horizontal&&(o.horizontal=s.horizontal),null!=s.textRotation&&(o.textRotation=s.textRotation),s.indent&&(o.indent=s.indent),s.wrapText&&(o.wrapText=It(s.wrapText)),a.alignment=o;break;case"":case"":n=!1;break;default:if(r&&r.WTF&&!n)throw new Error("unrecognized "+s[0]+" in cellXfs")}})}(l,f,c),f):f}}();function Ai(e,t){var r,a=[dt,$t("styleSheet",null,{xmlns:Zt[0],"xmlns:vt":qt.vt})];return e.SSF&&null!=(r=function(e){var t=[""];return[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)null!=e[a]&&(t[t.length]=$t("numFmt",null,{numFmtId:a,formatCode:At(e[a])}))}),1===t.length?"":(t[t.length]="",t[0]=$t("numFmts",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(e.SSF))&&(a[a.length]=r),a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',(r=function(e){var t=[];return t[t.length]=$t("cellXfs",null),e.forEach(function(e){t[t.length]=$t("xf",null,e)}),t[t.length]="",2===t.length?"":(t[0]=$t("cellXfs",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(t.cellXfs))&&(a[a.length]=r),a[a.length]='',a[a.length]='',a[a.length]='',a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}function xi(e,t,r){r||(r=Lr(6+4*t.length)),r.write_shift(2,e),sa(t,r);var a=r.length>r.l?r.slice(0,r.l):r;return null==r.l&&(r.l=r.length),a}var Ci,Oi=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"],Ri=Pr;function Ii(e,t){t||(t=Lr(84)),Ci||(Ci=Pe(Oi));var r=Ci[e.patternType];null==r&&(r=40),t.write_shift(4,r);var a=0;if(40!=r)for(xa({auto:1},t),xa({auto:1},t);a<12;++a)t.write_shift(4,0);else{for(;a<4;++a)t.write_shift(4,0);for(;a<12;++a)t.write_shift(4,0)}return t.length>t.l?t.slice(0,t.l):t}function Ni(e,t,r){return r||(r=Lr(16)),r.write_shift(2,t||0),r.write_shift(2,e.numFmtId||0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r}function Di(e,t){return t||(t=Lr(10)),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(4,0),t.write_shift(4,0),t}var Fi=Pr;function Pi(e,t){var r=Ur();return Br(r,278),function(e,t){if(t){var r=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)null!=t[a]&&++r}),0!=r&&(Br(e,615,aa(r)),[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)null!=t[a]&&Br(e,44,xi(a,t[a]))}),Br(e,616))}}(r,e.SSF),function(e){Br(e,611,aa(1)),Br(e,43,function(e,t){t||(t=Lr(153)),t.write_shift(2,20*e.sz),function(e,t){t||(t=Lr(2));var r=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);t.write_shift(1,r),t.write_shift(1,0)}(e,t),t.write_shift(2,e.bold?700:400);var r=0;"superscript"==e.vertAlign?r=1:"subscript"==e.vertAlign&&(r=2),t.write_shift(2,r),t.write_shift(1,e.underline||0),t.write_shift(1,e.family||0),t.write_shift(1,e.charset||0),t.write_shift(1,0),xa(e.color,t);var a=0;return"major"==e.scheme&&(a=1),"minor"==e.scheme&&(a=2),t.write_shift(1,a),sa(e.name,t),t.length>t.l?t.slice(0,t.l):t}({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"})),Br(e,612)}(r),function(e){Br(e,603,aa(2)),Br(e,45,Ii({patternType:"none"})),Br(e,45,Ii({patternType:"gray125"})),Br(e,604)}(r),function(e){var t;Br(e,613,aa(1)),Br(e,46,(t||(t=Lr(51)),t.write_shift(1,0),Di(0,t),Di(0,t),Di(0,t),Di(0,t),Di(0,t),t.length>t.l?t.slice(0,t.l):t)),Br(e,614)}(r),function(e){Br(e,626,aa(1)),Br(e,47,Ni({numFmtId:0,fontId:0,fillId:0,borderId:0},65535)),Br(e,627)}(r),function(e,t){Br(e,617,aa(t.length)),t.forEach(function(t){Br(e,47,Ni(t,0))}),Br(e,618)}(r,t.cellXfs),function(e){var t,r;Br(e,619,aa(1)),Br(e,48,(t={xfId:0,builtinId:0,name:"Normal"},r||(r=Lr(52)),r.write_shift(4,t.xfId),r.write_shift(2,1),r.write_shift(1,+t.builtinId),r.write_shift(1,0),ga(t.name||"",r),r.length>r.l?r.slice(0,r.l):r)),Br(e,620)}(r),function(e){Br(e,505,aa(0)),Br(e,506)}(r),function(e){var t;Br(e,508,((t=Lr(2052)).write_shift(4,0),ga("TableStyleMedium9",t),ga("PivotStyleMedium4",t),t.length>t.l?t.slice(0,t.l):t)),Br(e,509)}(r),Br(r,279),r.end()}var Li=["","","","","","","","","","","",""];function Mi(e,t,r){t.themeElements.clrScheme=[];var a={};(e[0].match(gt)||[]).forEach(function(e){var n=wt(e);switch(n[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":"/"===n[0].charAt(1)?(t.themeElements.clrScheme[Li.indexOf(n[0])]=a,a={}):a.name=n[0].slice(3,n[0].length-1);break;default:if(r&&r.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme")}})}function Ui(){}function Bi(){}var Wi=/]*)>[\s\S]*<\/a:clrScheme>/,Hi=/]*)>[\s\S]*<\/a:fontScheme>/,zi=/]*)>[\s\S]*<\/a:fmtScheme>/,Vi=/]*)>[\s\S]*<\/a:themeElements>/;function Gi(e,t){var r;e&&0!==e.length||(e=ji());var a={};if(!(r=e.match(Vi)))throw new Error("themeElements not found in theme");return function(e,t,r){var a;t.themeElements={},[["clrScheme",Wi,Mi],["fontScheme",Hi,Ui],["fmtScheme",zi,Bi]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,t,r)})}(r[0],a,t),a.raw=e,a}function ji(e,t){if(t&&t.themeXLSX)return t.themeXLSX;if(e&&"string"==typeof e.raw)return e.raw;var r=[dt];return r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r.join("")}function Xi(e){var t=e.read_shift(2),r=e.read_shift(2)-4,a=[t];switch(t){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:a[1]=function(e){var t={};switch(t.xclrType=e.read_shift(2),t.nTintShade=e.read_shift(2),t.xclrType){case 0:case 4:e.l+=4;break;case 1:t.xclrValue=function(e){return Pr(e,4)}(e);break;case 2:t.xclrValue=Kn(e);break;case 3:t.xclrValue=function(e){return e.read_shift(4)}(e)}return e.l+=8,t}(e);break;case 6:a[1]=function(e,t){return Pr(e,t)}(e,r);break;case 14:case 15:a[1]=e.read_shift(1===r?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+t+" "+r)}return a}function $i(e,t){t.forEach(function(e){e[0]})}function Yi(){var e,t,r=Ur();return Br(r,332),Br(r,334,aa(1)),Br(r,335,((t=Lr(12+2*(e={name:"XLDAPR",version:12e4,flags:3496657072}).name.length)).write_shift(4,e.flags),t.write_shift(4,e.version),sa(e.name,t),t.slice(0,t.l))),Br(r,336),Br(r,339,function(e,t){var r=Lr(20);return r.write_shift(4,1),sa(t,r),r.slice(0,r.l)}(0,"XLDAPR")),Br(r,52),Br(r,35,aa(514)),Br(r,4096,aa(0)),Br(r,4097,Ln(1)),Br(r,36),Br(r,53),Br(r,340),Br(r,337,function(){var e=Lr(8);return e.write_shift(4,1),e.write_shift(4,1),e}()),Br(r,51,function(e){var t=Lr(4+8*e.length);t.write_shift(4,e.length);for(var r=0;r\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'),e.join("")}var Ji=1024;function qi(e,t){for(var r=[21600,21600],a=["m0,0l0",r[1],r[0],r[1],r[0],"0xe"].join(","),n=[$t("xml",null,{"xmlns:v":Qt.v,"xmlns:o":Qt.o,"xmlns:x":Qt.x,"xmlns:mv":Qt.mv}).replace(/\/>/,">"),$t("o:shapelayout",$t("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),$t("v:shapetype",[$t("v:stroke",null,{joinstyle:"miter"}),$t("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:r.join(","),path:a})];Ji<1e3*e;)Ji+=1e3;return t.forEach(function(e){var t=Yr(e[0]),r={color2:"#BEFF82",type:"gradient"};"gradient"==r.type&&(r.angle="-180");var a="gradient"==r.type?$t("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null,s=$t("v:fill",a,r);++Ji,n=n.concat(["",s,$t("v:shadow",null,{on:"t",obscured:"t"}),$t("v:path",null,{"o:connecttype":"none"}),'
','',"","",jt("x:Anchor",[t.c+1,0,t.r+1,0,t.c+3,20,t.r+5,20].join(",")),jt("x:AutoFill","False"),jt("x:Row",String(t.r)),jt("x:Column",String(t.c)),e[1].hidden?"":"","",""])}),n.push(""),n.join("")}function Zi(e,t,r,a){var n,s=Array.isArray(e);t.forEach(function(t){var i=Yr(t.ref);if(s?(e[i.r]||(e[i.r]=[]),n=e[i.r][i.c]):n=e[t.ref],!n){n={t:"z"},s?e[i.r][i.c]=n:e[t.ref]=n;var o=Zr(e["!ref"]||"BDWGO1000001:A1");o.s.r>i.r&&(o.s.r=i.r),o.e.ri.c&&(o.s.c=i.c),o.e.c=0;--f){if(!r&&n.c[f].T)return;r&&!n.c[f].T&&n.c.splice(f,1)}if(r&&a)for(f=0;f"),e.forEach(function(e){e[1].forEach(function(e){var a=At(e.a);-1==r.indexOf(a)&&(r.push(a),t.push(""+a+"")),e.T&&e.ID&&-1==r.indexOf("tc="+e.ID)&&(r.push("tc="+e.ID),t.push("tc="+e.ID+""))})}),0==r.length&&(r.push("SheetJ5"),t.push("SheetJ5")),t.push(""),t.push(""),e.forEach(function(e){var a=0,n=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID?a=r.indexOf("tc="+e[1][0].ID):e[1].forEach(function(e){e.a&&(a=r.indexOf(At(e.a))),n.push(e.t||"")}),t.push(''),n.length<=1)t.push(jt("t",At(n[0]||"")));else{for(var s="Comment:\n "+n[0]+"\n",i=1;i")}),t.push(""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function eo(e,t,r){var a=[dt,$t("ThreadedComments",null,{xmlns:qt.TCMNT}).replace(/[\/]>/,">")];return e.forEach(function(e){var n="";(e[1]||[]).forEach(function(s,i){if(s.T){s.a&&-1==t.indexOf(s.a)&&t.push(s.a);var o={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+r.tcid++).slice(-12)+"}"};0==i?n=o.id:o.parentId=n,s.ID=o.id,s.a&&(o.personId="{54EE7950-7262-4200-6969-"+("000000000000"+t.indexOf(s.a)).slice(-12)+"}"),a.push($t("threadedComment",jt("text",s.t||""),o))}else delete s.ID})}),a.push(""),a.join("")}var to=na;function ro(e){var t=Ur(),r=[];return Br(t,628),Br(t,630),e.forEach(function(e){e[1].forEach(function(e){r.indexOf(e.a)>-1||(r.push(e.a.slice(0,54)),Br(t,632,function(e){return sa(e.slice(0,54))}(e.a)))})}),Br(t,631),Br(t,633),e.forEach(function(e){e[1].forEach(function(a){a.iauthor=r.indexOf(a.a);var n,s,i,o={s:Yr(e[0]),e:Yr(e[0])};Br(t,635,function(e,t){return null==t&&(t=Lr(36)),t.write_shift(4,e[1].iauthor),ka(e[0],t),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t}([o,a])),a.t&&a.t.length>0&&Br(t,637,(n=a,i=!1,null==s&&(i=!0,s=Lr(23+4*n.t.length)),s.write_shift(1,1),sa(n.t,s),s.write_shift(4,1),function(e,t){t||(t=Lr(4)),t.write_shift(2,e.ich||0),t.write_shift(2,e.ifnt||0)}({ich:0,ifnt:0},s),i?s.slice(0,s.l):s)),Br(t,636),delete a.iauthor})}),Br(t,634),Br(t,629),t.end()}var ao="application/vnd.ms-office.vbaProject",no=["xlsb","xlsm","xlam","biff8","xla"],so=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g,t={r:0,c:0};function r(e,r,a,n){var s=!1,i=!1;0==a.length?i=!0:"["==a.charAt(0)&&(i=!0,a=a.slice(1,-1)),0==n.length?s=!0:"["==n.charAt(0)&&(s=!0,n=n.slice(1,-1));var o=a.length>0?0|parseInt(a,10):0,c=n.length>0?0|parseInt(n,10):0;return s?c+=t.c:--c,i?o+=t.r:--o,r+(s?"":"$")+$r(c)+(i?"":"$")+jr(o)}return function(a,n){return t=n,a.replace(e,r)}}(),io=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g,oo=function(){return function(e,t){return e.replace(io,function(e,r,a,n,s,i){var o=Xr(n)-(a?0:t.c),c=Gr(i)-(s?0:t.r);return r+"R"+(0==c?"":s?c+1:"["+c+"]")+"C"+(0==o?"":a?o+1:"["+o+"]")})}}();function co(e,t){return e.replace(io,function(e,r,a,n,s,i){return r+("$"==a?a+n:$r(Xr(n)+t.c))+("$"==s?s+i:jr(Gr(i)+t.r))})}function lo(e,t,r){var a=Jr(t).s,n=Yr(r);return co(e,{r:n.r-a.r,c:n.c-a.c})}function fo(e){return e.replace(/_xlfn\./g,"")}function ho(e){e.l+=1}function uo(e,t){var r=e.read_shift(1==t?1:2);return[16383&r,r>>14&1,r>>15&1]}function po(e,t,r){var a=2;if(r){if(r.biff>=2&&r.biff<=5)return mo(e);12==r.biff&&(a=4)}var n=e.read_shift(a),s=e.read_shift(a),i=uo(e,2),o=uo(e,2);return{s:{r:n,c:i[0],cRel:i[1],rRel:i[2]},e:{r:s,c:o[0],cRel:o[1],rRel:o[2]}}}function mo(e){var t=uo(e,2),r=uo(e,2),a=e.read_shift(1),n=e.read_shift(1);return{s:{r:t[0],c:a,cRel:t[1],rRel:t[2]},e:{r:r[0],c:n,cRel:r[1],rRel:r[2]}}}function go(e,t,r){if(r&&r.biff>=2&&r.biff<=5)return function(e){var t=uo(e,2),r=e.read_shift(1);return{r:t[0],c:r,cRel:t[1],rRel:t[2]}}(e);var a=e.read_shift(r&&12==r.biff?4:2),n=uo(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function vo(e){var t=e.read_shift(2),r=e.read_shift(2);return{r:t,c:255&r,fQuoted:!!(16384&r),cRel:r>>15,rRel:r>>15}}function bo(e){var t=1&e[e.l+1];return e.l+=4,[t,1]}function wo(e){return[e.read_shift(1),e.read_shift(1)]}function To(e,t){var r=[e.read_shift(1)];if(12==t)switch(r[0]){case 2:r[0]=4;break;case 4:r[0]=16;break;case 0:r[0]=1;break;case 1:r[0]=2}switch(r[0]){case 4:r[1]=Dn(e,1)?"TRUE":"FALSE",12!=t&&(e.l+=7);break;case 37:case 16:r[1]=Ha[e[e.l]],e.l+=12==t?4:8;break;case 0:e.l+=8;break;case 1:r[1]=_a(e);break;case 2:r[1]=Gn(e,0,{biff:t>0&&t<8?2:t});break;default:throw new Error("Bad SerAr: "+r[0])}return r}function Eo(e,t,r){for(var a=e.read_shift(12==r.biff?4:2),n=[],s=0;s!=a;++s)n.push((12==r.biff?ya:ts)(e,8));return n}function So(e,t,r){var a=0,n=0;12==r.biff?(a=e.read_shift(4),n=e.read_shift(4)):(n=1+e.read_shift(1),a=1+e.read_shift(2)),r.biff>=2&&r.biff<8&&(--a,0==--n&&(n=256));for(var s=0,i=[];s!=a&&(i[s]=[]);++s)for(var o=0;o!=n;++o)i[s][o]=To(e,r.biff);return i}function yo(e,t,r){return e.l+=2,[vo(e)]}function ko(e){return e.l+=6,[]}function _o(e){return e.l+=2,[Pn(e),1&e.read_shift(2)]}var Ao=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"],xo={1:{n:"PtgExp",f:function(e,t,r){return e.l++,r&&12==r.biff?[e.read_shift(4,"i"),0]:[e.read_shift(2),e.read_shift(r&&2==r.biff?1:2)]}},2:{n:"PtgTbl",f:Pr},3:{n:"PtgAdd",f:ho},4:{n:"PtgSub",f:ho},5:{n:"PtgMul",f:ho},6:{n:"PtgDiv",f:ho},7:{n:"PtgPower",f:ho},8:{n:"PtgConcat",f:ho},9:{n:"PtgLt",f:ho},10:{n:"PtgLe",f:ho},11:{n:"PtgEq",f:ho},12:{n:"PtgGe",f:ho},13:{n:"PtgGt",f:ho},14:{n:"PtgNe",f:ho},15:{n:"PtgIsect",f:ho},16:{n:"PtgUnion",f:ho},17:{n:"PtgRange",f:ho},18:{n:"PtgUplus",f:ho},19:{n:"PtgUminus",f:ho},20:{n:"PtgPercent",f:ho},21:{n:"PtgParen",f:ho},22:{n:"PtgMissArg",f:ho},23:{n:"PtgStr",f:function(e,t,r){return e.l++,Bn(e,0,r)}},26:{n:"PtgSheet",f:function(e,t,r){return e.l+=5,e.l+=2,e.l+=2==r.biff?1:4,["PTGSHEET"]}},27:{n:"PtgEndSheet",f:function(e,t,r){return e.l+=2==r.biff?4:5,["PTGENDSHEET"]}},28:{n:"PtgErr",f:function(e){return e.l++,Ha[e.read_shift(1)]}},29:{n:"PtgBool",f:function(e){return e.l++,0!==e.read_shift(1)}},30:{n:"PtgInt",f:function(e){return e.l++,e.read_shift(2)}},31:{n:"PtgNum",f:function(e){return e.l++,_a(e)}},32:{n:"PtgArray",f:function(e,t,r){var a=(96&e[e.l++])>>5;return e.l+=2==r.biff?6:12==r.biff?14:7,[a]}},33:{n:"PtgFunc",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(r&&r.biff<=3?1:2);return[Yo[n],$o[n],a]}},34:{n:"PtgFuncVar",f:function(e,t,r){var a=e[e.l++],n=e.read_shift(1),s=r&&r.biff<=3?[88==a?-1:0,e.read_shift(1)]:function(e){return[e[e.l+1]>>7,32767&e.read_shift(2)]}(e);return[n,(0===s[0]?$o:Xo)[s[1]]]}},35:{n:"PtgName",f:function(e,t,r){var a=e.read_shift(1)>>>5&3,n=!r||r.biff>=8?4:2,s=e.read_shift(n);switch(r.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12}return[a,0,s]}},36:{n:"PtgRef",f:function(e,t,r){var a=(96&e[e.l])>>5;return e.l+=1,[a,go(e,0,r)]}},37:{n:"PtgArea",f:function(e,t,r){return[(96&e[e.l++])>>5,po(e,r.biff>=2&&r.biff,r)]}},38:{n:"PtgMemArea",f:function(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=r&&2==r.biff?3:4,[a,e.read_shift(r&&2==r.biff?1:2)]}},39:{n:"PtgMemErr",f:Pr},40:{n:"PtgMemNoMem",f:Pr},41:{n:"PtgMemFunc",f:function(e,t,r){return[e.read_shift(1)>>>5&3,e.read_shift(r&&2==r.biff?1:2)]}},42:{n:"PtgRefErr",f:function(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=4,r.biff<8&&e.l--,12==r.biff&&(e.l+=2),[a]}},43:{n:"PtgAreaErr",f:function(e,t,r){var a=(96&e[e.l++])>>5;return e.l+=r&&r.biff>8?12:r.biff<8?6:8,[a]}},44:{n:"PtgRefN",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=function(e,t,r){var a=r&&r.biff?r.biff:8;if(a>=2&&a<=5)return function(e){var t=e.read_shift(2),r=e.read_shift(1),a=(32768&t)>>15,n=(16384&t)>>14;return t&=16383,1==a&&t>=8192&&(t-=16384),1==n&&r>=128&&(r-=256),{r:t,c:r,cRel:n,rRel:a}}(e);var n=e.read_shift(a>=12?4:2),s=e.read_shift(2),i=(16384&s)>>14,o=(32768&s)>>15;if(s&=16383,1==o)for(;n>524287;)n-=1048576;if(1==i)for(;s>8191;)s-=16384;return{r:n,c:s,cRel:i,rRel:o}}(e,0,r);return[a,n]}},45:{n:"PtgAreaN",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=function(e,t,r){if(r.biff<8)return mo(e);var a=e.read_shift(12==r.biff?4:2),n=e.read_shift(12==r.biff?4:2),s=uo(e,2),i=uo(e,2);return{s:{r:a,c:s[0],cRel:s[1],rRel:s[2]},e:{r:n,c:i[0],cRel:i[1],rRel:i[2]}}}(e,0,r);return[a,n]}},46:{n:"PtgMemAreaN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},47:{n:"PtgMemNoMemN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},57:{n:"PtgNameX",f:function(e,t,r){return 5==r.biff?function(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2,"i");e.l+=8;var a=e.read_shift(2);return e.l+=12,[t,r,a]}(e):[e.read_shift(1)>>>5&3,e.read_shift(2),e.read_shift(4)]}},58:{n:"PtgRef3d",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(2);return r&&5==r.biff&&(e.l+=12),[a,n,go(e,0,r)]}},59:{n:"PtgArea3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2,"i");if(r&&5===r.biff)e.l+=12;return[a,n,po(e,0,r)]}},60:{n:"PtgRefErr3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=4;if(r)switch(r.biff){case 5:s=15;break;case 12:s=6}return e.l+=s,[a,n]}},61:{n:"PtgAreaErr3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=8;if(r)switch(r.biff){case 5:e.l+=12,s=6;break;case 12:s=12}return e.l+=s,[a,n]}},255:{}},Co={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},Oo={1:{n:"PtgElfLel",f:_o},2:{n:"PtgElfRw",f:yo},3:{n:"PtgElfCol",f:yo},6:{n:"PtgElfRwV",f:yo},7:{n:"PtgElfColV",f:yo},10:{n:"PtgElfRadical",f:yo},11:{n:"PtgElfRadicalS",f:ko},13:{n:"PtgElfColS",f:ko},15:{n:"PtgElfColSV",f:ko},16:{n:"PtgElfRadicalLel",f:_o},25:{n:"PtgList",f:function(e){e.l+=2;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n=e.read_shift(2),s=e.read_shift(2);return{ixti:t,coltype:3&r,rt:Ao[r>>2&31],idx:a,c:n,C:s}}},29:{n:"PtgSxName",f:function(e){return e.l+=2,[e.read_shift(4)]}},255:{}},Ro={0:{n:"PtgAttrNoop",f:function(e){return e.l+=4,[0,0]}},1:{n:"PtgAttrSemi",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=r&&2==r.biff?3:4,[a]}},2:{n:"PtgAttrIf",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(r&&2==r.biff?1:2)]}},4:{n:"PtgAttrChoose",f:function(e,t,r){e.l+=2;for(var a=e.read_shift(r&&2==r.biff?1:2),n=[],s=0;s<=a;++s)n.push(e.read_shift(r&&2==r.biff?1:2));return n}},8:{n:"PtgAttrGoto",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(r&&2==r.biff?1:2)]}},16:{n:"PtgAttrSum",f:function(e,t,r){e.l+=r&&2==r.biff?3:4}},32:{n:"PtgAttrBaxcel",f:bo},33:{n:"PtgAttrBaxcel",f:bo},64:{n:"PtgAttrSpace",f:function(e){return e.read_shift(2),wo(e)}},65:{n:"PtgAttrSpaceSemi",f:function(e){return e.read_shift(2),wo(e)}},128:{n:"PtgAttrIfError",f:function(e){var t=255&e[e.l+1]?1:0;return e.l+=2,[t,e.read_shift(2)]}},255:{}};function Io(e,t,r,a){if(a.biff<8)return Pr(e,t);for(var n=e.l+t,s=[],i=0;i!==r.length;++i)switch(r[i][0]){case"PtgArray":r[i][1]=So(e,0,a),s.push(r[i][1]);break;case"PtgMemArea":r[i][2]=Eo(e,r[i][1],a),s.push(r[i][2]);break;case"PtgExp":a&&12==a.biff&&(r[i][1][1]=e.read_shift(4),s.push(r[i][1]));break;case"PtgList":case"PtgElfRadicalS":case"PtgElfColS":case"PtgElfColSV":throw"Unsupported "+r[i][0]}return 0!==(t=n-e.l)&&s.push(Pr(e,t)),s}function No(e,t,r){for(var a,n,s=e.l+t,i=[];s!=e.l;)t=s-e.l,n=e[e.l],a=xo[n]||xo[Co[n]],24!==n&&25!==n||(a=(24===n?Oo:Ro)[e[e.l+1]]),a&&a.f?i.push([a.n,a.f(e,t,r)]):Pr(e,t);return i}function Do(e){for(var t=[],r=0;r=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function Po(e,t,r){if(!e)return"SH33TJSERR0";if(r.biff>8&&(!e.XTI||!e.XTI[t]))return e.SheetNames[t];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[t];if(r.biff<8)return t>1e4&&(t-=65536),t<0&&(t=-t),0==t?"":e.XTI[t-1];if(!a)return"SH33TJSERR1";var n="";if(r.biff>8)switch(e[a[0]][0]){case 357:return n=-1==a[1]?"#REF":e.SheetNames[a[1]],a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:return null!=r.SID?e.SheetNames[r.SID]:"SH33TJSSAME"+e[a[0]][0];default:return"SH33TJSSRC"+e[a[0]][0]}switch(e[a[0]][0][0]){case 1025:return n=-1==a[1]?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3",a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:return e[a[0]][0][3]?(n=-1==a[1]?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4",a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]]):"SH33TJSERR2"}}function Lo(e,t,r){var a=Po(e,t,r);return"#REF"==a?a:function(e,t){if(!(e||t&&t.biff<=5&&t.biff>=2))throw new Error("empty sheet name");return/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e)?"'"+e+"'":e}(a,r)}function Mo(e,t,r,a,n){var s,i,o,c,l=n&&n.biff||8,f={s:{c:0,r:0},e:{c:0,r:0}},h=[],u=0,d=0,p="";if(!e[0]||!e[0][0])return"";for(var m=-1,g="",v=0,b=e[0].length;v=0){switch(e[0][m][1][0]){case 0:g=Je(" ",e[0][m][1][1]);break;case 1:g=Je("\r",e[0][m][1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}i+=g,m=-1}h.push(i+Fo[w[0]]+s);break;case"PtgIsect":s=h.pop(),i=h.pop(),h.push(i+" "+s);break;case"PtgUnion":s=h.pop(),i=h.pop(),h.push(i+","+s);break;case"PtgRange":s=h.pop(),i=h.pop(),h.push(i+":"+s);break;case"PtgAttrChoose":case"PtgAttrGoto":case"PtgAttrIf":case"PtgAttrIfError":case"PtgAttrBaxcel":case"PtgAttrSemi":case"PtgMemArea":case"PtgTbl":case"PtgMemErr":case"PtgMemAreaN":case"PtgMemNoMemN":case"PtgAttrNoop":case"PtgSheet":case"PtgEndSheet":case"PtgMemFunc":case"PtgMemNoMem":break;case"PtgRef":o=Wr(w[1][1],f,n),h.push(zr(o,l));break;case"PtgRefN":o=r?Wr(w[1][1],r,n):w[1][1],h.push(zr(o,l));break;case"PtgRef3d":u=w[1][1],o=Wr(w[1][2],f,n),p=Lo(a,u,n),h.push(p+"!"+zr(o,l));break;case"PtgFunc":case"PtgFuncVar":var T=w[1][0],E=w[1][1];T||(T=0);var S=0==(T&=127)?[]:h.slice(-T);h.length-=T,"User"===E&&(E=S.shift()),h.push(E+"("+S.join(",")+")");break;case"PtgBool":h.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":case"PtgErr":h.push(w[1]);break;case"PtgNum":h.push(String(w[1]));break;case"PtgStr":h.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgAreaN":c=Hr(w[1][1],r?{s:r}:f,n),h.push(Vr(c,n));break;case"PtgArea":c=Hr(w[1][1],f,n),h.push(Vr(c,n));break;case"PtgArea3d":u=w[1][1],c=w[1][2],p=Lo(a,u,n),h.push(p+"!"+Vr(c,n));break;case"PtgAttrSum":h.push("SUM("+h.pop()+")");break;case"PtgName":d=w[1][2];var y=(a.names||[])[d-1]||(a[0]||[])[d],k=y?y.Name:"SH33TJSNAME"+String(d);k&&"_xlfn."==k.slice(0,6)&&!n.xlfn&&(k=k.slice(6)),h.push(k);break;case"PtgNameX":var _,A=w[1][1];if(d=w[1][2],!(n.biff<=5)){var x="";if(14849==((a[A]||[])[0]||[])[0]||(1025==((a[A]||[])[0]||[])[0]?a[A][d]&&a[A][d].itab>0&&(x=a.SheetNames[a[A][d].itab-1]+"!"):x=a.SheetNames[d-1]+"!"),a[A]&&a[A][d])x+=a[A][d].Name;else if(a[0]&&a[0][d])x+=a[0][d].Name;else{var C=(Po(a,A,n)||"").split(";;");C[d-1]?x=C[d-1]:x+="SH33TJSERRX"}h.push(x);break}A<0&&(A=-A),a[A]&&(_=a[A][d]),_||(_={Name:"SH33TJSERRY"}),h.push(_.Name);break;case"PtgParen":var O="(",R=")";if(m>=0){switch(g="",e[0][m][1][0]){case 2:O=Je(" ",e[0][m][1][1])+O;break;case 3:O=Je("\r",e[0][m][1][1])+O;break;case 4:R=Je(" ",e[0][m][1][1])+R;break;case 5:R=Je("\r",e[0][m][1][1])+R;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}m=-1}h.push(O+h.pop()+R);break;case"PtgRefErr":case"PtgRefErr3d":case"PtgAreaErr":case"PtgAreaErr3d":h.push("#REF!");break;case"PtgExp":o={c:w[1][1],r:w[1][0]};var I={c:r.c,r:r.r};if(a.sharedf[Kr(o)]){var N=a.sharedf[Kr(o)];h.push(Mo(N,0,I,a,n))}else{var D=!1;for(s=0;s!=a.arrayf.length;++s)if(i=a.arrayf[s],!(o.ci[0].e.c||o.ri[0].e.r)){h.push(Mo(i[1],0,I,a,n)),D=!0;break}D||h.push(w[1])}break;case"PtgArray":h.push("{"+Do(w[1])+"}");break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":m=v;break;case"PtgMissArg":h.push("");break;case"PtgList":h.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgElfCol":case"PtgElfColS":case"PtgElfColSV":case"PtgElfColV":case"PtgElfLel":case"PtgElfRadical":case"PtgElfRadicalLel":case"PtgElfRadicalS":case"PtgElfRw":case"PtgElfRwV":throw new Error("Unsupported ELFs");default:throw new Error("Unrecognized Formula Token: "+String(w))}if(3!=n.biff&&m>=0&&-1==["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"].indexOf(e[0][v][0])){var F=!0;switch((w=e[0][m])[1][0]){case 4:F=!1;case 0:g=Je(" ",w[1][1]);break;case 5:F=!1;case 1:g=Je("\r",w[1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0])}h.push((F?g:"")+h.pop()+(F?"":g)),m=-1}}if(h.length>1&&n.WTF)throw new Error("bad formula stack");return h[0]}function Uo(e,t,r){var a,n=e.l+t,s=2==r.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Pr(e,t-2)];var o=No(e,i,r);return t!==i+s&&(a=Io(e,t-i-s,o,r)),e.l=n,[o,a]}function Bo(e,t,r){var a,n=e.l+t,s=e.read_shift(2),i=No(e,s,r);return 65535==s?[[],Pr(e,t-2)]:(t!==s+2&&(a=Io(e,n-s-2,i,r)),[i,a])}function Wo(e,t,r){var a=e.l+t,n=qn(e);2==r.biff&&++e.l;var s=function(e){var t;if(65535!==yr(e,e.l+6))return[_a(e),"n"];switch(e[e.l]){case 0:return e.l+=8,["String","s"];case 1:return t=1===e[e.l+2],e.l+=8,[t,"b"];case 2:return t=e[e.l+2],e.l+=8,[t,"e"];case 3:return e.l+=8,["","s"]}return[]}(e),i=e.read_shift(1);2!=r.biff&&(e.read_shift(1),r.biff>=5&&e.read_shift(4));var o=function(e,t,r){var a,n=e.l+t,s=2==r.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Pr(e,t-2)];var o=No(e,i,r);return t!==i+s&&(a=Io(e,t-i-s,o,r)),e.l=n,[o,a]}(e,a-e.l,r);return{cell:n,val:s[0],formula:o,shared:i>>3&1,tt:s[1]}}function Ho(e,t,r){var a=e.read_shift(4),n=No(e,a,r),s=e.read_shift(4);return[n,s>0?Io(e,s,n,r):null]}var zo=Ho,Vo=Ho,Go=Ho,jo=Ho,Xo={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"},$o={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"},Yo={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function Ko(e){return"of:"==e.slice(0,3)&&(e=e.slice(3)),61==e.charCodeAt(0)&&61==(e=e.slice(1)).charCodeAt(0)&&(e=e.slice(1)),(e=(e=(e=e.replace(/COM\.MICROSOFT\./g,"")).replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,t){return t.replace(/\./g,"")})).replace(/\[.(#[A-Z]*[?!])\]/g,"$1")).replace(/[;~]/g,",").replace(/\|/g,";")}function Jo(e){return("of:="+e.replace(io,"$1[.$2$3$4$5]").replace(/\]:\[/g,":")).replace(/;/g,"|").replace(/,/g,";")}function qo(e){var t=e.split(":");return[t[0].split(".")[0],t[0].split(".")[1]+(t.length>1?":"+(t[1].split(".")[1]||t[1].split(".")[0]):"")]}function Zo(e){return e.replace(/\./,"!")}var Qo={},ec={},tc="undefined"!=typeof Map;function rc(e,t,r){var a=0,n=e.length;if(r){if(tc?r.has(t):Object.prototype.hasOwnProperty.call(r,t))for(var s=tc?r.get(t):r[t];a-1?(r.width=mi(a),r.customWidth=1):null!=t.width&&(r.width=t.width),t.hidden&&(r.hidden=!0),null!=t.level&&(r.outlineLevel=r.level=t.level),r}function nc(e,t){if(e){var r=[.7,.7,.75,.75,.3,.3];"xlml"==t&&(r=[1,1,1,1,.5,.5]),null==e.left&&(e.left=r[0]),null==e.right&&(e.right=r[1]),null==e.top&&(e.top=r[2]),null==e.bottom&&(e.bottom=r[3]),null==e.header&&(e.header=r[4]),null==e.footer&&(e.footer=r[5])}}function sc(e,t,r){var a=r.revssf[null!=t.z?t.z:"General"],n=60,s=e.length;if(null==a&&r.ssf)for(;n<392;++n)if(null==r.ssf[n]){Ee(t.z,n),r.ssf[n]=t.z,r.revssf[t.z]=a=n;break}for(n=0;n!=s;++n)if(e[n].numFmtId===a)return n;return e[s]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1},s}function ic(e,t,r,a,n,s){try{a.cellNF&&(e.z=z[t])}catch(e){if(a.WTF)throw e}if("z"!==e.t||a.cellStyles){if("d"===e.t&&"string"==typeof e.v&&(e.v=$e(e.v)),(!a||!1!==a.cellText)&&"z"!==e.t)try{if(null==z[t]&&Ee(_e[t]||"General",t),"e"===e.t)e.w=e.w||Ha[e.v];else if(0===t)if("n"===e.t)(0|e.v)===e.v?e.w=e.v.toString(10):e.w=Q(e.v);else if("d"===e.t){var i=Ue(e.v);e.w=(0|i)===i?i.toString(10):Q(i)}else{if(void 0===e.v)return"";e.w=ee(e.v,ec)}else"d"===e.t?e.w=Te(t,Ue(e.v),ec):e.w=Te(t,e.v,ec)}catch(e){if(a.WTF)throw e}if(a.cellStyles&&null!=r)try{e.s=s.Fills[r],e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb&&(e.s.fgColor.rgb=ci(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0),a.WTF&&(e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb)),e.s.bgColor&&e.s.bgColor.theme&&(e.s.bgColor.rgb=ci(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0),a.WTF&&(e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb))}catch(e){if(a.WTF&&s.Fills)throw e}}}function oc(e,t,r){if(e&&e["!ref"]){var a=Zr(e["!ref"]);if(a.e.c/g,lc=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/,fc=/<(?:\w:)?hyperlink [^>]*>/gm,hc=/"(\w*:\w*)"/,uc=/<(?:\w:)?col\b[^>]*[\/]?>/g,dc=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g,pc=/<(?:\w:)?pageMargins[^>]*\/>/g,mc=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/,gc=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/,vc=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function bc(e,t,r,a){var n=wt(e);r.Sheets[a]||(r.Sheets[a]={}),n.codeName&&(r.Sheets[a].CodeName=yt(Lt(n.codeName)))}var wc=["objects","scenarios","selectLockedCells","selectUnlockedCells"],Tc=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"],Ec=/<(?:\w:)?sheetView(?:[^>a-z][^>]*)?\/?>/;function Sc(e,t,r,a){if(e.c&&r["!comments"].push([t,e.c]),void 0===e.v&&"string"!=typeof e.f||"z"===e.t&&!e.f)return"";var n="",s=e.t,i=e.v;if("z"!==e.t)switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Ha[e.v];break;case"d":a&&a.cellDates?n=$e(e.v,-1).toISOString():((e=Ke(e)).t="n",n=""+(e.v=Ue($e(e.v)))),void 0===e.z&&(e.z=z[14]);break;default:n=e.v}var o=jt("v",At(n)),c={r:t},l=sc(a.cellXfs,e,a);switch(0!==l&&(c.s=l),e.t){case"n":case"z":break;case"d":c.t="d";break;case"b":c.t="b";break;case"e":c.t="e";break;default:if(null==e.v){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){o=jt("v",""+rc(a.Strings,e.v,a.revStrings)),c.t="s";break}c.t="str"}if(e.t!=s&&(e.t=s,e.v=i),"string"==typeof e.f&&e.f){var f=e.F&&e.F.slice(0,t.length)==t?{t:"array",ref:e.F}:null;o=$t("f",At(e.f),f)+(null!=e.v?o:"")}return e.l&&r["!links"].push([t,e.l]),e.D&&(c.cm=1),$t("c",o,c)}var yc=function(){var e=/<(?:\w+:)?c[ \/>]/,t=/<\/(?:\w+:)?row>/,r=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/,n=/ref=["']([^"']*)["']/,s=Ut("v"),i=Ut("f");return function(o,c,l,f,h,u){for(var d,p,m,g,v,b=0,w="",T=[],E=[],S=0,y=0,k=0,_="",A=0,x=0,C=0,O=0,R=Array.isArray(u.CellXf),I=[],N=[],D=Array.isArray(c),F=[],P={},L=!1,M=!!l.sheetStubs,U=o.split(t),B=0,W=U.length;B!=W;++B){var H=(w=U[B].trim()).length;if(0!==H){var V=0;e:for(b=0;b":if("/"!=w[b-1]){++b;break e}if(l&&l.cellStyles){if(A=null!=(p=wt(w.slice(V,b),!0)).r?parseInt(p.r,10):A+1,x=-1,l.sheetRows&&l.sheetRows=b)break;if(A=null!=(p=wt(w.slice(V,b),!0)).r?parseInt(p.r,10):A+1,x=-1,!(l.sheetRows&&l.sheetRowsA-1&&(f.s.r=A-1),f.e.r":"")+w,null!=E&&2===E.length){for(S=0,_=E[1],y=0;y!=_.length&&!((k=_.charCodeAt(y)-64)<1||k>26);++y)S=26*S+k;x=--S}else++x;for(y=0;y!=w.length&&62!==w.charCodeAt(y);++y);if(++y,(p=wt(w.slice(0,y),!0)).r||(p.r=Kr({r:A-1,c:x})),d={t:""},null!=(E=(_=w.slice(y)).match(s))&&""!==E[1]&&(d.v=yt(E[1])),l.cellFormula){if(null!=(E=_.match(i))&&""!==E[1]){if(d.f=yt(Lt(E[1])).replace(/\r\n/g,"\n"),l.xlfn||(d.f=fo(d.f)),E[0].indexOf('t="array"')>-1)d.F=(_.match(n)||[])[1],d.F.indexOf(":")>-1&&I.push([Zr(d.F),d.F]);else if(E[0].indexOf('t="shared"')>-1){g=wt(E[0]);var j=yt(Lt(E[1]));l.xlfn||(j=fo(j)),N[parseInt(g.si,10)]=[g,j,p.r]}}else(E=_.match(/]*\/>/))&&N[(g=wt(E[0])).si]&&(d.f=lo(N[g.si][1],N[g.si][2],p.r));var X=Yr(p.r);for(y=0;y=I[y][0].s.r&&X.r<=I[y][0].e.r&&X.c>=I[y][0].s.c&&X.c<=I[y][0].e.c&&(d.F=I[y][1])}if(null==p.t&&void 0===d.v)if(d.f||d.F)d.v=0,d.t="n";else{if(!M)continue;d.t="z"}else d.t=p.t||"n";switch(f.s.c>x&&(f.s.c=x),f.e.c0&&(c["!rows"]=F)}}();function kc(e,t,r,a){var n,s=[dt,$t("worksheet",null,{xmlns:Zt[0],"xmlns:r":qt.r})],i=r.SheetNames[e],o="",c=r.Sheets[i];null==c&&(c={});var l=c["!ref"]||"A1",f=Zr(l);if(f.e.c>16383||f.e.r>1048575){if(t.WTF)throw new Error("Range "+l+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383),f.e.r=Math.min(f.e.c,1048575),l=qr(f)}a||(a={}),c["!comments"]=[];var h=[];!function(e,t,r,a,n){var s=!1,i={},o=null;if("xlsx"!==a.bookType&&t.vbaraw){var c=t.SheetNames[r];try{t.Workbook&&(c=t.Workbook.Sheets[r].CodeName||c)}catch(e){}s=!0,i.codeName=Mt(At(c))}if(e&&e["!outline"]){var l={summaryBelow:1,summaryRight:1};e["!outline"].above&&(l.summaryBelow=0),e["!outline"].left&&(l.summaryRight=0),o=(o||"")+$t("outlinePr",null,l)}(s||o)&&(n[n.length]=$t("sheetPr",o,i))}(c,r,e,t,s),s[s.length]=$t("dimension",null,{ref:l}),s[s.length]=function(e,t,r,a){var n={workbookViewId:"0"};return(((a||{}).Workbook||{}).Views||[])[0]&&(n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0"),$t("sheetViews",$t("sheetView",null,n),{})}(0,0,0,r),t.sheetFormat&&(s[s.length]=$t("sheetFormatPr",null,{defaultRowHeight:t.sheetFormat.defaultRowHeight||"16",baseColWidth:t.sheetFormat.baseColWidth||"10",outlineLevelRow:t.sheetFormat.outlineLevelRow||"7"})),null!=c["!cols"]&&c["!cols"].length>0&&(s[s.length]=function(e,t){for(var r,a=[""],n=0;n!=t.length;++n)(r=t[n])&&(a[a.length]=$t("col",null,ac(n,r)));return a[a.length]="",a.join("")}(0,c["!cols"])),s[n=s.length]="",c["!links"]=[],null!=c["!ref"]&&(o=function(e,t){var r,a,n=[],s=[],i=Zr(e["!ref"]),o="",c="",l=[],f=0,h=0,u=e["!rows"],d=Array.isArray(e),p={r:c},m=-1;for(h=i.s.c;h<=i.e.c;++h)l[h]=$r(h);for(f=i.s.r;f<=i.e.r;++f){for(s=[],c=jr(f),h=i.s.c;h<=i.e.c;++h){r=l[h]+c;var g=d?(e[f]||[])[h]:e[r];void 0!==g&&null!=(o=Sc(g,r,e,t))&&s.push(o)}(s.length>0||u&&u[f])&&(p={r:c},u&&u[f]&&((a=u[f]).hidden&&(p.hidden=1),m=-1,a.hpx?m=Ti(a.hpx):a.hpt&&(m=a.hpt),m>-1&&(p.ht=m,p.customHeight=1),a.level&&(p.outlineLevel=a.level)),n[n.length]=$t("row",s.join(""),p))}if(u)for(;f-1&&(p.ht=m,p.customHeight=1),a.level&&(p.outlineLevel=a.level),n[n.length]=$t("row","",p));return n.join("")}(c,t),o.length>0&&(s[s.length]=o)),s.length>n+1&&(s[s.length]="",s[n]=s[n].replace("/>",">")),c["!protect"]&&(s[s.length]=function(e){var t={sheet:1};return wc.forEach(function(r){null!=e[r]&&e[r]&&(t[r]="1")}),Tc.forEach(function(r){null==e[r]||e[r]||(t[r]="0")}),e.password&&(t.password=ni(e.password).toString(16).toUpperCase()),$t("sheetProtection",null,t)}(c["!protect"])),null!=c["!autofilter"]&&(s[s.length]=function(e,t,r,a){var n="string"==typeof e.ref?e.ref:qr(e.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var s=r.Workbook.Names,i=Jr(n);i.s.r==i.e.r&&(i.e.r=Jr(t["!ref"]).e.r,n=qr(i));for(var o=0;o0&&(s[s.length]=function(e){if(0===e.length)return"";for(var t='',r=0;r!=e.length;++r)t+='';return t+""}(c["!merges"]));var u,d,p=-1,m=-1;return c["!links"].length>0&&(s[s.length]="",c["!links"].forEach(function(e){e[1].Target&&(u={ref:e[0]},"#"!=e[1].Target.charAt(0)&&(m=Ja(a,-1,At(e[1].Target).replace(/#.*$/,""),Xa.HLINK),u["r:id"]="rId"+m),(p=e[1].Target.indexOf("#"))>-1&&(u.location=At(e[1].Target.slice(p+1))),e[1].Tooltip&&(u.tooltip=At(e[1].Tooltip)),s[s.length]=$t("hyperlink",null,u))}),s[s.length]=""),delete c["!links"],null!=c["!margins"]&&(s[s.length]=(nc(d=c["!margins"]),$t("pageMargins",null,d))),t&&!t.ignoreEC&&null!=t.ignoreEC||(s[s.length]=jt("ignoredErrors",$t("ignoredError",null,{numberStoredAsText:1,sqref:l}))),h.length>0&&(m=Ja(a,-1,"../drawings/drawing"+(e+1)+".xml",Xa.DRAW),s[s.length]=$t("drawing",null,{"r:id":"rId"+m}),c["!drawing"]=h),c["!comments"].length>0&&(m=Ja(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",Xa.VML),s[s.length]=$t("legacyDrawing",null,{"r:id":"rId"+m}),c["!legacy"]=m),s.length>1&&(s[s.length]="",s[1]=s[1].replace("/>",">")),s.join("")}function _c(e,t,r,a){var n=function(e,t,r){var a=Lr(145),n=(r["!rows"]||[])[e]||{};a.write_shift(4,e),a.write_shift(4,0);var s=320;n.hpx?s=20*Ti(n.hpx):n.hpt&&(s=20*n.hpt),a.write_shift(2,s),a.write_shift(1,0);var i=0;n.level&&(i|=n.level),n.hidden&&(i|=16),(n.hpx||n.hpt)&&(i|=32),a.write_shift(1,i),a.write_shift(1,0);var o=0,c=a.l;a.l+=4;for(var l={r:e,c:0},f=0;f<16;++f)if(!(t.s.c>f+1<<10||t.e.ca.l?a.slice(0,a.l):a}(a,r,t);(n.length>17||(t["!rows"]||[])[a])&&Br(e,0,n)}var Ac=ya,xc=ka;function Cc(e){return[ha(e),_a(e),"n"]}var Oc=ya,Rc=ka,Ic=["left","right","top","bottom","header","footer"];function Nc(e,t,r,a,n,s,i){if(void 0===t.v)return!1;var o="";switch(t.t){case"b":o=t.v?"1":"0";break;case"d":(t=Ke(t)).z=t.z||z[14],t.v=Ue($e(t.v)),t.t="n";break;case"n":case"e":o=""+t.v;break;default:o=t.v}var c={r,c:a};switch(c.s=sc(n.cellXfs,t,n),t.l&&s["!links"].push([Kr(c),t.l]),t.c&&s["!comments"].push([Kr(c),t.c]),t.t){case"s":case"str":return n.bookSST?(o=rc(n.Strings,t.v,n.revStrings),c.t="s",c.v=o,i?Br(e,18,function(e,t,r){return null==r&&(r=Lr(8)),ua(t,r),r.write_shift(4,t.v),r}(0,c)):Br(e,7,function(e,t,r){return null==r&&(r=Lr(12)),fa(t,r),r.write_shift(4,t.v),r}(0,c))):(c.t="str",i?Br(e,17,function(e,t,r){return null==r&&(r=Lr(8+4*e.v.length)),ua(t,r),sa(e.v,r),r.length>r.l?r.slice(0,r.l):r}(t,c)):Br(e,6,function(e,t,r){return null==r&&(r=Lr(12+4*e.v.length)),fa(t,r),sa(e.v,r),r.length>r.l?r.slice(0,r.l):r}(t,c))),!0;case"n":return t.v==(0|t.v)&&t.v>-1e3&&t.v<1e3?i?Br(e,13,function(e,t,r){return null==r&&(r=Lr(8)),ua(t,r),Ea(e.v,r),r}(t,c)):Br(e,2,function(e,t,r){return null==r&&(r=Lr(12)),fa(t,r),Ea(e.v,r),r}(t,c)):i?Br(e,16,function(e,t,r){return null==r&&(r=Lr(12)),ua(t,r),Aa(e.v,r),r}(t,c)):Br(e,5,function(e,t,r){return null==r&&(r=Lr(16)),fa(t,r),Aa(e.v,r),r}(t,c)),!0;case"b":return c.t="b",i?Br(e,15,function(e,t,r){return null==r&&(r=Lr(5)),ua(t,r),r.write_shift(1,e.v?1:0),r}(t,c)):Br(e,4,function(e,t,r){return null==r&&(r=Lr(9)),fa(t,r),r.write_shift(1,e.v?1:0),r}(t,c)),!0;case"e":return c.t="e",i?Br(e,14,function(e,t,r){return null==r&&(r=Lr(8)),ua(t,r),r.write_shift(1,e.v),r.write_shift(2,0),r.write_shift(1,0),r}(t,c)):Br(e,3,function(e,t,r){return null==r&&(r=Lr(9)),fa(t,r),r.write_shift(1,e.v),r}(t,c)),!0}return i?Br(e,12,function(e,t,r){return null==r&&(r=Lr(4)),ua(t,r)}(0,c)):Br(e,1,function(e,t,r){return null==r&&(r=Lr(8)),fa(t,r)}(0,c)),!0}function Dc(e,t,r,a){var n=Ur(),s=r.SheetNames[e],i=r.Sheets[s]||{},o=s;try{r&&r.Workbook&&(o=r.Workbook.Sheets[e].CodeName||o)}catch(e){}var c,l,f=Zr(i["!ref"]||"A1");if(f.e.c>16383||f.e.r>1048575){if(t.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383),f.e.r=Math.min(f.e.c,1048575)}return i["!links"]=[],i["!comments"]=[],Br(n,129),(r.vbaraw||i["!outline"])&&Br(n,147,function(e,t,r){null==r&&(r=Lr(84+4*e.length));var a=192;t&&(t.above&&(a&=-65),t.left&&(a&=-129)),r.write_shift(1,a);for(var n=1;n<3;++n)r.write_shift(1,0);return xa({auto:1},r),r.write_shift(-4,-1),r.write_shift(-4,-1),pa(e,r),r.slice(0,r.l)}(o,i["!outline"])),Br(n,148,xc(f)),function(e,t,r){Br(e,133),Br(e,137,function(e,t,r){null==r&&(r=Lr(30));var a=924;return(((t||{}).Views||[])[0]||{}).RTL&&(a|=32),r.write_shift(2,a),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(2,0),r.write_shift(2,100),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(4,0),r}(0,r)),Br(e,138),Br(e,134)}(n,0,r.Workbook),function(e,t){t&&t["!cols"]&&(Br(e,390),t["!cols"].forEach(function(t,r){t&&Br(e,60,function(e,t,r){null==r&&(r=Lr(18));var a=ac(e,t);r.write_shift(-4,e),r.write_shift(-4,e),r.write_shift(4,256*(a.width||10)),r.write_shift(4,0);var n=0;return t.hidden&&(n|=1),"number"==typeof a.width&&(n|=2),t.level&&(n|=t.level<<8),r.write_shift(2,n),r}(r,t))}),Br(e,391))}(n,i),function(e,t,r,a){var n,s=Zr(t["!ref"]||"A1"),i="",o=[];Br(e,145);var c=Array.isArray(t),l=s.e.r;t["!rows"]&&(l=Math.max(s.e.r,t["!rows"].length-1));for(var f=s.s.r;f<=l;++f){i=jr(f),_c(e,t,s,f);var h=!1;if(f<=s.e.r)for(var u=s.s.c;u<=s.e.c;++u){f===s.s.r&&(o[u]=$r(u)),n=o[u]+i;var d=c?(t[f]||[])[u]:t[n];h=!!d&&Nc(e,d,f,u,a,t,h)}}Br(e,146)}(n,i,0,t),function(e,t){var r,a;t["!protect"]&&Br(e,535,(r=t["!protect"],null==a&&(a=Lr(66)),a.write_shift(2,r.password?ni(r.password):0),a.write_shift(4,1),[["objects",!1],["scenarios",!1],["formatCells",!0],["formatColumns",!0],["formatRows",!0],["insertColumns",!0],["insertRows",!0],["insertHyperlinks",!0],["deleteColumns",!0],["deleteRows",!0],["selectLockedCells",!1],["sort",!0],["autoFilter",!0],["pivotTables",!0],["selectUnlockedCells",!1]].forEach(function(e){e[1]?a.write_shift(4,null==r[e[0]]||r[e[0]]?0:1):a.write_shift(4,null!=r[e[0]]&&r[e[0]]?0:1)}),a))}(n,i),function(e,t,r,a){if(t["!autofilter"]){var n=t["!autofilter"],s="string"==typeof n.ref?n.ref:qr(n.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var i=r.Workbook.Names,o=Jr(s);o.s.r==o.e.r&&(o.e.r=Jr(t["!ref"]).e.r,s=qr(o));for(var c=0;c0){var n=Ja(a,-1,"../drawings/vmlDrawing"+(r+1)+".vml",Xa.VML);Br(e,551,wa("rId"+n)),t["!legacy"]=n}}(n,i,e,a),Br(n,130),n.end()}var Fc=[["allowRefreshQuery",!1,"bool"],["autoCompressPictures",!0,"bool"],["backupFile",!1,"bool"],["checkCompatibility",!1,"bool"],["CodeName",""],["date1904",!1,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",!1,"bool"],["hidePivotFieldList",!1,"bool"],["promptedSolutions",!1,"bool"],["publishItems",!1,"bool"],["refreshAllConnections",!1,"bool"],["saveExternalLinkValues",!0,"bool"],["showBorderUnselectedTables",!0,"bool"],["showInkAnnotation",!0,"bool"],["showObjects","all"],["showPivotChartFilter",!1,"bool"],["updateLinks","userSet"]],Pc=[["activeTab",0,"int"],["autoFilterDateGrouping",!0,"bool"],["firstSheet",0,"int"],["minimized",!1,"bool"],["showHorizontalScroll",!0,"bool"],["showSheetTabs",!0,"bool"],["showVerticalScroll",!0,"bool"],["tabRatio",600,"int"],["visibility","visible"]],Lc=[],Mc=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Uc(e,t){for(var r=0;r!=e.length;++r)for(var a=e[r],n=0;n!=t.length;++n){var s=t[n];if(null==a[s[0]])a[s[0]]=s[1];else switch(s[2]){case"bool":"string"==typeof a[s[0]]&&(a[s[0]]=It(a[s[0]]));break;case"int":"string"==typeof a[s[0]]&&(a[s[0]]=parseInt(a[s[0]],10))}}}function Bc(e,t){for(var r=0;r!=t.length;++r){var a=t[r];if(null==e[a[0]])e[a[0]]=a[1];else switch(a[2]){case"bool":"string"==typeof e[a[0]]&&(e[a[0]]=It(e[a[0]]));break;case"int":"string"==typeof e[a[0]]&&(e[a[0]]=parseInt(e[a[0]],10))}}}function Wc(e){Bc(e.WBProps,Fc),Bc(e.CalcPr,Mc),Uc(e.WBView,Pc),Uc(e.Sheets,Lc),ec.date1904=It(e.WBProps.date1904)}var Hc="][*?/\\".split("");function zc(e,t){if(e.length>31){if(t)return!1;throw new Error("Sheet names cannot exceed 31 chars")}var r=!0;return Hc.forEach(function(a){if(-1!=e.indexOf(a)){if(!t)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");r=!1}}),r}function Vc(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var t,r,a,n=e.Workbook&&e.Workbook.Sheets||[];t=e.SheetNames,r=n,a=!!e.vbaraw,t.forEach(function(e,n){zc(e);for(var s=0;s22)throw new Error("Bad Code Name: Worksheet"+i)}});for(var s=0;s0,a={codeName:"ThisWorkbook"};e.Workbook&&e.Workbook.WBProps&&(Fc.forEach(function(t){null!=e.Workbook.WBProps[t[0]]&&e.Workbook.WBProps[t[0]]!=t[1]&&(a[t[0]]=e.Workbook.WBProps[t[0]])}),e.Workbook.WBProps.CodeName&&(a.codeName=e.Workbook.WBProps.CodeName,delete a.CodeName)),t[t.length]=$t("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[],s=0;if(n&&n[0]&&n[0].Hidden){for(t[t.length]="",s=0;s!=e.SheetNames.length&&n[s]&&n[s].Hidden;++s);s==e.SheetNames.length&&(s=0),t[t.length]='',t[t.length]=""}for(t[t.length]="",s=0;s!=e.SheetNames.length;++s){var i={name:At(e.SheetNames[s].slice(0,31))};if(i.sheetId=""+(s+1),i["r:id"]="rId"+(s+1),n[s])switch(n[s].Hidden){case 1:i.state="hidden";break;case 2:i.state="veryHidden"}t[t.length]=$t("sheet",null,i)}return t[t.length]="",r&&(t[t.length]="",e.Workbook&&e.Workbook.Names&&e.Workbook.Names.forEach(function(e){var r={name:e.Name};e.Comment&&(r.comment=e.Comment),null!=e.Sheet&&(r.localSheetId=""+e.Sheet),e.Hidden&&(r.hidden="1"),e.Ref&&(t[t.length]=$t("definedName",At(e.Ref),r))}),t[t.length]=""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Xc(e,t){return t||(t=Lr(127)),t.write_shift(4,e.Hidden),t.write_shift(4,e.iTabID),wa(e.strRelID,t),sa(e.name.slice(0,31),t),t.length>t.l?t.slice(0,t.l):t}function $c(e,t){var r={};return e.read_shift(4),r.ArchID=e.read_shift(4),e.l+=t-8,r}function Yc(e,t){var r=Ur();return Br(r,131),Br(r,128,function(e,t){t||(t=Lr(127));for(var r=0;4!=r;++r)t.write_shift(4,0);return sa("SheetJS",t),sa(a.version,t),sa(a.version,t),sa("7262",t),t.length>t.l?t.slice(0,t.l):t}()),Br(r,153,function(e,t){t||(t=Lr(72));var r=0;return e&&e.filterPrivacy&&(r|=8),t.write_shift(4,r),t.write_shift(4,0),pa(e&&e.CodeName||"ThisWorkbook",t),t.slice(0,t.l)}(e.Workbook&&e.Workbook.WBProps||null)),function(e,t){if(t.Workbook&&t.Workbook.Sheets){for(var r,a,n=t.Workbook.Sheets,s=0,i=-1,o=-1;si||(Br(e,135),Br(e,158,(r=i,a||(a=Lr(29)),a.write_shift(-4,0),a.write_shift(-4,460),a.write_shift(4,28800),a.write_shift(4,17600),a.write_shift(4,500),a.write_shift(4,r),a.write_shift(4,r),a.write_shift(1,120),a.length>a.l?a.slice(0,a.l):a)),Br(e,136))}}(r,e),function(e,t){Br(e,143);for(var r=0;r!=t.SheetNames.length;++r)Br(e,156,Xc({Hidden:t.Workbook&&t.Workbook.Sheets&&t.Workbook.Sheets[r]&&t.Workbook.Sheets[r].Hidden||0,iTabID:r+1,strRelID:"rId"+(r+1),name:t.SheetNames[r]}));Br(e,144)}(r,e),Br(r,132),r.end()}function Kc(e,t,r,a,n,s,i,o){return".bin"===t.slice(-4)?function(e,t,r,a,n,s,i){if(!e)return e;var o=t||{};a||(a={"!id":{}}),null!=b&&null==o.dense&&(o.dense=b);var c,l,f,h,u,d,p,m,g,v,w=o.dense?[]:{},T={s:{r:2e6,c:2e6},e:{r:0,c:0}},E=[],S=!1,y=!1,k=[];o.biff=12,o["!row"]=0;var _=0,A=!1,x=[],C={},O=o.supbooks||n.supbooks||[[]];if(O.sharedf=C,O.arrayf=x,O.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name}),!o.supbooks&&(o.supbooks=O,n.Names))for(var R=0;R=R[0].s.r&&l.r<=R[0].e.r&&d>=R[0].s.c&&d<=R[0].e.c&&(f.F=qr(R[0]),A=!0)}!A&&e.length>3&&(f.f=e[3])}if(T.s.r>l.r&&(T.s.r=l.r),T.s.c>d&&(T.s.c=d),T.e.rl.r&&(T.s.r=l.r),T.s.c>d&&(T.s.c=d),T.e.r=e.s;)D[e.e--]={width:e.w/256,hidden:!!(1&e.flags),level:e.level},P||(P=!0,vi(e.w/256)),bi(D[e.e+1]);break;case 161:w["!autofilter"]={ref:qr(e)};break;case 476:w["!margins"]=e;break;case 147:n.Sheets[r]||(n.Sheets[r]={}),e.name&&(n.Sheets[r].CodeName=e.name),(e.above||e.left)&&(w["!outline"]={above:e.above,left:e.left});break;case 137:n.Views||(n.Views=[{}]),n.Views[0]||(n.Views[0]={}),e.RTL&&(n.Views[0].RTL=!0);break;case 485:case 64:case 1053:case 151:case 152:case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 507:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 3072:case 50:case 2070:case 1045:break;case 35:S=!0;break;case 36:S=!1;break;case 37:E.push(b),S=!0;break;case 38:E.pop(),S=!1;break;default:if(t.T);else if(!S||o.WTF)throw new Error("Unexpected record 0x"+b.toString(16))}},o),delete o.supbooks,delete o["!row"],!w["!ref"]&&(T.s.r<2e6||c&&(c.e.r>0||c.e.c>0||c.s.r>0||c.s.c>0))&&(w["!ref"]=qr(c||T)),o.sheetRows&&w["!ref"]){var L=Zr(w["!ref"]);o.sheetRows<=+L.e.r&&(L.e.r=o.sheetRows-1,L.e.r>T.e.r&&(L.e.r=T.e.r),L.e.rT.e.c&&(L.e.c=T.e.c),L.e.c0&&(w["!merges"]=k),D.length>0&&(w["!cols"]=D),F.length>0&&(w["!rows"]=F),w}(e,a,r,n,s,i,o):function(e,t,r,a,n,s,i){if(!e)return e;a||(a={"!id":{}}),null!=b&&null==t.dense&&(t.dense=b);var o=t.dense?[]:{},c={s:{r:2e6,c:2e6},e:{r:0,c:0}},l="",f="",h=e.match(lc);h?(l=e.slice(0,h.index),f=e.slice(h.index+h[0].length)):l=f=e;var u=l.match(mc);u?bc(u[0],0,n,r):(u=l.match(gc))&&function(e,t,r,a,n){bc(e.slice(0,e.indexOf(">")),0,a,n)}(u[0],u[1],0,n,r);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var p=l.slice(d,d+50).match(hc);p&&function(e,t){var r=Zr(t);r.s.r<=r.e.r&&r.s.c<=r.e.c&&r.s.r>=0&&r.s.c>=0&&(e["!ref"]=qr(r))}(o,p[1])}var m=l.match(vc);m&&m[1]&&function(e,t){t.Views||(t.Views=[{}]),(e.match(Ec)||[]).forEach(function(e,r){var a=wt(e);t.Views[r]||(t.Views[r]={}),+a.zoomScale&&(t.Views[r].zoom=+a.zoomScale),It(a.rightToLeft)&&(t.Views[r].RTL=!0)})}(m[1],n);var g=[];if(t.cellStyles){var v=l.match(uc);v&&function(e,t){for(var r=!1,a=0;a!=t.length;++a){var n=wt(t[a],!0);n.hidden&&(n.hidden=It(n.hidden));var s=parseInt(n.min,10)-1,i=parseInt(n.max,10)-1;for(n.outlineLevel&&(n.level=+n.outlineLevel||0),delete n.min,delete n.max,n.width=+n.width,!r&&n.width&&(r=!0,vi(n.width)),bi(n);s<=i;)e[s++]=Ke(n)}}(g,v)}h&&yc(h[1],o,t,c,s,i);var w=f.match(dc);w&&(o["!autofilter"]=function(e){return{ref:(e.match(/ref="([^"]*)"/)||[])[1]}}(w[0]));var T=[],E=f.match(cc);if(E)for(d=0;d!=E.length;++d)T[d]=Zr(E[d].slice(E[d].indexOf('"')+1));var S=f.match(fc);S&&function(e,t,r){for(var a=Array.isArray(e),n=0;n!=t.length;++n){var s=wt(Lt(t[n]),!0);if(!s.ref)return;var i=((r||{})["!id"]||[])[s.id];i?(s.Target=i.Target,s.location&&(s.Target+="#"+yt(s.location))):(s.Target="#"+yt(s.location),i={Target:s.Target,TargetMode:"Internal"}),s.Rel=i,s.tooltip&&(s.Tooltip=s.tooltip,delete s.tooltip);for(var o=Zr(s.ref),c=o.s.r;c<=o.e.r;++c)for(var l=o.s.c;l<=o.e.c;++l){var f=Kr({c:l,r:c});a?(e[c]||(e[c]=[]),e[c][l]||(e[c][l]={t:"z",v:void 0}),e[c][l].l=s):(e[f]||(e[f]={t:"z",v:void 0}),e[f].l=s)}}}(o,S,a);var y,k,_=f.match(pc);if(_&&(o["!margins"]=(y=wt(_[0]),k={},["left","right","top","bottom","header","footer"].forEach(function(e){y[e]&&(k[e]=parseFloat(y[e]))}),k)),!o["!ref"]&&c.e.c>=c.s.c&&c.e.r>=c.s.r&&(o["!ref"]=qr(c)),t.sheetRows>0&&o["!ref"]){var A=Zr(o["!ref"]);t.sheetRows<=+A.e.r&&(A.e.r=t.sheetRows-1,A.e.r>c.e.r&&(A.e.r=c.e.r),A.e.rc.e.c&&(A.e.c=c.e.c),A.e.c0&&(o["!cols"]=g),T.length>0&&(o["!merges"]=T),o}(e,a,r,n,s,i,o)}function Jc(e,t,r,a,n){return(".bin"===t.slice(-4)?Dc:kc)(e,r,a,n)}function qc(e,t,r){return(".bin"===t.slice(-4)?ro:Qi)(e,r)}var Zc,Qc=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g,el=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function tl(e,t){var r=e.split(/\s+/),a=[];if(t||(a[0]=r[0]),1===r.length)return a;var n,s,i,o=e.match(Qc);if(o)for(i=0;i!=o.length;++i)-1===(s=(n=o[i].match(el))[1].indexOf(":"))?a[n[1]]=n[2].slice(1,n[2].length-1):a["xmlns:"===n[1].slice(0,6)?"xmlns"+n[1].slice(6):n[1].slice(s+1)]=n[2].slice(1,n[2].length-1);return a}function rl(e){var t={};if(1===e.split(/\s+/).length)return t;var r,a,n,s=e.match(Qc);if(s)for(n=0;n!=s.length;++n)-1===(a=(r=s[n].match(el))[1].indexOf(":"))?t[r[1]]=r[2].slice(1,r[2].length-1):t["xmlns:"===r[1].slice(0,6)?"xmlns"+r[1].slice(6):r[1].slice(a+1)]=r[2].slice(1,r[2].length-1);return t}function al(e,t,r,a){var n=a;switch((r[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=It(a);break;case"i2":case"int":n=parseInt(a,10);break;case"r4":case"float":n=parseFloat(a);break;case"date":case"dateTime.tz":n=$e(a);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw new Error("bad custprop:"+r[0])}e[yt(t)]=n}function nl(e,t,r){if(r.cellStyles&&t.Interior){var a=t.Interior;a.Pattern&&(a.patternType=Si[a.Pattern]||a.Pattern)}e[t.ID]=t}function sl(e,t,r,a,n,s,i,o,c,l){var f="General",h=a.StyleID,u={};l=l||{};var d=[],p=0;for(void 0===h&&o&&(h=o.StyleID),void 0===h&&i&&(h=i.StyleID);void 0!==s[h]&&(s[h].nf&&(f=s[h].nf),s[h].Interior&&d.push(s[h].Interior),s[h].Parent);)h=s[h].Parent;switch(r.Type){case"Boolean":a.t="b",a.v=It(e);break;case"String":a.t="s",a.r=Rt(yt(e)),a.v=e.indexOf("<")>-1?yt(t||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":"Z"!=e.slice(-1)&&(e+="Z"),a.v=($e(e)-new Date(Date.UTC(1899,11,30)))/864e5,a.v!=a.v?a.v=yt(e):a.v<60&&(a.v=a.v-1),f&&"General"!=f||(f="yyyy-mm-dd");case"Number":void 0===a.v&&(a.v=+e),a.t||(a.t="n");break;case"Error":a.t="e",a.v=za[e],!1!==l.cellText&&(a.w=e);break;default:""==e&&""==t?a.t="z":(a.t="s",a.v=Rt(t||e))}if(function(e,t,r){if("z"!==e.t){if(!r||!1!==r.cellText)try{"e"===e.t?e.w=e.w||Ha[e.v]:"General"===t?"n"===e.t?(0|e.v)===e.v?e.w=e.v.toString(10):e.w=Q(e.v):e.w=ee(e.v):e.w=(a=t||"General",n=e.v,"General"===(s=Zc[a]||yt(a))?ee(n):Te(s,n))}catch(e){if(r.WTF)throw e}var a,n,s;try{var i=Zc[t]||t||"General";if(r.cellNF&&(e.z=i),r.cellDates&&"n"==e.t&&ve(i)){var o=X(e.v);o&&(e.t="d",e.v=new Date(o.y,o.m-1,o.d,o.H,o.M,o.S,o.u))}}catch(e){if(r.WTF)throw e}}}(a,f,l),!1!==l.cellFormula)if(a.Formula){var m=yt(a.Formula);61==m.charCodeAt(0)&&(m=m.slice(1)),a.f=so(m,n),delete a.Formula,"RC"==a.ArrayRange?a.F=so("RC:RC",n):a.ArrayRange&&(a.F=so(a.ArrayRange,n),c.push([Zr(a.F),a.F]))}else for(p=0;p=c[p][0].s.r&&n.r<=c[p][0].e.r&&n.c>=c[p][0].s.c&&n.c<=c[p][0].e.c&&(a.F=c[p][1]);l.cellStyles&&(d.forEach(function(e){!u.patternType&&e.patternType&&(u.patternType=e.patternType)}),a.s=u),void 0!==a.StyleID&&(a.ixfe=a.StyleID)}function il(e){e.t=e.v||"",e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),e.v=e.w=e.ixfe=void 0}function ol(e,t){var r=t||{};ye();var a=p(Kt(e));"binary"!=r.type&&"array"!=r.type&&"base64"!=r.type||(a=void 0!==d?d.utils.decode(65001,h(a)):Lt(a));var n,s=a.slice(0,1024).toLowerCase(),i=!1;if((1023&(s=s.replace(/".*?"/g,"")).indexOf(">"))>Math.min(1023&s.indexOf(","),1023&s.indexOf(";"))){var o=Ke(r);return o.type="string",Ps.to_workbook(a,o)}if(-1==s.indexOf("=0&&(i=!0)}),i)return function(e,t){var r=e.match(/[\s\S]*?<\/table>/gi);if(!r||0==r.length)throw new Error("Invalid HTML: could not find ");if(1==r.length)return ea(Ol(r[0],t),t);var a={SheetNames:[],Sheets:{}};return r.forEach(function(e,r){Kf(a,Ol(e,t),"Sheet"+(r+1))}),a}(a,r);Zc={"General Number":"General","General Date":z[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":z[15],"Short Date":z[14],"Long Time":z[19],"Medium Time":z[18],"Short Time":z[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:z[2],Standard:z[4],Percent:z[10],Scientific:z[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var c,l=[];null!=b&&null==r.dense&&(r.dense=b);var f,u={},m=[],g=r.dense?[]:{},v="",w={},T={},E=tl(''),S=0,y=0,k=0,_={s:{r:2e6,c:2e6},e:{r:0,c:0}},A={},x={},C="",O=0,R=[],I={},N={},D=0,F=[],P=[],L={},M=[],U=!1,B=[],W=[],H={},V=0,G=0,j={Sheets:[],WBProps:{date1904:!1}},X={};Jt.lastIndex=0,a=a.replace(//gm,"");for(var $="";n=Jt.exec(a);)switch(n[3]=($=n[3]).toLowerCase()){case"data":if("data"==$){if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&l.push([n[3],!0]);break}if(l[l.length-1][1])break;"/"===n[1]?sl(a.slice(S,n.index),C,E,"comment"==l[l.length-1][0]?L:w,{c:y,r:k},A,M[y],T,B,r):(C="",E=tl(n[0]),S=n.index+n[0].length);break;case"cell":if("/"===n[1])if(P.length>0&&(w.c=P),(!r.sheetRows||r.sheetRows>k)&&void 0!==w.v&&(r.dense?(g[k]||(g[k]=[]),g[k][y]=w):g[$r(y)+jr(k)]=w),w.HRef&&(w.l={Target:yt(w.HRef)},w.HRefScreenTip&&(w.l.Tooltip=w.HRefScreenTip),delete w.HRef,delete w.HRefScreenTip),(w.MergeAcross||w.MergeDown)&&(V=y+(0|parseInt(w.MergeAcross,10)),G=k+(0|parseInt(w.MergeDown,10)),R.push({s:{c:y,r:k},e:{c:V,r:G}})),r.sheetStubs)if(w.MergeAcross||w.MergeDown){for(var Y=y;Y<=V;++Y)for(var K=k;K<=G;++K)(Y>y||K>k)&&(r.dense?(g[K]||(g[K]=[]),g[K][Y]={t:"z"}):g[$r(Y)+jr(K)]={t:"z"});y=V+1}else++y;else w.MergeAcross?y=V+1:++y;else(w=rl(n[0])).Index&&(y=+w.Index-1),y<_.s.c&&(_.s.c=y),y>_.e.c&&(_.e.c=y),"/>"===n[0].slice(-2)&&++y,P=[];break;case"row":"/"===n[1]||"/>"===n[0].slice(-2)?(k<_.s.r&&(_.s.r=k),k>_.e.r&&(_.e.r=k),"/>"===n[0].slice(-2)&&(T=tl(n[0])).Index&&(k=+T.Index-1),y=0,++k):((T=tl(n[0])).Index&&(k=+T.Index-1),H={},("0"==T.AutoFitHeight||T.Height)&&(H.hpx=parseInt(T.Height,10),H.hpt=Ti(H.hpx),W[k]=H),"1"==T.Hidden&&(H.hidden=!0,W[k]=H));break;case"worksheet":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"));m.push(v),_.s.r<=_.e.r&&_.s.c<=_.e.c&&(g["!ref"]=qr(_),r.sheetRows&&r.sheetRows<=_.e.r&&(g["!fullref"]=g["!ref"],_.e.r=r.sheetRows-1,g["!ref"]=qr(_))),R.length&&(g["!merges"]=R),M.length>0&&(g["!cols"]=M),W.length>0&&(g["!rows"]=W),u[v]=g}else _={s:{r:2e6,c:2e6},e:{r:0,c:0}},k=y=0,l.push([n[3],!1]),c=tl(n[0]),v=yt(c.Name),g=r.dense?[]:{},R=[],B=[],W=[],X={name:v,Hidden:0},j.Sheets.push(X);break;case"table":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else{if("/>"==n[0].slice(-2))break;l.push([n[3],!1]),M=[],U=!1}break;case"style":"/"===n[1]?nl(A,x,r):x=tl(n[0]);break;case"numberformat":x.nf=yt(tl(n[0]).Format||"General"),Zc[x.nf]&&(x.nf=Zc[x.nf]);for(var J=0;392!=J&&z[J]!=x.nf;++J);if(392==J)for(J=57;392!=J;++J)if(null==z[J]){Ee(x.nf,J);break}break;case"column":if("table"!==l[l.length-1][0])break;if((f=tl(n[0])).Hidden&&(f.hidden=!0,delete f.Hidden),f.Width&&(f.wpx=parseInt(f.Width,10)),!U&&f.wpx>10){U=!0,ui=li;for(var q=0;q0&&(ee.Sheet=j.Sheets.length-1),j.Names.push(ee);break;case"namedcell":case"b":case"i":case"u":case"s":case"em":case"h2":case"h3":case"sub":case"sup":case"span":case"alignment":case"borders":case"border":case"protection":case"paragraphs":case"name":case"pixelsperinch":case"null":break;case"font":if("/>"===n[0].slice(-2))break;"/"===n[1]?C+=a.slice(O,n.index):O=n.index+n[0].length;break;case"interior":if(!r.cellStyles)break;x.Interior=tl(n[0]);break;case"author":case"title":case"description":case"created":case"keywords":case"subject":case"category":case"company":case"lastauthor":case"lastsaved":case"lastprinted":case"version":case"revision":case"totaltime":case"hyperlinkbase":case"manager":case"contentstatus":case"identifier":case"language":case"appname":if("/>"===n[0].slice(-2))break;"/"===n[1]?mn(I,$,a.slice(D,n.index)):D=n.index+n[0].length;break;case"styles":case"workbook":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else l.push([n[3],!1]);break;case"comment":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"));il(L),P.push(L)}else l.push([n[3],!1]),L={a:(c=tl(n[0])).Author};break;case"autofilter":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else if("/"!==n[0].charAt(n[0].length-2)){var te=tl(n[0]);g["!autofilter"]={ref:so(te.Range).replace(/\$/g,"")},l.push([n[3],!0])}break;case"datavalidation":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&l.push([n[3],!0]);break;case"componentoptions":case"documentproperties":case"customdocumentproperties":case"officedocumentsettings":case"pivottable":case"pivotcache":case"names":case"mapinfo":case"pagebreaks":case"querytable":case"sorting":case"schema":case"conditionalformatting":case"smarttagtype":case"smarttags":case"excelworkbook":case"workbookoptions":case"worksheetoptions":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&l.push([n[3],!0]);break;default:if(0==l.length&&"document"==n[3])return zl(a,r);if(0==l.length&&"uof"==n[3])return zl(a,r);var re=!0;switch(l[l.length-1][0]){case"officedocumentsettings":switch(n[3]){case"allowpng":case"removepersonalinformation":case"downloadcomponents":case"locationofcomponents":case"colors":case"color":case"index":case"rgb":case"targetscreensize":case"readonlyrecommended":break;default:re=!1}break;case"componentoptions":switch(n[3]){case"toolbar":case"hideofficelogo":case"spreadsheetautofit":case"label":case"caption":case"maxheight":case"maxwidth":case"nextsheetnumber":break;default:re=!1}break;case"excelworkbook":switch(n[3]){case"date1904":j.WBProps.date1904=!0;break;case"windowheight":case"windowwidth":case"windowtopx":case"windowtopy":case"tabratio":case"protectstructure":case"protectwindow":case"protectwindows":case"activesheet":case"displayinknotes":case"firstvisiblesheet":case"supbook":case"sheetname":case"sheetindex":case"sheetindexfirst":case"sheetindexlast":case"dll":case"acceptlabelsinformulas":case"donotsavelinkvalues":case"iteration":case"maxiterations":case"maxchange":case"path":case"xct":case"count":case"selectedsheets":case"calculation":case"uncalced":case"startupprompt":case"crn":case"externname":case"formula":case"colfirst":case"collast":case"wantadvise":case"boolean":case"error":case"text":case"ole":case"noautorecover":case"publishobjects":case"donotcalculatebeforesave":case"number":case"refmoder1c1":case"embedsavesmarttags":break;default:re=!1}break;case"workbookoptions":switch(n[3]){case"owcversion":case"height":case"width":break;default:re=!1}break;case"worksheetoptions":switch(n[3]){case"visible":if("/>"===n[0].slice(-2));else if("/"===n[1])switch(a.slice(D,n.index)){case"SheetHidden":X.Hidden=1;break;case"SheetVeryHidden":X.Hidden=2}else D=n.index+n[0].length;break;case"header":g["!margins"]||nc(g["!margins"]={},"xlml"),isNaN(+wt(n[0]).Margin)||(g["!margins"].header=+wt(n[0]).Margin);break;case"footer":g["!margins"]||nc(g["!margins"]={},"xlml"),isNaN(+wt(n[0]).Margin)||(g["!margins"].footer=+wt(n[0]).Margin);break;case"pagemargins":var ae=wt(n[0]);g["!margins"]||nc(g["!margins"]={},"xlml"),isNaN(+ae.Top)||(g["!margins"].top=+ae.Top),isNaN(+ae.Left)||(g["!margins"].left=+ae.Left),isNaN(+ae.Right)||(g["!margins"].right=+ae.Right),isNaN(+ae.Bottom)||(g["!margins"].bottom=+ae.Bottom);break;case"displayrighttoleft":j.Views||(j.Views=[]),j.Views[0]||(j.Views[0]={}),j.Views[0].RTL=!0;break;case"freezepanes":case"frozennosplit":case"splithorizontal":case"splitvertical":case"donotdisplaygridlines":case"activerow":case"activecol":case"toprowbottompane":case"leftcolumnrightpane":case"unsynced":case"print":case"printerrors":case"panes":case"scale":case"pane":case"number":case"layout":case"pagesetup":case"selected":case"protectobjects":case"enableselection":case"protectscenarios":case"validprinterinfo":case"horizontalresolution":case"verticalresolution":case"numberofcopies":case"activepane":case"toprowvisible":case"leftcolumnvisible":case"fittopage":case"rangeselection":case"papersizeindex":case"pagelayoutzoom":case"pagebreakzoom":case"filteron":case"fitwidth":case"fitheight":case"commentslayout":case"zoom":case"lefttoright":case"gridlines":case"allowsort":case"allowfilter":case"allowinsertrows":case"allowdeleterows":case"allowinsertcols":case"allowdeletecols":case"allowinserthyperlinks":case"allowformatcells":case"allowsizecols":case"allowsizerows":case"tabcolorindex":case"donotdisplayheadings":case"showpagelayoutzoom":case"blackandwhite":case"donotdisplayzeros":case"displaypagebreak":case"rowcolheadings":case"donotdisplayoutline":case"noorientation":case"allowusepivottables":case"zeroheight":case"viewablerange":case"selection":case"protectcontents":break;case"nosummaryrowsbelowdetail":g["!outline"]||(g["!outline"]={}),g["!outline"].above=!0;break;case"nosummarycolumnsrightdetail":g["!outline"]||(g["!outline"]={}),g["!outline"].left=!0;break;default:re=!1}break;case"pivottable":case"pivotcache":switch(n[3]){case"immediateitemsondrop":case"showpagemultipleitemlabel":case"compactrowindent":case"location":case"pivotfield":case"orientation":case"layoutform":case"layoutsubtotallocation":case"layoutcompactrow":case"position":case"pivotitem":case"datatype":case"datafield":case"sourcename":case"parentfield":case"ptlineitems":case"ptlineitem":case"countofsameitems":case"item":case"itemtype":case"ptsource":case"cacheindex":case"consolidationreference":case"filename":case"reference":case"nocolumngrand":case"norowgrand":case"blanklineafteritems":case"hidden":case"subtotal":case"basefield":case"mapchilditems":case"function":case"refreshonfileopen":case"printsettitles":case"mergelabels":case"defaultversion":case"refreshname":case"refreshdate":case"refreshdatecopy":case"versionlastrefresh":case"versionlastupdate":case"versionupdateablemin":case"versionrefreshablemin":case"calculation":break;default:re=!1}break;case"pagebreaks":switch(n[3]){case"colbreaks":case"colbreak":case"rowbreaks":case"rowbreak":case"colstart":case"colend":case"rowend":break;default:re=!1}break;case"autofilter":switch(n[3]){case"autofiltercolumn":case"autofiltercondition":case"autofilterand":case"autofilteror":break;default:re=!1}break;case"querytable":switch(n[3]){case"id":case"autoformatfont":case"autoformatpattern":case"querysource":case"querytype":case"enableredirections":case"refreshedinxl9":case"urlstring":case"htmltables":case"connection":case"commandtext":case"refreshinfo":case"notitles":case"nextid":case"columninfo":case"overwritecells":case"donotpromptforfile":case"textwizardsettings":case"source":case"number":case"decimal":case"thousandseparator":case"trailingminusnumbers":case"formatsettings":case"fieldtype":case"delimiters":case"tab":case"comma":case"autoformatname":case"versionlastedit":case"versionlastrefresh":break;default:re=!1}break;case"datavalidation":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":case"cellrangelist":break;default:re=!1}break;case"sorting":case"conditionalformatting":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"cellrangelist":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":break;default:re=!1}break;case"mapinfo":case"schema":case"data":switch(n[3]){case"map":case"entry":case"range":case"xpath":case"field":case"xsdtype":case"filteron":case"aggregate":case"elementtype":case"attributetype":case"schema":case"element":case"complextype":case"datatype":case"all":case"attribute":case"extends":case"row":break;default:re=!1}break;case"smarttags":break;default:re=!1}if(re)break;if(n[3].match(/!\[CDATA/))break;if(!l[l.length-1][1])throw"Unrecognized tag: "+n[3]+"|"+l.join("|");if("customdocumentproperties"===l[l.length-1][0]){if("/>"===n[0].slice(-2))break;"/"===n[1]?al(N,$,F,a.slice(D,n.index)):(F=n,D=n.index+n[0].length);break}if(r.WTF)throw"Unrecognized tag: "+n[3]+"|"+l.join("|")}var ne={};return r.bookSheets||r.bookProps||(ne.Sheets=u),ne.SheetNames=m,ne.Workbook=j,ne.SSF=Ke(z),ne.Props=I,ne.Custprops=N,ne}function cl(e,t){switch(bf(t=t||{}),t.type||"base64"){case"base64":return ol(E(e),t);case"binary":case"buffer":case"file":return ol(e,t);case"array":return ol(C(e),t)}}function ll(e){return $t("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+oo(e.Ref,{r:0,c:0})})}function fl(e,t,r,a,n,s,i){if(!e||null==e.v&&null==e.f)return"";var o={};if(e.f&&(o["ss:Formula"]="="+At(oo(e.f,i))),e.F&&e.F.slice(0,t.length)==t){var c=Yr(e.F.slice(t.length+1));o["ss:ArrayRange"]="RC:R"+(c.r==i.r?"":"["+(c.r-i.r)+"]")+"C"+(c.c==i.c?"":"["+(c.c-i.c)+"]")}if(e.l&&e.l.Target&&(o["ss:HRef"]=At(e.l.Target),e.l.Tooltip&&(o["x:HRefScreenTip"]=At(e.l.Tooltip))),r["!merges"])for(var l=r["!merges"],f=0;f!=l.length;++f)l[f].s.c==i.c&&l[f].s.r==i.r&&(l[f].e.c>l[f].s.c&&(o["ss:MergeAcross"]=l[f].e.c-l[f].s.c),l[f].e.r>l[f].s.r&&(o["ss:MergeDown"]=l[f].e.r-l[f].s.r));var h="",u="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":h="Number",u=String(e.v);break;case"b":h="Boolean",u=e.v?"1":"0";break;case"e":h="Error",u=Ha[e.v];break;case"d":h="DateTime",u=new Date(e.v).toISOString(),null==e.z&&(e.z=e.z||z[14]);break;case"s":h="String",u=((e.v||"")+"").replace(kt,function(e){return St[e]}).replace(Ct,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var d=sc(a.cellXfs,e,a);o["ss:StyleID"]="s"+(21+d),o["ss:Index"]=i.c+1;var p=null!=e.v?u:"",m="z"==e.t?"":''+p+"";return(e.c||[]).length>0&&(m+=e.c.map(function(e){var t=$t("ss:Data",(e.t||"").replace(/(\r\n|[\r\n])/g," "),{xmlns:"http://www.w3.org/TR/REC-html40"});return $t("Comment",t,{"ss:Author":e.a})}).join("")),$t("Cell",m,o)}function hl(e,t){var r='"}function ul(e,t,r){var a=[],n=r.SheetNames[e],s=r.Sheets[n],i=s?function(e,t,r,a){if(!e)return"";if(!((a||{}).Workbook||{}).Names)return"";for(var n=a.Workbook.Names,s=[],i=0;i0&&a.push(""+i+""),i=s?function(e,t){if(!e["!ref"])return"";var r=Zr(e["!ref"]),a=e["!merges"]||[],n=0,s=[];e["!cols"]&&e["!cols"].forEach(function(e,t){bi(e);var r=!!e.width,a=ac(t,e),n={"ss:Index":t+1};r&&(n["ss:Width"]=di(a.width)),e.hidden&&(n["ss:Hidden"]="1"),s.push($t("Column",null,n))});for(var i=Array.isArray(e),o=r.s.r;o<=r.e.r;++o){for(var c=[hl(o,(e["!rows"]||[])[o])],l=r.s.c;l<=r.e.c;++l){var f=!1;for(n=0;n!=a.length;++n)if(!(a[n].s.c>l||a[n].s.r>o||a[n].e.c"),c.length>2&&s.push(c.join(""))}return s.join("")}(s,t):"",i.length>0&&a.push("
"+i+"
"),a.push(function(e,t,r,a){if(!e)return"";var n=[];if(e["!margins"]&&(n.push(""),e["!margins"].header&&n.push($t("Header",null,{"x:Margin":e["!margins"].header})),e["!margins"].footer&&n.push($t("Footer",null,{"x:Margin":e["!margins"].footer})),n.push($t("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"})),n.push("")),a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[r])if(a.Workbook.Sheets[r].Hidden)n.push($t("Visible",1==a.Workbook.Sheets[r].Hidden?"SheetHidden":"SheetVeryHidden",{}));else{for(var s=0;s")}return((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL&&n.push(""),e["!protect"]&&(n.push(jt("ProtectContents","True")),e["!protect"].objects&&n.push(jt("ProtectObjects","True")),e["!protect"].scenarios&&n.push(jt("ProtectScenarios","True")),null==e["!protect"].selectLockedCells||e["!protect"].selectLockedCells?null==e["!protect"].selectUnlockedCells||e["!protect"].selectUnlockedCells||n.push(jt("EnableSelection","UnlockedCells")):n.push(jt("EnableSelection","NoSelection")),[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(t){e["!protect"][t[0]]&&n.push("<"+t[1]+"/>")})),0==n.length?"":$t("WorksheetOptions",n.join(""),{xmlns:Qt.x})}(s,0,e,r)),a.join("")}function dl(e,t){t||(t={}),e.SSF||(e.SSF=Ke(z)),e.SSF&&(ye(),Se(e.SSF),t.revssf=Le(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF,t.cellXfs=[],sc(t.cellXfs,{},{revssf:{General:0}}));var r=[];r.push(function(e,t){var r=[];return e.Props&&r.push(function(e,t){var r=[];return De(pn).map(function(e){for(var t=0;t'+n.join("")+""}(e.Props,e.Custprops)),r.join("")}(e,t)),r.push(""),r.push(""),r.push("");for(var a=0;a'];return t.cellXfs.forEach(function(e,t){var a=[];a.push($t("NumberFormat",null,{"ss:Format":At(z[e.numFmtId])}));var n={"ss:ID":"s"+(21+t)};r.push($t("Style",a.join(""),n))}),$t("Styles",r.join(""))}(0,t),r[3]=function(e){if(!((e||{}).Workbook||{}).Names)return"";for(var t=e.Workbook.Names,r=[],a=0;a0)switch(e){case 9:case 521:case 1033:case 2057:case 47:case 405:case 225:case 406:case 312:case 404:case 10:case 133:break;default:n.enc.insitu(o)}i.push(o),r.l+=s;for(var c=yr(r,r.l),l=El[c],f=0;null!=l&&pl.indexOf(c)>-1;)s=yr(r,r.l+2),f=r.l+4,2066==c?f+=4:2165!=c&&2175!=c||(f+=12),o=r.slice(f,r.l+4+s),i.push(o),r.l+=4+s,l=El[c=yr(r,r.l)];var h=R(i);Fr(h,0);var u=0;h.lens=[];for(var d=0;d40||(r.l-=4,t.Reserved1=r.read_shift(0,"lpstr-ansi"),r.length-r.l<=4||1907505652!==(a=r.read_shift(4))||(t.UnicodeClipboardFormat=function(e){return Ca(e,2)}(r),0==(a=r.read_shift(4))||a>40||(r.l-=4,t.Reserved2=r.read_shift(0,"lpwstr"))))}(r),t.bookProps&&!t.bookSheets)n={};else{var i=S?"buffer":"array";if(a&&a.content)n=function(e,t){var r={opts:{}},a={};null!=b&&null==t.dense&&(t.dense=b);var n,s,i,o,c,f,h,u,d=t.dense?[]:{},p={},m={},g=null,v=[],w="",T={},E="",S={},y=[],k=[],_=[],A={Sheets:[],WBProps:{date1904:!1},Views:[{}]},x={},C=function(e){return e<8?Wa[e]:e<64&&_[e-8]||Wa[e]},O=function(e,t,r){if(!(B>1||r.sheetRows&&e.r>=r.sheetRows)){if(r.cellStyles&&t.XF&&t.XF.data&&function(e,t,r){var a,n=t.XF.data;n&&n.patternType&&r&&r.cellStyles&&(t.s={},t.s.patternType=n.patternType,(a=oi(C(n.icvFore)))&&(t.s.fgColor={rgb:a}),(a=oi(C(n.icvBack)))&&(t.s.bgColor={rgb:a}))}(0,t,r),delete t.ixfe,delete t.XF,n=e,E=Kr(e),m&&m.s&&m.e||(m={s:{r:0,c:0},e:{r:0,c:0}}),e.rm.e.r&&(m.e.r=e.r+1),e.c+1>m.e.c&&(m.e.c=e.c+1),r.cellFormula&&t.f)for(var a=0;ae.c||y[a][0].s.r>e.r||y[a][0].e.c>8)!==X)throw new Error("rt mismatch: "+K+"!="+X);12==Y.r&&(e.l+=10,$-=10)}var J={};if(J=10===X?Y.f(e,$,R):ml(X,Y,e,$,R),0==B&&-1===[9,521,1033,2057].indexOf(U))continue;switch(X){case 34:r.opts.Date1904=A.WBProps.date1904=J;break;case 134:r.opts.WriteProtect=!0;break;case 47:if(R.enc||(e.l=0),R.enc=J,!t.password)throw new Error("File is password-protected");if(null==J.valid)throw new Error("Encryption scheme unsupported");if(!J.valid)throw new Error("Password is incorrect");break;case 92:R.lastuser=J;break;case 66:var q=Number(J);switch(q){case 21010:q=1200;break;case 32768:q=1e4;break;case 32769:q=1252}l(R.codepage=q),G=!0;break;case 317:R.rrtabid=J;break;case 25:R.winlocked=J;break;case 439:r.opts.RefreshAll=J;break;case 12:r.opts.CalcCount=J;break;case 16:r.opts.CalcDelta=J;break;case 17:r.opts.CalcIter=J;break;case 13:r.opts.CalcMode=J;break;case 14:r.opts.CalcPrecision=J;break;case 95:r.opts.CalcSaveRecalc=J;break;case 15:R.CalcRefMode=J;break;case 2211:r.opts.FullCalc=J;break;case 129:J.fDialog&&(d["!type"]="dialog"),J.fBelow||((d["!outline"]||(d["!outline"]={})).above=!0),J.fRight||((d["!outline"]||(d["!outline"]={})).left=!0);break;case 224:k.push(J);break;case 430:L.push([J]),L[L.length-1].XTI=[];break;case 35:case 547:L[L.length-1].push(J);break;case 24:case 536:M={Name:J.Name,Ref:Mo(J.rgce,0,null,L,R)},J.itab>0&&(M.Sheet=J.itab-1),L.names.push(M),L[0]||(L[0]=[],L[0].XTI=[]),L[L.length-1].push(J),"_xlnm._FilterDatabase"==J.Name&&J.itab>0&&J.rgce&&J.rgce[0]&&J.rgce[0][0]&&"PtgArea3d"==J.rgce[0][0][0]&&(V[J.itab-1]={ref:qr(J.rgce[0][0][1][2])});break;case 22:R.ExternCount=J;break;case 23:0==L.length&&(L[0]=[],L[0].XTI=[]),L[L.length-1].XTI=L[L.length-1].XTI.concat(J),L.XTI=L.XTI.concat(J);break;case 2196:if(R.biff<8)break;null!=M&&(M.Comment=J[1]);break;case 18:d["!protect"]=J;break;case 19:0!==J&&R.WTF&&console.error("Password verifier: "+J);break;case 133:p[J.pos]=J,R.snames.push(J.name);break;case 10:if(--B)break;if(m.e){if(m.e.r>0&&m.e.c>0){if(m.e.r--,m.e.c--,d["!ref"]=qr(m),t.sheetRows&&t.sheetRows<=m.e.r){var Z=m.e.r;m.e.r=t.sheetRows-1,d["!fullref"]=d["!ref"],d["!ref"]=qr(m),m.e.r=Z}m.e.r++,m.e.c++}I.length>0&&(d["!merges"]=I),N.length>0&&(d["!objects"]=N),D.length>0&&(d["!cols"]=D),F.length>0&&(d["!rows"]=F),A.Sheets.push(x)}""===w?T=d:a[w]=d,d=t.dense?[]:{};break;case 9:case 521:case 1033:case 2057:if(8===R.biff&&(R.biff={9:2,521:3,1033:4}[X]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[J.BIFFVer]||8),R.biffguess=0==J.BIFFVer,0==J.BIFFVer&&4096==J.dt&&(R.biff=5,G=!0,l(R.codepage=28591)),8==R.biff&&0==J.BIFFVer&&16==J.dt&&(R.biff=2),B++)break;if(d=t.dense?[]:{},R.biff<8&&!G&&(G=!0,l(R.codepage=t.codepage||1252)),R.biff<5||0==J.BIFFVer&&4096==J.dt){""===w&&(w="Sheet1"),m={s:{r:0,c:0},e:{r:0,c:0}};var Q={pos:e.l-$,name:w};p[Q.pos]=Q,R.snames.push(w)}else w=(p[j]||{name:""}).name;32==J.dt&&(d["!type"]="chart"),64==J.dt&&(d["!type"]="macro"),I=[],N=[],R.arrayf=y=[],D=[],F=[],P=!1,x={Hidden:(p[j]||{hs:0}).hs,name:w};break;case 515:case 3:case 2:"chart"==d["!type"]&&(t.dense?(d[J.r]||[])[J.c]:d[Kr({c:J.c,r:J.r})])&&++J.c,f={ixfe:J.ixfe,XF:k[J.ixfe]||{},v:J.val,t:"n"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 5:case 517:f={ixfe:J.ixfe,XF:k[J.ixfe],v:J.val,t:J.t},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 638:f={ixfe:J.ixfe,XF:k[J.ixfe],v:J.rknum,t:"n"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 189:for(var ee=J.c;ee<=J.C;++ee){var te=J.rkrec[ee-J.c][0];f={ixfe:te,XF:k[te],v:J.rkrec[ee-J.c][1],t:"n"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:ee,r:J.r},f,t)}break;case 6:case 518:case 1030:if("String"==J.val){g=J;break}if((f=vl(J.val,J.cell.ixfe,J.tt)).XF=k[f.ixfe],t.cellFormula){var re=J.formula;if(re&&re[0]&&re[0][0]&&"PtgExp"==re[0][0][0]){var ae=re[0][0][1][0],ne=re[0][0][1][1],se=Kr({r:ae,c:ne});S[se]?f.f=""+Mo(J.formula,0,J.cell,L,R):f.F=((t.dense?(d[ae]||[])[ne]:d[se])||{}).F}else f.f=""+Mo(J.formula,0,J.cell,L,R)}W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O(J.cell,f,t),g=J;break;case 7:case 519:if(!g)throw new Error("String record expects Formula");g.val=J,(f=vl(J,g.cell.ixfe,"s")).XF=k[f.ixfe],t.cellFormula&&(f.f=""+Mo(g.formula,0,g.cell,L,R)),W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O(g.cell,f,t),g=null;break;case 33:case 545:y.push(J);var ie=Kr(J[0].s);if(s=t.dense?(d[J[0].s.r]||[])[J[0].s.c]:d[ie],t.cellFormula&&s){if(!g)break;if(!ie||!s)break;s.f=""+Mo(J[1],0,J[0],L,R),s.F=qr(J[0])}break;case 1212:if(!t.cellFormula)break;if(E){if(!g)break;S[Kr(g.cell)]=J[0],((s=t.dense?(d[g.cell.r]||[])[g.cell.c]:d[Kr(g.cell)])||{}).f=""+Mo(J[0],0,n,L,R)}break;case 253:f=vl(v[J.isst].t,J.ixfe,"s"),v[J.isst].h&&(f.h=v[J.isst].h),f.XF=k[f.ixfe],W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 513:t.sheetStubs&&(f={ixfe:J.ixfe,XF:k[J.ixfe],t:"z"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t));break;case 190:if(t.sheetStubs)for(var oe=J.c;oe<=J.C;++oe){var ce=J.ixfe[oe-J.c];f={ixfe:ce,XF:k[ce],t:"z"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:oe,r:J.r},f,t)}break;case 214:case 516:case 4:(f=vl(J.val,J.ixfe,"s")).XF=k[f.ixfe],W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 0:case 512:1===B&&(m=J);break;case 252:v=J;break;case 1054:if(4==R.biff){H[W++]=J[1];for(var le=0;le=163&&Ee(J[1],W+163)}else Ee(J[1],J[0]);break;case 30:H[W++]=J;for(var fe=0;fe=163&&Ee(J,W+163);break;case 229:I=I.concat(J);break;case 93:N[J.cmo[0]]=R.lastobj=J;break;case 438:R.lastobj.TxO=J;break;case 127:R.lastobj.ImData=J;break;case 440:for(c=J[0].s.r;c<=J[0].e.r;++c)for(o=J[0].s.c;o<=J[0].e.c;++o)(s=t.dense?(d[c]||[])[o]:d[Kr({c:o,r:c})])&&(s.l=J[1]);break;case 2048:for(c=J[0].s.r;c<=J[0].e.r;++c)for(o=J[0].s.c;o<=J[0].e.c;++o)(s=t.dense?(d[c]||[])[o]:d[Kr({c:o,r:c})])&&s.l&&(s.l.Tooltip=J[1]);break;case 28:if(R.biff<=5&&R.biff>=2)break;s=t.dense?(d[J[0].r]||[])[J[0].c]:d[Kr(J[0])];var he=N[J[2]];s||(t.dense?(d[J[0].r]||(d[J[0].r]=[]),s=d[J[0].r][J[0].c]={t:"z"}):s=d[Kr(J[0])]={t:"z"},m.e.r=Math.max(m.e.r,J[0].r),m.s.r=Math.min(m.s.r,J[0].r),m.e.c=Math.max(m.e.c,J[0].c),m.s.c=Math.min(m.s.c,J[0].c)),s.c||(s.c=[]),i={a:J[1],t:he.TxO.t},s.c.push(i);break;case 2173:$i(k[J.ixfe],J.ext);break;case 125:if(!R.cellStyles)break;for(;J.e>=J.s;)D[J.e--]={width:J.w/256,level:J.level||0,hidden:!!(1&J.flags)},P||(P=!0,vi(J.w/256)),bi(D[J.e+1]);break;case 520:var ue={};null!=J.level&&(F[J.r]=ue,ue.level=J.level),J.hidden&&(F[J.r]=ue,ue.hidden=!0),J.hpt&&(F[J.r]=ue,ue.hpt=J.hpt,ue.hpx=Ei(J.hpt));break;case 38:case 39:case 40:case 41:d["!margins"]||nc(d["!margins"]={}),d["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[X]]=J;break;case 161:d["!margins"]||nc(d["!margins"]={}),d["!margins"].header=J.header,d["!margins"].footer=J.footer;break;case 574:J.RTL&&(A.Views[0].RTL=!0);break;case 146:_=J;break;case 2198:u=J;break;case 140:h=J;break;case 442:w?x.CodeName=J||x.name:A.WBProps.CodeName=J||"ThisWorkbook"}}else Y||console.error("Missing Info for XLS Record 0x"+X.toString(16)),e.l+=$}return r.SheetNames=De(p).sort(function(e,t){return Number(e)-Number(t)}).map(function(e){return p[e].name}),t.bookSheets||(r.Sheets=a),!r.SheetNames.length&&T["!ref"]?(r.SheetNames.push("Sheet1"),r.Sheets&&(r.Sheets.Sheet1=T)):r.Preamble=T,r.Sheets&&V.forEach(function(e,t){r.Sheets[r.SheetNames[t]]["!autofilter"]=e}),r.Strings=v,r.SSF=Ke(z),R.enc&&(r.Encryption=R.enc),u&&(r.Themes=u),r.Metadata={},void 0!==h&&(r.Metadata.Country=h),L.names.length>0&&(A.Names=L.names),r.Workbook=A,r}(a.content,t);else if((s=Ce.find(e,"PerfectOffice_MAIN"))&&s.content)n=Ls.to_workbook(s.content,(t.type=i,t));else{if(!(s=Ce.find(e,"NativeContent_MAIN"))||!s.content)throw(s=Ce.find(e,"MN0"))&&s.content?new Error("Unsupported Works 4 for Mac file"):new Error("Cannot find Workbook stream");n=Ls.to_workbook(s.content,(t.type=i,t))}t.bookVBA&&e.FullPaths&&Ce.find(e,"/_VBA_PROJECT_CUR/VBA/dir")&&(n.vbaraw=function(e){var t=Ce.utils.cfb_new({root:"R"});return e.FullPaths.forEach(function(r,a){if("/"!==r.slice(-1)&&r.match(/_VBA_PROJECT_CUR/)){var n=r.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");Ce.utils.cfb_add(t,n,e.FileIndex[a].content)}}),Ce.write(t)}(e))}var o={};return e.FullPaths&&function(e,t,r){var a=Ce.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=Rn(a,Pa,bl.DSI);for(var s in n)t[s]=n[s]}catch(e){if(r.WTF)throw e}var i=Ce.find(e,"/!SummaryInformation");if(i&&i.size>0)try{var o=Rn(i,La,bl.SI);for(var c in o)null==t[c]&&(t[c]=o[c])}catch(e){if(r.WTF)throw e}t.HeadingPairs&&t.TitlesOfParts&&(ln(t.HeadingPairs,t.TitlesOfParts,t,r),delete t.HeadingPairs,delete t.TitlesOfParts)}(e,o,t),n.Props=n.Custprops=o,t.bookFiles&&(n.cfb=e),n}var Tl={0:{f:function(e,t){var r={},a=e.l+t;r.r=e.read_shift(4),e.l+=4;var n=e.read_shift(2);e.l+=1;var s=e.read_shift(1);return e.l=a,7&s&&(r.level=7&s),16&s&&(r.hidden=!0),32&s&&(r.hpt=n/20),r}},1:{f:function(e){return[la(e)]}},2:{f:function(e){return[la(e),Ta(e),"n"]}},3:{f:function(e){return[la(e),e.read_shift(1),"e"]}},4:{f:function(e){return[la(e),e.read_shift(1),"b"]}},5:{f:function(e){return[la(e),_a(e),"n"]}},6:{f:function(e){return[la(e),na(e),"str"]}},7:{f:function(e){return[la(e),e.read_shift(4),"s"]}},8:{f:function(e,t,r){var a=e.l+t,n=la(e);n.r=r["!row"];var s=[n,na(e),"str"];if(r.cellFormula){e.l+=2;var i=Vo(e,a-e.l,r);s[3]=Mo(i,0,n,r.supbooks,r)}else e.l=a;return s}},9:{f:function(e,t,r){var a=e.l+t,n=la(e);n.r=r["!row"];var s=[n,_a(e),"n"];if(r.cellFormula){e.l+=2;var i=Vo(e,a-e.l,r);s[3]=Mo(i,0,n,r.supbooks,r)}else e.l=a;return s}},10:{f:function(e,t,r){var a=e.l+t,n=la(e);n.r=r["!row"];var s=[n,e.read_shift(1),"b"];if(r.cellFormula){e.l+=2;var i=Vo(e,a-e.l,r);s[3]=Mo(i,0,n,r.supbooks,r)}else e.l=a;return s}},11:{f:function(e,t,r){var a=e.l+t,n=la(e);n.r=r["!row"];var s=[n,e.read_shift(1),"e"];if(r.cellFormula){e.l+=2;var i=Vo(e,a-e.l,r);s[3]=Mo(i,0,n,r.supbooks,r)}else e.l=a;return s}},12:{f:function(e){return[ha(e)]}},13:{f:function(e){return[ha(e),Ta(e),"n"]}},14:{f:function(e){return[ha(e),e.read_shift(1),"e"]}},15:{f:function(e){return[ha(e),e.read_shift(1),"b"]}},16:{f:Cc},17:{f:function(e){return[ha(e),na(e),"str"]}},18:{f:function(e){return[ha(e),e.read_shift(4),"s"]}},19:{f:oa},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:function(e,t,r){var a=e.l+t;e.l+=4,e.l+=1;var n=e.read_shift(4),s=va(e),i=Go(e,0,r),o=ma(e);e.l=a;var c={Name:s,Ptg:i};return n<268435455&&(c.Sheet=n),o&&(c.Comment=o),c}},40:{},42:{},43:{f:function(e,t,r){var a={};a.sz=e.read_shift(2)/20;var n=function(e){var t=e.read_shift(1);return e.l++,{fBold:1&t,fItalic:2&t,fUnderline:4&t,fStrikeout:8&t,fOutline:16&t,fShadow:32&t,fCondense:64&t,fExtend:128&t}}(e);switch(n.fItalic&&(a.italic=1),n.fCondense&&(a.condense=1),n.fExtend&&(a.extend=1),n.fShadow&&(a.shadow=1),n.fOutline&&(a.outline=1),n.fStrikeout&&(a.strike=1),700===e.read_shift(2)&&(a.bold=1),e.read_shift(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript"}var s=e.read_shift(1);0!=s&&(a.underline=s);var i=e.read_shift(1);i>0&&(a.family=i);var o=e.read_shift(1);switch(o>0&&(a.charset=o),e.l++,a.color=function(e){var t={},r=e.read_shift(1)>>>1,a=e.read_shift(1),n=e.read_shift(2,"i"),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(1);switch(e.l++,r){case 0:t.auto=1;break;case 1:t.index=a;var c=Wa[a];c&&(t.rgb=oi(c));break;case 2:t.rgb=oi([s,i,o]);break;case 3:t.theme=a}return 0!=n&&(t.tint=n>0?n/32767:n/32768),t}(e),e.read_shift(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor"}return a.name=na(e),a}},44:{f:function(e,t){return[e.read_shift(2),na(e)]}},45:{f:Ri},46:{f:Fi},47:{f:function(e,t){var r=e.l+t,a=e.read_shift(2),n=e.read_shift(2);return e.l=r,{ixfe:a,numFmtId:n}}},48:{},49:{f:function(e){return e.read_shift(4,"i")}},50:{},51:{f:function(e){for(var t=[],r=e.read_shift(4);r-- >0;)t.push([e.read_shift(4),e.read_shift(4)]);return t}},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:As},62:{f:function(e){return[la(e),oa(e),"is"]}},63:{f:function(e){var t={};t.i=e.read_shift(4);var r={};r.r=e.read_shift(4),r.c=e.read_shift(4),t.r=Kr(r);var a=e.read_shift(1);return 2&a&&(t.l="1"),8&a&&(t.a="1"),t}},64:{f:function(){}},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Pr,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:function(e){var t=e.read_shift(2);return e.l+=28,{RTL:32&t}}},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:function(e,t){var r={},a=e[e.l];return++e.l,r.above=!(64&a),r.left=!(128&a),e.l+=18,r.name=da(e,t-19),r}},148:{f:Ac,p:16},151:{f:function(){}},152:{},153:{f:function(e,t){var r={},a=e.read_shift(4);r.defaultThemeVersion=e.read_shift(4);var n=t>8?na(e):"";return n.length>0&&(r.CodeName=n),r.autoCompressPictures=!!(65536&a),r.backupFile=!!(64&a),r.checkCompatibility=!!(4096&a),r.date1904=!!(1&a),r.filterPrivacy=!!(8&a),r.hidePivotFieldList=!!(1024&a),r.promptedSolutions=!!(16&a),r.publishItems=!!(2048&a),r.refreshAllConnections=!!(262144&a),r.saveExternalLinkValues=!!(128&a),r.showBorderUnselectedTables=!!(4&a),r.showInkAnnotation=!!(32&a),r.showObjects=["all","placeholders","none"][a>>13&3],r.showPivotChartFilter=!!(32768&a),r.updateLinks=["userSet","never","always"][a>>8&3],r}},154:{},155:{},156:{f:function(e,t){var r={};return r.Hidden=e.read_shift(4),r.iTabID=e.read_shift(4),r.strRelID=ba(e,t-8),r.name=na(e),r}},157:{},158:{},159:{T:1,f:function(e){return[e.read_shift(4),e.read_shift(4)]}},160:{T:-1},161:{T:1,f:ya},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:Oc},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:function(e,t){return{flags:e.read_shift(4),version:e.read_shift(4),name:na(e)}}},336:{T:-1},337:{f:function(e){return e.l+=4,0!=e.read_shift(4)},T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:ba},357:{},358:{},359:{},360:{T:1},361:{},362:{f:Es},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:function(e,t,r){var a=e.l+t,n=Sa(e),s=e.read_shift(1),i=[n];if(i[2]=s,r.cellFormula){var o=zo(e,a-e.l,r);i[1]=o}else e.l=a;return i}},427:{f:function(e,t,r){var a=e.l+t,n=[ya(e,16)];if(r.cellFormula){var s=jo(e,a-e.l,r);n[1]=s,e.l=a}else e.l=a;return n}},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:function(e){var t={};return Ic.forEach(function(r){t[r]=_a(e)}),t}},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:function(){}},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:function(e,t){var r=e.l+t,a=ya(e,16),n=ma(e),s=na(e),i=na(e),o=na(e);e.l=r;var c={rfx:a,relId:n,loc:s,display:o};return i&&(c.Tooltip=i),c}},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:ba},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:to},633:{T:1},634:{T:-1},635:{T:1,f:function(e){var t={};t.iauthor=e.read_shift(4);var r=ya(e,16);return t.rfx=r.s,t.ref=Kr(r.s),e.l+=16,t}},636:{T:-1},637:{f:ca},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:function(e,t){return e.l+=10,{name:na(e)}}},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:function(){}},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}},El={6:{f:Wo},10:{f:Nn},12:{f:Pn},13:{f:Pn},14:{f:Dn},15:{f:Dn},16:{f:_a},17:{f:Dn},18:{f:Dn},19:{f:Pn},20:{f:vs},21:{f:vs},23:{f:Es},24:{f:Ts},25:{f:Dn},26:{},27:{},28:{f:function(e,t,r){return function(e,t,r){if(!(r.biff<8)){var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2),i=e.read_shift(2),o=Gn(e,0,r);return r.biff<8&&e.read_shift(1),[{r:a,c:n},o,i,s]}}(e,0,r)}},29:{},34:{f:Dn},35:{f:bs},38:{f:_a},39:{f:_a},40:{f:_a},41:{f:_a},42:{f:Dn},43:{f:Dn},47:{f:function(e,t,r){var a={Type:r.biff>=8?e.read_shift(2):0};return a.Type?function(e,t,r){var a=r||{};a.Info=e.read_shift(2),e.l-=2,1===a.Info?a.Data=function(e){var t={},r=t.EncryptionVersionInfo=qs(e,4);if(1!=r.Major||1!=r.Minor)throw"unrecognized version code "+r.Major+" : "+r.Minor;return t.Salt=e.read_shift(16),t.EncryptedVerifier=e.read_shift(16),t.EncryptedVerifierHash=e.read_shift(16),t}(e):a.Data=function(e,t){var r={},a=r.EncryptionVersionInfo=qs(e,4);if(t-=4,2!=a.Minor)throw new Error("unrecognized minor version code: "+a.Minor);if(a.Major>4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);r.Flags=e.read_shift(4),t-=4;var n=e.read_shift(4);return t-=4,r.EncryptionHeader=Qs(e,n),t-=n,r.EncryptionVerifier=ei(e,t),r}(e,t)}(e,t-2,a):function(e,t,r,a){var n,s,i,o={key:Pn(e),verificationBytes:Pn(e)};r.password&&(o.verifier=ni(r.password)),a.valid=o.verificationBytes===o.verifier,a.valid&&(a.insitu=(n=r.password,s=0,i=si(n),function(e){var t=function(e,t,r,a,n){var s,i;for(n||(n=t),a||(a=si("")),s=0;s!=t.length;++s)i=t[s],i=255&((i^=a[r])>>5|i<<3),n[s]=i,++r;return[n,r,a]}(0,e,s,i);return s=t[1],t[0]}))}(e,r.biff,r,a),a}},49:{f:function(e,t,r){var a={dyHeight:e.read_shift(2),fl:e.read_shift(2)};switch(r&&r.biff||8){case 2:break;case 3:case 4:e.l+=2;break;default:e.l+=10}return a.name=Bn(e,0,r),a}},51:{f:Pn},60:{},61:{f:function(e){return{Pos:[e.read_shift(2),e.read_shift(2)],Dim:[e.read_shift(2),e.read_shift(2)],Flags:e.read_shift(2),CurTab:e.read_shift(2),FirstTab:e.read_shift(2),Selected:e.read_shift(2),TabRatio:e.read_shift(2)}}},64:{f:Dn},65:{f:function(){}},66:{f:Pn},77:{},80:{},81:{},82:{},85:{f:Pn},89:{},90:{},91:{},92:{f:function(e,t,r){if(r.enc)return e.l+=t,"";var a=e.l,n=Gn(e,0,r);return e.read_shift(t+a-e.l),n}},93:{f:function(e,t,r){if(r&&r.biff<8)return function(e,t,r){e.l+=4;var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2);e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=6,t-=36;var i=[];return i.push((ys[a]||Pr)(e,t,r)),{cmo:[n,a,s],ft:i}}(e,t,r);var a=ss(e),n=function(e,t){for(var r=e.l+t,a=[];e.l7||t[1]>7)throw new Error("Bad Gutters: "+t.join("|"));return t}},129:{f:function(e,t,r){var a=r&&8==r.biff||2==t?e.read_shift(2):(e.l+=t,0);return{fDialog:16&a,fBelow:64&a,fRight:128&a}}},130:{f:Pn},131:{f:Dn},132:{f:Dn},133:{f:function(e,t,r){var a=e.read_shift(4),n=3&e.read_shift(1),s=e.read_shift(1);switch(s){case 0:s="Worksheet";break;case 1:s="Macrosheet";break;case 2:s="Chartsheet";break;case 6:s="VBAModule"}var i=Bn(e,0,r);return 0===i.length&&(i="Sheet1"),{pos:a,hs:n,dt:s,name:i}}},134:{},140:{f:function(e){var t,r=[0,0];return t=e.read_shift(2),r[0]=Ma[t]||t,t=e.read_shift(2),r[1]=Ma[t]||t,r}},141:{f:Pn},144:{},146:{f:function(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(Jn(e));return r}},151:{},152:{},153:{},154:{},155:{},156:{f:Pn},157:{},158:{},160:{f:Cs},161:{f:function(e,t){var r={};return t<32||(e.l+=16,r.header=_a(e),r.footer=_a(e),e.l+=2),r}},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:function(e,t){for(var r=e.l+t-2,a=e.read_shift(2),n=e.read_shift(2),s=[];e.l>2&1,a.data=function(e,t,r,a){var n={},s=e.read_shift(4),i=e.read_shift(4),o=e.read_shift(4),c=e.read_shift(2);return n.patternType=Ua[o>>26],a.cellStyles?(n.alc=7&s,n.fWrap=s>>3&1,n.alcV=s>>4&7,n.fJustLast=s>>7&1,n.trot=s>>8&255,n.cIndent=s>>16&15,n.fShrinkToFit=s>>20&1,n.iReadOrder=s>>22&2,n.fAtrNum=s>>26&1,n.fAtrFnt=s>>27&1,n.fAtrAlc=s>>28&1,n.fAtrBdr=s>>29&1,n.fAtrPat=s>>30&1,n.fAtrProt=s>>31&1,n.dgLeft=15&i,n.dgRight=i>>4&15,n.dgTop=i>>8&15,n.dgBottom=i>>12&15,n.icvLeft=i>>16&127,n.icvRight=i>>23&127,n.grbitDiag=i>>30&3,n.icvTop=127&o,n.icvBottom=o>>7&127,n.icvDiag=o>>14&127,n.dgDiag=o>>21&15,n.icvFore=127&c,n.icvBack=c>>7&127,n.fsxButton=c>>14&1,n):n}(e,0,a.fStyle,r),a}},225:{f:function(e,t){return 0===t||e.read_shift(2),1200}},226:{f:Nn},227:{},229:{f:function(e,t){for(var r=[],a=e.read_shift(2);a--;)r.push(ts(e));return r}},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:function(e,t){for(var r=e.l+t,a=e.read_shift(4),n=e.read_shift(4),s=[],i=0;i!=n&&e.l255)throw new Error("Unexpected SupBook type: "+s);for(var i=zn(e,s),o=[];a>e.l;)o.push(Vn(e));return[s,n,i,o]}},431:{f:Dn},432:{},433:{},434:{},437:{},438:{f:function(e,t,r){var a=e.l,n="";try{e.l+=4;var s=(r.lastobj||{cmo:[0,0]}).cmo[1];-1==[0,5,7,11,12,14].indexOf(s)?e.l+=6:function(e){var t=e.read_shift(1);e.l++;var r=e.read_shift(2);e.l+=2}(e);var i=e.read_shift(2);e.read_shift(2),Pn(e);var o=e.read_shift(2);e.l+=o;for(var c=1;c=(l?i:2*i))break}if(n.length!==i&&n.length!==2*i)throw new Error("cchText: "+i+" != "+n.length);return e.l=a+t,{t:n}}catch(r){return e.l=a+t,{t:n}}}},439:{f:Dn},440:{f:function(e,t){var r=ts(e);e.l+=16;var a=function(e,t){var r=e.l+t,a=e.read_shift(4);if(2!==a)throw new Error("Unrecognized streamVersion: "+a);var n=e.read_shift(2);e.l+=2;var s,i,o,c,l,f,h="";16&n&&(s=Xn(e,e.l)),128&n&&(i=Xn(e,e.l)),257&~n||(o=Xn(e,e.l)),1==(257&n)&&(c=function(e){var t=e.read_shift(16);switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return function(e){var t=e.read_shift(4),r=e.l,a=!1;t>24&&(e.l+=t-24,"795881f43b1d7f48af2c825dc4852763"===e.read_shift(16)&&(a=!0),e.l=r);var n=e.read_shift((a?t-24:t)>>1,"utf16le").replace(I,"");return a&&(e.l+=24),n}(e);case"0303000000000000c000000000000046":return function(e){for(var t=e.read_shift(2),r="";t-- >0;)r+="../";var a=e.read_shift(0,"lpstr-ansi");if(e.l+=2,57005!=e.read_shift(2))throw new Error("Bad FileMoniker");if(0===e.read_shift(4))return r+a.replace(/\\/g,"/");var n=e.read_shift(4);if(3!=e.read_shift(2))throw new Error("Bad FileMoniker");return r+e.read_shift(n>>1,"utf16le").replace(I,"")}(e);default:throw new Error("Unsupported Moniker "+t)}}(e,e.l)),8&n&&(h=Xn(e,e.l)),32&n&&(l=e.read_shift(16)),64&n&&(f=gn(e)),e.l=r;var u=i||o||c||"";u&&h&&(u+="#"+h),u||(u="#"+h),2&n&&"/"==u.charAt(0)&&"/"!=u.charAt(1)&&(u="file://"+u);var d={Target:u};return l&&(d.guid=l),f&&(d.time=f),s&&(d.Tooltip=s),d}(e,t-24);return[r,a]}},441:{},442:{f:Vn},443:{},444:{f:Pn},445:{},446:{},448:{f:Nn},449:{f:function(e){return e.read_shift(2),e.read_shift(4)},r:2},450:{f:Nn},512:{f:ps},513:{f:xs},515:{f:function(e,t,r){r.biffguess&&2==r.biff&&(r.biff=5);var a=qn(e),n=_a(e);return a.val=n,a}},516:{f:function(e,t,r){r.biffguess&&2==r.biff&&(r.biff=5),e.l;var a=qn(e);2==r.biff&&e.l++;var n=Vn(e,e.l,r);return a.val=n,a}},517:{f:gs},519:{f:Os},520:{f:function(e){var t={};t.r=e.read_shift(2),t.c=e.read_shift(2),t.cnt=e.read_shift(2)-t.c;var r=e.read_shift(2);e.l+=4;var a=e.read_shift(1);return e.l+=3,7&a&&(t.level=7&a),32&a&&(t.hidden=!0),64&a&&(t.hpt=r/20),t}},523:{},545:{f:Ss},549:{f:hs},566:{},574:{f:function(e,t,r){return r&&r.biff>=2&&r.biff<5?{}:{RTL:64&e.read_shift(2)}}},638:{f:function(e){var t=e.read_shift(2),r=e.read_shift(2),a=es(e);return{r:t,c:r,ixfe:a[0],rknum:a[1]}}},659:{},1048:{},1054:{f:function(e,t,r){return[e.read_shift(2),Gn(e,0,r)]}},1084:{},1212:{f:function(e,t,r){var a=as(e);e.l++;var n=e.read_shift(1);return[Bo(e,t-=8,r),n,a]}},2048:{f:function(e,t){e.read_shift(2);var r=ts(e),a=e.read_shift((t-10)/2,"dbcs-cont");return[r,a=a.replace(I,"")]}},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:cs},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Nn},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:function(e){e.l+=2;var t={cxfs:0,crc:0};return t.cxfs=e.read_shift(2),t.crc=e.read_shift(4),t},r:12},2173:{f:function(e,t){e.l,e.l+=2;var r=e.read_shift(2);e.l+=2;for(var a=e.read_shift(2),n=[];a-- >0;)n.push(Xi(e,e.l));return{ixfe:r,ext:n}},r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:Dn,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:function(e,t,r){if(!(r.biff<8)){var a=e.read_shift(2),n=e.read_shift(2);return[zn(e,a,r),zn(e,n,r)]}e.l+=t},r:12},2197:{},2198:{f:function(e,t,r){var a=e.l+t;if(124226!==e.read_shift(4))if(r.cellStyles){var n,s=e.slice(e.l);e.l=a;try{n=ht(s,{type:"array"})}catch(e){return}var i=it(n,"theme/theme/theme1.xml",!0);if(i)return Gi(i,r)}else e.l=a},r:12},2199:{},2200:{},2201:{},2202:{f:function(e){return[0!==e.read_shift(4),0!==e.read_shift(4),e.read_shift(4)]},r:12},2203:{f:Nn},2204:{},2205:{},2206:{},2207:{},2211:{f:function(e){var t=function(e){var t=e.read_shift(2),r=e.read_shift(2);return e.l+=8,{type:t,flags:r}}(e);if(2211!=t.type)throw new Error("Invalid Future Record "+t.type);return 0!==e.read_shift(4)}},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:Pn},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:function(e,t,r){var a={area:!1};if(5!=r.biff)return e.l+=t,a;var n=e.read_shift(1);return e.l+=3,16&n&&(a.area=!0),a}},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:function(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(Jn(e));return r}},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:ps},1:{},2:{f:function(e){var t=qn(e);++e.l;var r=e.read_shift(2);return t.t="n",t.val=r,t}},3:{f:function(e){var t=qn(e);++e.l;var r=_a(e);return t.t="n",t.val=r,t}},4:{f:function(e,t,r){r.biffguess&&5==r.biff&&(r.biff=2);var a=qn(e);++e.l;var n=Gn(e,0,r);return a.t="str",a.val=n,a}},5:{f:gs},7:{f:function(e){var t=e.read_shift(1);return 0===t?(e.l++,""):e.read_shift(t,"sbcs-cont")}},8:{},9:{f:cs},11:{},22:{f:Pn},30:{f:ds},31:{},32:{},33:{f:Ss},36:{},37:{f:hs},50:{f:function(e,t){e.l+=6,e.l+=2,e.l+=1,e.l+=3,e.l+=1,e.l+=t-13}},62:{},52:{},67:{},68:{f:Pn},69:{},86:{},126:{},127:{f:function(e){var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n={fmt:t,env:r,len:a,data:e.slice(e.l,e.l+a)};return e.l+=a,n}},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:function(e,t,r){var a=e.l+t,n=qn(e),s=e.read_shift(2),i=zn(e,s,r);return e.l=a,n.t="str",n.val=i,n}},223:{},234:{},354:{},421:{},518:{f:Wo},521:{f:cs},536:{f:Ts},547:{f:bs},561:{},579:{},1030:{f:Wo},1033:{f:cs},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function Sl(e,t,r,a){var n=t;if(!isNaN(n)){var s=a||(r||[]).length||0,i=e.next(4);i.write_shift(2,n),i.write_shift(2,s),s>0&&Tr(r)&&e.push(r)}}function yl(e,t,r){return e||(e=Lr(7)),e.write_shift(2,t),e.write_shift(2,r),e.write_shift(2,0),e.write_shift(1,0),e}function kl(e,t,r,a){if(null!=t.v)switch(t.t){case"d":case"n":var n="d"==t.t?Ue($e(t.v)):t.v;return void(n==(0|n)&&n>=0&&n<65536?Sl(e,2,(s=r,i=a,o=n,c=Lr(9),yl(c,s,i),c.write_shift(2,o),c)):Sl(e,3,function(e,t,r){var a=Lr(15);return yl(a,e,t),a.write_shift(8,r,"f"),a}(r,a,n)));case"b":case"e":return void Sl(e,5,function(e,t,r,a){var n=Lr(9);return yl(n,e,t),Un(r,a||"b",n),n}(r,a,t.v,t.t));case"s":case"str":return void Sl(e,4,function(e,t,r){var a=Lr(8+2*r.length);return yl(a,e,t),a.write_shift(1,r.length),a.write_shift(r.length,r,"sbcs"),a.l255||m.e.r>=g){if(t.WTF)throw new Error("Range "+(c["!ref"]||"A1")+" exceeds format limit A1:IV16384");m.e.c=Math.min(m.e.c,255),m.e.r=Math.min(m.e.c,g-1)}Sl(i,2057,ls(0,16,t)),Sl(i,13,Ln(1)),Sl(i,12,Ln(100)),Sl(i,15,Fn(!0)),Sl(i,17,Fn(!1)),Sl(i,16,Aa(.001)),Sl(i,95,Fn(!0)),Sl(i,42,Fn(!1)),Sl(i,43,Fn(!1)),Sl(i,130,Ln(1)),Sl(i,128,(n=[0,0],(s=Lr(8)).write_shift(4,0),s.write_shift(2,n[0]?n[0]+1:0),s.write_shift(2,n[1]?n[1]+1:0),s)),Sl(i,131,Fn(!1)),Sl(i,132,Fn(!1)),u&&function(e,t){if(t){var r=0;t.forEach(function(t,a){++r<=256&&t&&Sl(e,125,function(e,t){var r=Lr(12);r.write_shift(2,t),r.write_shift(2,t),r.write_shift(2,256*e.width),r.write_shift(2,0);var a=0;return e.hidden&&(a|=1),r.write_shift(1,a),a=e.level||0,r.write_shift(1,a),r.write_shift(2,0),r}(ac(a,t),a))})}}(i,c["!cols"]),Sl(i,512,function(e,t){var r=8!=t.biff&&t.biff?2:4,a=Lr(2*r+6);return a.write_shift(r,e.s.r),a.write_shift(r,e.e.r+1),a.write_shift(2,e.s.c),a.write_shift(2,e.e.c+1),a.write_shift(2,0),a}(m,t)),u&&(c["!links"]=[]);for(var v=m.s.r;v<=m.e.r;++v){d=jr(v);for(var b=m.s.c;b<=m.e.c;++b){v===m.s.r&&(p[b]=$r(b)),a=p[b]+d;var w=h?(c[v]||[])[b]:c[a];w&&(_l(i,w,v,b,t),u&&w.l&&c["!links"].push([a,w.l]))}}var T=f.CodeName||f.name||o;return u&&Sl(i,574,function(e){var t=Lr(18),r=1718;return e&&e.RTL&&(r|=64),t.write_shift(2,r),t.write_shift(4,0),t.write_shift(4,64),t.write_shift(4,0),t.write_shift(4,0),t}((l.Views||[])[0])),u&&(c["!merges"]||[]).length&&Sl(i,229,function(e){var t=Lr(2+8*e.length);t.write_shift(2,e.length);for(var r=0;r255&&"undefined"!=typeof console&&console.error&&console.error("Worksheet '"+e.SheetNames[r]+"' extends beyond column IV (255). Data may be lost.")}var n=t||{};switch(n.biff||2){case 8:case 5:return function(e,t){var r=t||{},a=[];e&&!e.SSF&&(e.SSF=Ke(z)),e&&e.SSF&&(ye(),Se(e.SSF),r.revssf=Le(e.SSF),r.revssf[e.SSF[65535]]=0,r.ssf=e.SSF),r.Strings=[],r.Strings.Count=0,r.Strings.Unique=0,wf(r),r.cellXfs=[],sc(r.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});for(var n=0;n255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(t["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255),i.e.r=Math.min(i.e.c,16383),n=qr(i)}for(var l=i.s.r;l<=i.e.r;++l){o=jr(l);for(var f=i.s.c;f<=i.e.c;++f){l===i.s.r&&(c[f]=$r(f)),n=c[f]+o;var h=s?(t[l]||[])[f]:t[n];h&&kl(e,h,l,f)}}}(a,e.Sheets[e.SheetNames[n]],0,r),Sl(a,10),a.end()}(e,t)}throw new Error("invalid type "+n.bookType+" for BIFF")}function Ol(e,t){var r=t||{};null!=b&&null==r.dense&&(r.dense=b);var a=r.dense?[]:{},n=(e=e.replace(//g,"")).match(/");var s=e.match(/<\/table/i),i=n.index,o=s&&s.index||e.length,c=et(e.slice(i,o),/(:?]*>)/i,""),l=-1,f=0,h=0,u=0,d={s:{r:1e7,c:1e7},e:{r:0,c:0}},p=[];for(i=0;i/i);for(o=0;o"))>-1;)T=T.slice(E+1);for(var S=0;S")));u=k.colspan?+k.colspan:1,((h=+k.rowspan)>1||u>1)&&p.push({s:{r:l,c:f},e:{r:l+(h||1)-1,c:f+u-1}});var _=k.t||k["data-t"]||"";if(T.length)if(T=Bt(T),d.s.r>l&&(d.s.r=l),d.e.rf&&(d.s.c=f),d.e.cr||n[l].s.c>i||n[l].e.r1&&(d.rowspan=o),c>1&&(d.colspan=c),a.editable?u=''+u+"":h&&(d["data-t"]=h&&h.t||"z",null!=h.v&&(d["data-v"]=h.v),null!=h.z&&(d["data-z"]=h.z),h.l&&"#"!=(h.l.Target||"#").charAt(0)&&(u=''+u+"")),d.id=(a.id||"sjs")+"-"+f,s.push($t("td",u,d))}}return""+s.join("")+""}var Il='SheetJS Table Export',Nl="";function Dl(e,t,r){return[].join("")+""}function Fl(e,t){var r=t||{},a=null!=r.header?r.header:Il,n=null!=r.footer?r.footer:Nl,s=[a],i=Jr(e["!ref"]);r.dense=Array.isArray(e),s.push(Dl(0,0,r));for(var o=i.s.r;o<=i.e.r;++o)s.push(Rl(e,i,o,r));return s.push("
"+n),s.join("")}function Pl(e,t,r){var a=r||{};null!=b&&(a.dense=b);var n=0,s=0;if(null!=a.origin)if("number"==typeof a.origin)n=a.origin;else{var i="string"==typeof a.origin?Yr(a.origin):a.origin;n=i.r,s=i.c}var o=t.getElementsByTagName("tr"),c=Math.min(a.sheetRows||1e7,o.length),l={s:{r:0,c:0},e:{r:n,c:s}};if(e["!ref"]){var f=Jr(e["!ref"]);l.s.r=Math.min(l.s.r,f.s.r),l.s.c=Math.min(l.s.c,f.s.c),l.e.r=Math.max(l.e.r,f.e.r),l.e.c=Math.max(l.e.c,f.e.c),-1==n&&(l.e.r=n=f.e.r+1)}var h=[],u=0,d=e["!rows"]||(e["!rows"]=[]),p=0,m=0,g=0,v=0,w=0,T=0;for(e["!cols"]||(e["!cols"]=[]);p1||T>1)&&h.push({s:{r:m+n,c:v+s},e:{r:m+n+(w||1)-1,c:v+s+(T||1)-1}});var x={t:"s",v:k},C=y.getAttribute("data-t")||y.getAttribute("t")||"";null!=k&&(0==k.length?x.t=C||"z":a.raw||0==k.trim().length||"s"==C||("TRUE"===k?x={t:"b",v:!0}:"FALSE"===k?x={t:"b",v:!1}:isNaN(qe(k))?isNaN(Qe(k).getDate())||(x={t:"d",v:$e(k)},a.cellDates||(x={t:"n",v:Ue(x.v)}),x.z=a.dateNF||z[14]):x={t:"n",v:qe(k)})),void 0===x.z&&null!=_&&(x.z=_);var O="",R=y.getElementsByTagName("A");if(R&&R.length)for(var I=0;I=c&&(e["!fullref"]=qr((l.e.r=o.length-p+m-1+n,l))),e}function Ll(e,t){return Pl((t||{}).dense?[]:{},e,t)}function Ml(e){var t="",r=function(e){return e.ownerDocument.defaultView&&"function"==typeof e.ownerDocument.defaultView.getComputedStyle?e.ownerDocument.defaultView.getComputedStyle:"function"==typeof getComputedStyle?getComputedStyle:null}(e);return r&&(t=r(e).getPropertyValue("display")),t||(t=e.style&&e.style.display),"none"===t}function Ul(e){var t=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,t){return Array(parseInt(t,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");return[yt(t.replace(/<[^>]*>/g,""))]}var Bl={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function Wl(e,t){var r=t||{};null!=b&&null==r.dense&&(r.dense=b);var a,n,s,i,o,c,l=Kt(e),f=[],h={name:""},u="",d=0,p={},m=[],g=r.dense?[]:{},v={value:""},w="",T=0,E=[],S=-1,y=-1,k={s:{r:1e6,c:1e7},e:{r:0,c:0}},_=0,A={},x=[],C={},O=[],R=1,I=1,N=[],D={Names:[]},F={},P=["",""],L=[],M={},U="",B=0,W=!1,H=!1,z=0;for(Jt.lastIndex=0,l=l.replace(//gm,"").replace(//gm,"");o=Jt.exec(l);)switch(o[3]=o[3].replace(/_.*$/,"")){case"table":case"工作表":"/"===o[1]?(k.e.c>=k.s.c&&k.e.r>=k.s.r?g["!ref"]=qr(k):g["!ref"]="A1:A1",r.sheetRows>0&&r.sheetRows<=k.e.r&&(g["!fullref"]=g["!ref"],k.e.r=r.sheetRows-1,g["!ref"]=qr(k)),x.length&&(g["!merges"]=x),O.length&&(g["!rows"]=O),s.name=s["名称"]||s.name,"undefined"!=typeof JSON&&JSON.stringify(s),m.push(s.name),p[s.name]=g,H=!1):"/"!==o[0].charAt(o[0].length-2)&&(s=wt(o[0],!1),S=y=-1,k.s.r=k.s.c=1e7,k.e.r=k.e.c=0,g=r.dense?[]:{},x=[],O=[],H=!0);break;case"table-row-group":"/"===o[1]?--_:++_;break;case"table-row":case"行":if("/"===o[1]){S+=R,R=1;break}if((i=wt(o[0],!1))["行号"]?S=i["行号"]-1:-1==S&&(S=0),(R=+i["number-rows-repeated"]||1)<10)for(z=0;z0&&(O[S+z]={level:_});y=-1;break;case"covered-table-cell":"/"!==o[1]&&++y,r.sheetStubs&&(r.dense?(g[S]||(g[S]=[]),g[S][y]={t:"z"}):g[Kr({r:S,c:y})]={t:"z"}),w="",E=[];break;case"table-cell":case"数据":if("/"===o[0].charAt(o[0].length-2))++y,v=wt(o[0],!1),I=parseInt(v["number-columns-repeated"]||"1",10),c={t:"z",v:null},v.formula&&0!=r.cellFormula&&(c.f=Ko(yt(v.formula))),"string"==(v["数据类型"]||v["value-type"])&&(c.t="s",c.v=yt(v["string-value"]||""),r.dense?(g[S]||(g[S]=[]),g[S][y]=c):g[Kr({r:S,c:y})]=c),y+=I-1;else if("/"!==o[1]){w="",T=0,E=[],I=1;var V=R?S+R-1:S;if(++y>k.e.c&&(k.e.c=y),yk.e.r&&(k.e.r=V),L=[],M={},c={t:(v=wt(o[0],!1))["数据类型"]||v["value-type"],v:null},r.cellFormula)if(v.formula&&(v.formula=yt(v.formula)),v["number-matrix-columns-spanned"]&&v["number-matrix-rows-spanned"]&&(C={s:{r:S,c:y},e:{r:S+(parseInt(v["number-matrix-rows-spanned"],10)||0)-1,c:y+(parseInt(v["number-matrix-columns-spanned"],10)||0)-1}},c.F=qr(C),N.push([C,c.F])),v.formula)c.f=Ko(v.formula);else for(z=0;z=N[z][0].s.r&&S<=N[z][0].e.r&&y>=N[z][0].s.c&&y<=N[z][0].e.c&&(c.F=N[z][1]);switch((v["number-columns-spanned"]||v["number-rows-spanned"])&&(C={s:{r:S,c:y},e:{r:S+(parseInt(v["number-rows-spanned"],10)||0)-1,c:y+(parseInt(v["number-columns-spanned"],10)||0)-1}},x.push(C)),v["number-columns-repeated"]&&(I=parseInt(v["number-columns-repeated"],10)),c.t){case"boolean":c.t="b",c.v=It(v["boolean-value"]);break;case"float":case"percentage":case"currency":c.t="n",c.v=parseFloat(v.value);break;case"date":c.t="d",c.v=$e(v["date-value"]),r.cellDates||(c.t="n",c.v=Ue(c.v)),c.z="m/d/yy";break;case"time":c.t="n",c.v=Ve(v["time-value"])/86400,r.cellDates&&(c.t="d",c.v=ze(c.v)),c.z="HH:MM:SS";break;case"number":c.t="n",c.v=parseFloat(v["数据数值"]);break;default:if("string"!==c.t&&"text"!==c.t&&c.t)throw new Error("Unsupported value type "+c.t);c.t="s",null!=v["string-value"]&&(w=yt(v["string-value"]),E=[])}}else{if(W=!1,"s"===c.t&&(c.v=w||"",E.length&&(c.R=E),W=0==T),F.Target&&(c.l=F),L.length>0&&(c.c=L,L=[]),w&&!1!==r.cellText&&(c.w=w),W&&(c.t="z",delete c.v),(!W||r.sheetStubs)&&!(r.sheetRows&&r.sheetRows<=S))for(var G=0;G0;)g[S+G][y+I]=Ke(c);else for(g[Kr({r:S+G,c:y})]=c;--I>0;)g[Kr({r:S+G,c:y+I})]=Ke(c);k.e.c<=y&&(k.e.c=y)}y+=(I=parseInt(v["number-columns-repeated"]||"1",10))-1,I=0,c={},w="",E=[]}F={};break;case"document":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":case"font-face-decls":case"master-styles":if("/"===o[1]){if((a=f.pop())[0]!==o[3])throw"Bad state: "+a}else"/"!==o[0].charAt(o[0].length-2)&&f.push([o[3],!0]);break;case"annotation":if("/"===o[1]){if((a=f.pop())[0]!==o[3])throw"Bad state: "+a;M.t=w,E.length&&(M.R=E),M.a=U,L.push(M)}else"/"!==o[0].charAt(o[0].length-2)&&f.push([o[3],!1]);U="",B=0,w="",T=0,E=[];break;case"creator":"/"===o[1]?U=l.slice(B,o.index):B=o.index+o[0].length;break;case"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"event-listeners":case"chart":if("/"===o[1]){if((a=f.pop())[0]!==o[3])throw"Bad state: "+a}else"/"!==o[0].charAt(o[0].length-2)&&f.push([o[3],!1]);w="",T=0,E=[];break;case"scientific-number":case"currency-symbol":case"currency-style":case"script":case"libraries":case"automatic-styles":case"default-style":case"page-layout":case"style":case"map":case"font-face":case"paragraph-properties":case"table-properties":case"table-column-properties":case"table-row-properties":case"table-cell-properties":case"fraction":case"boolean-style":case"boolean":case"text-style":case"text-content":case"text-properties":case"embedded-text":case"body":case"电子表格":case"forms":case"table-column":case"table-header-rows":case"table-rows":case"table-column-group":case"table-header-columns":case"table-columns":case"null-date":case"graphic-properties":case"calculation-settings":case"named-expressions":case"label-range":case"label-ranges":case"named-expression":case"sort":case"sort-by":case"sort-groups":case"tab":case"line-break":case"span":case"s":case"date":case"object":case"title":case"标题":case"desc":case"binary-data":case"table-source":case"scenario":case"iteration":case"content-validations":case"content-validation":case"help-message":case"error-message":case"database-ranges":case"filter":case"filter-and":case"filter-or":case"filter-condition":case"list-level-style-bullet":case"list-level-style-number":case"list-level-properties":case"sender-firstname":case"sender-lastname":case"sender-initials":case"sender-title":case"sender-position":case"sender-email":case"sender-phone-private":case"sender-fax":case"sender-company":case"sender-phone-work":case"sender-street":case"sender-city":case"sender-postal-code":case"sender-country":case"sender-state-or-province":case"author-name":case"author-initials":case"chapter":case"file-name":case"template-name":case"sheet-name":case"event-listener":case"initial-creator":case"creation-date":case"print-date":case"generator":case"document-statistic":case"user-defined":case"editing-duration":case"editing-cycles":case"config-item":case"page-number":case"page-count":case"time":case"cell-range-source":case"detective":case"operation":case"highlighted-range":case"data-pilot-table":case"source-cell-range":case"source-service":case"data-pilot-field":case"data-pilot-level":case"data-pilot-subtotals":case"data-pilot-subtotal":case"data-pilot-members":case"data-pilot-member":case"data-pilot-display-info":case"data-pilot-sort-info":case"data-pilot-layout-info":case"data-pilot-field-reference":case"data-pilot-groups":case"data-pilot-group":case"data-pilot-group-member":case"rect":case"dde-connection-decls":case"dde-connection-decl":case"dde-link":case"dde-source":case"properties":case"property":case"table-protection":case"data-pilot-grand-total":case"office-document-common-attrs":break;case"number-style":case"percentage-style":case"date-style":case"time-style":if("/"===o[1]){if(A[h.name]=u,(a=f.pop())[0]!==o[3])throw"Bad state: "+a}else"/"!==o[0].charAt(o[0].length-2)&&(u="",h=wt(o[0],!1),f.push([o[3],!0]));break;case"number":case"day":case"month":case"year":case"era":case"day-of-week":case"week-of-year":case"quarter":case"hours":case"minutes":case"seconds":case"am-pm":switch(f[f.length-1][0]){case"time-style":case"date-style":n=wt(o[0],!1),u+=Bl[o[3]]["long"===n.style?1:0]}break;case"text":if("/>"===o[0].slice(-2))break;if("/"===o[1])switch(f[f.length-1][0]){case"number-style":case"date-style":case"time-style":u+=l.slice(d,o.index)}else d=o.index+o[0].length;break;case"named-range":P=qo((n=wt(o[0],!1))["cell-range-address"]);var j={Name:n.name,Ref:P[0]+"!"+P[1]};H&&(j.Sheet=m.length),D.Names.push(j);break;case"p":case"文本串":if(["master-styles"].indexOf(f[f.length-1][0])>-1)break;if("/"!==o[1]||v&&v["string-value"])wt(o[0],!1),T=o.index+o[0].length;else{var X=Ul(l.slice(T,o.index));w=(w.length>0?w+"\n":"")+X[0]}break;case"database-range":if("/"===o[1])break;try{p[(P=qo(wt(o[0])["target-range-address"]))[0]]["!autofilter"]={ref:P[1]}}catch(e){}break;case"a":if("/"!==o[1]){if(!(F=wt(o[0],!1)).href)break;F.Target=yt(F.href),delete F.href,"#"==F.Target.charAt(0)&&F.Target.indexOf(".")>-1?(P=qo(F.Target.slice(1)),F.Target="#"+P[0]+"!"+P[1]):F.Target.match(/^\.\.[\\\/]/)&&(F.Target=F.Target.slice(3))}break;default:switch(o[2]){case"dc:":case"calcext:":case"loext:":case"ooo:":case"chartooo:":case"draw:":case"style:":case"chart:":case"form:":case"uof:":case"表:":case"字:":break;default:if(r.WTF)throw new Error(o)}}var $={Sheets:p,SheetNames:m,Workbook:D};return r.bookSheets&&delete $.Sheets,$}function Hl(e,t){t=t||{},at(e,"META-INF/manifest.xml")&&function(e,t){for(var r,a,n=Kt(e);r=Jt.exec(n);)switch(r[3]){case"manifest":break;case"file-entry":if("/"==(a=wt(r[0],!1)).path&&a.type!==qa)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":case"algorithm":case"start-key-generation":case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(t&&t.WTF)throw r}}(st(e,"META-INF/manifest.xml"),t);var r=it(e,"content.xml");if(!r)throw new Error("Missing content.xml in ODS / UOF file");var a=Wl(Lt(r),t);return at(e,"meta.xml")&&(a.Props=an(st(e,"meta.xml"))),a}function zl(e,t){return Wl(e,t)}var Vl=function(){var e=["",'',"",'',"",'',"",""].join(""),t=""+e+"";return function(){return dt+t}}(),Gl=function(){var e=function(e){return At(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")},t=" \n",r=function(r,a,n){var s=[];s.push(' \n');var i=0,o=0,c=Jr(r["!ref"]||"A1"),l=r["!merges"]||[],f=0,h=Array.isArray(r);if(r["!cols"])for(o=0;o<=c.e.c;++o)s.push(" \n");var u="",d=r["!rows"]||[];for(i=0;i\n");for(;i<=c.e.r;++i){for(u=d[i]?' table:style-name="ro'+d[i].ods+'"':"",s.push(" \n"),o=0;oo||l[f].s.r>i||l[f].e.c\n");else{var v=Kr({r:i,c:o}),b=h?(r[i]||[])[o]:r[v];if(b&&b.f&&(m["table:formula"]=At(Jo(b.f)),b.F&&b.F.slice(0,v.length)==v)){var w=Jr(b.F);m["table:number-matrix-columns-spanned"]=w.e.c-w.s.c+1,m["table:number-matrix-rows-spanned"]=w.e.r-w.s.r+1}if(b){switch(b.t){case"b":g=b.v?"TRUE":"FALSE",m["office:value-type"]="boolean",m["office:boolean-value"]=b.v?"true":"false";break;case"n":g=b.w||String(b.v||0),m["office:value-type"]="float",m["office:value"]=b.v||0;break;case"s":case"str":g=null==b.v?"":b.v,m["office:value-type"]="string";break;case"d":g=b.w||$e(b.v).toISOString(),m["office:value-type"]="date",m["office:date-value"]=$e(b.v).toISOString(),m["table:style-name"]="ce1";break;default:s.push(t);continue}var T=e(g);if(b.l&&b.l.Target){var E=b.l.Target;"#"==(E="#"==E.charAt(0)?"#"+Zo(E.slice(1)):E).charAt(0)||E.match(/^\w+:/)||(E="../"+E),T=$t("text:a",T,{"xlink:href":E.replace(/&/g,"&")})}s.push(" "+$t("table:table-cell",$t("text:p",T,{}),m)+"\n")}else s.push(t)}}s.push(" \n")}return s.push(" \n"),s.join("")};return function(e,t){var a=[dt],n=Xt({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"}),s=Xt({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});"fods"==t.bookType?(a.push("\n"),a.push(en().replace(/office:document-meta/g,"office:meta"))):a.push("\n"),function(e,t){e.push(" \n"),e.push(' \n'),e.push(' \n'),e.push(" /\n"),e.push(' \n'),e.push(" /\n"),e.push(" \n"),e.push(" \n");var r=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!cols"])for(var a=0;a\n'),e.push(' \n'),e.push(" \n"),++r}});var a=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!rows"])for(var r=0;r\n'),e.push(' \n'),e.push(" \n"),++a}}),e.push(' \n'),e.push(' \n'),e.push(" \n"),e.push(' \n'),e.push(" \n")}(a,e),a.push(" \n"),a.push(" \n");for(var i=0;i!=e.SheetNames.length;++i)a.push(r(e.Sheets[e.SheetNames[i]],e,i));return a.push(" \n"),a.push(" \n"),"fods"==t.bookType?a.push(""):a.push(""),a.join("")}}();function jl(e,t){if("fods"==t.bookType)return Gl(e,t);var r=ft(),a="",n=[],s=[];return lt(r,a="mimetype","application/vnd.oasis.opendocument.spreadsheet"),lt(r,a="content.xml",Gl(e,t)),n.push([a,"text/xml"]),s.push([a,"ContentFile"]),lt(r,a="styles.xml",Vl(e,t)),n.push([a,"text/xml"]),s.push([a,"StylesFile"]),lt(r,a="meta.xml",dt+en()),n.push([a,"text/xml"]),s.push([a,"MetadataFile"]),lt(r,a="manifest.rdf",function(e){var t=[dt];t.push('\n');for(var r=0;r!=e.length;++r)t.push(Za(e[r][0],e[r][1])),t.push(Qa("",e[r][0]));return t.push(Za("","Document","pkg")),t.push(""),t.join("")}(s)),n.push([a,"application/rdf+xml"]),lt(r,a="META-INF/manifest.xml",function(e){var t=[dt];t.push('\n'),t.push(' \n');for(var r=0;r\n');return t.push(""),t.join("")}(n)),r}function Xl(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function $l(e){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(e):Lt(C(e))}function Yl(e){return"undefined"!=typeof TextEncoder?(new TextEncoder).encode(e):A(Mt(e))}function Kl(e){var t=e.reduce(function(e,t){return e+t.length},0),r=new Uint8Array(t),a=0;return e.forEach(function(e){r.set(e,a),a+=e.length}),r}function Jl(e){return 16843009*((e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135)>>>24}function ql(e,t){var r=t?t[0]:0,a=127&e[r];e:if(e[r++]>=128){if(a|=(127&e[r])<<7,e[r++]<128)break e;if(a|=(127&e[r])<<14,e[r++]<128)break e;if(a|=(127&e[r])<<21,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,28),++r,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,35),++r,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,42),++r,e[r++]<128)break e}return t&&(t[0]=r),a}function Zl(e){var t=new Uint8Array(7);t[0]=127&e;var r=1;e:if(e>127){if(t[r-1]|=128,t[r]=e>>7&127,++r,e<=16383)break e;if(t[r-1]|=128,t[r]=e>>14&127,++r,e<=2097151)break e;if(t[r-1]|=128,t[r]=e>>21&127,++r,e<=268435455)break e;if(t[r-1]|=128,t[r]=e/256>>>21&127,++r,e<=34359738367)break e;if(t[r-1]|=128,t[r]=e/65536>>>21&127,++r,e<=4398046511103)break e;t[r-1]|=128,t[r]=e/16777216>>>21&127,++r}return t.slice(0,r)}function Ql(e){var t=0,r=127&e[t];e:if(e[t++]>=128){if(r|=(127&e[t])<<7,e[t++]<128)break e;if(r|=(127&e[t])<<14,e[t++]<128)break e;if(r|=(127&e[t])<<21,e[t++]<128)break e;r|=(127&e[t])<<28}return r}function ef(e){for(var t=[],r=[0];r[0]=128;);a=e.slice(c,r[0]);break;case 5:o=4,a=e.slice(r[0],r[0]+o),r[0]+=o;break;case 1:o=8,a=e.slice(r[0],r[0]+o),r[0]+=o;break;case 2:o=ql(e,r),a=e.slice(r[0],r[0]+o),r[0]+=o;break;default:throw new Error("PB Type ".concat(i," for Field ").concat(s," at offset ").concat(n))}var l={data:a,type:i};null==t[s]?t[s]=[l]:t[s].push(l)}return t}function tf(e){var t=[];return e.forEach(function(e,r){e.forEach(function(e){e.data&&(t.push(Zl(8*r+e.type)),2==e.type&&t.push(Zl(e.data.length)),t.push(e.data))})}),Kl(t)}function rf(e,t){return(null==e?void 0:e.map(function(e){return t(e.data)}))||[]}function af(e){for(var t,r=[],a=[0];a[0]>>0>0),r.push(i)}return r}function nf(e){var t=[];return e.forEach(function(e){var r=[];r[1]=[{data:Zl(e.id),type:0}],r[2]=[],null!=e.merge&&(r[3]=[{data:Zl(+!!e.merge),type:0}]);var a=[];e.messages.forEach(function(e){a.push(e.data),e.meta[3]=[{type:0,data:Zl(e.data.length)}],r[2].push({data:tf(e.meta),type:2})});var n=tf(r);t.push(Zl(n.length)),t.push(n),a.forEach(function(e){return t.push(e)})}),Kl(t)}function sf(e,t){if(0!=e)throw new Error("Unexpected Snappy chunk type ".concat(e));for(var r=[0],a=ql(t,r),n=[];r[0]>2&7),i=(224&t[r[0]++])<<3,i|=t[r[0]++]):(o=1+(t[r[0]++]>>2),2==s?(i=t[r[0]]|t[r[0]+1]<<8,r[0]+=2):(i=(t[r[0]]|t[r[0]+1]<<8|t[r[0]+2]<<16|t[r[0]+3]<<24)>>>0,r[0]+=4)),n=[Kl(n)],0==i)throw new Error("Invalid offset 0");if(i>n[0].length)throw new Error("Invalid offset beyond length");if(o>=i)for(n.push(n[0].slice(-i)),o-=i;o>=n[n.length-1].length;)n.push(n[n.length-1]),o-=n[n.length-1].length;n.push(n[0].slice(-i,-i+o))}else{var c=t[r[0]++]>>2;if(c<60)++c;else{var l=c-59;c=t[r[0]],l>1&&(c|=t[r[0]+1]<<8),l>2&&(c|=t[r[0]+2]<<16),l>3&&(c|=t[r[0]+3]<<24),c>>>=0,c++,r[0]+=l}n.push(t.slice(r[0],r[0]+c)),r[0]+=c}}var f=Kl(n);if(f.length!=a)throw new Error("Unexpected length: ".concat(f.length," != ").concat(a));return f}function of(e){for(var t=[],r=0;r>8&255]))):a<=16777216?(i+=4,t.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))):a<=4294967296&&(i+=5,t.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))),t.push(e.slice(r,r+a)),i+=a,n[0]=0,n[1]=255&i,n[2]=i>>8&255,n[3]=i>>16&255,r+=a}return Kl(t)}function lf(e,t){var r=new Uint8Array(32),a=Xl(r),n=12,s=0;switch(r[0]=5,e.t){case"n":r[1]=2,function(e,t,r){var a=Math.floor(0==r?0:Math.LOG10E*Math.log(Math.abs(r)))+6176-20,n=r/Math.pow(10,a-6176);e[t+15]|=a>>7,e[t+14]|=(127&a)<<1;for(var s=0;n>=1;++s,n/=256)e[t+s]=255&n;e[t+15]|=r>=0?0:128}(r,n,e.v),s|=1,n+=16;break;case"b":r[1]=6,a.setFloat64(n,e.v?1:0,!0),s|=2,n+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));r[1]=3,a.setUint32(n,t.indexOf(e.v),!0),s|=8,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(8,s,!0),r.slice(0,n)}function ff(e,t){var r=new Uint8Array(32),a=Xl(r),n=12,s=0;switch(r[0]=3,e.t){case"n":r[2]=2,a.setFloat64(n,e.v,!0),s|=32,n+=8;break;case"b":r[2]=6,a.setFloat64(n,e.v?1:0,!0),s|=32,n+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));r[2]=3,a.setUint32(n,t.indexOf(e.v),!0),s|=16,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(4,s,!0),r.slice(0,n)}function hf(e,t,r){switch(e[0]){case 0:case 1:case 2:case 3:return function(e,t,r,a){var n,s=Xl(e),i=s.getUint32(4,!0),o=(a>1?12:8)+4*Jl(i&(a>1?3470:398)),c=-1,l=-1,f=NaN,h=new Date(2001,0,1);switch(512&i&&(c=s.getUint32(o,!0),o+=4),o+=4*Jl(i&(a>1?12288:4096)),16&i&&(l=s.getUint32(o,!0),o+=4),32&i&&(f=s.getFloat64(o,!0),o+=8),64&i&&(h.setTime(h.getTime()+1e3*s.getFloat64(o,!0)),o+=8),e[2]){case 0:break;case 2:n={t:"n",v:f};break;case 3:n={t:"s",v:t[l]};break;case 5:n={t:"d",v:h};break;case 6:n={t:"b",v:f>0};break;case 7:n={t:"n",v:f/86400};break;case 8:n={t:"e",v:0};break;case 9:if(c>-1)n={t:"s",v:r[c]};else if(l>-1)n={t:"s",v:t[l]};else{if(isNaN(f))throw new Error("Unsupported cell type ".concat(e.slice(0,4)));n={t:"n",v:f}}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}return n}(e,t,r,e[0]);case 5:return function(e,t,r){var a,n=Xl(e),s=n.getUint32(8,!0),i=12,o=-1,c=-1,l=NaN,f=NaN,h=new Date(2001,0,1);switch(1&s&&(l=function(e,t){for(var r=(127&e[t+15])<<7|e[t+14]>>1,a=1&e[t+14],n=t+13;n>=t;--n)a=256*a+e[n];return(128&e[t+15]?-a:a)*Math.pow(10,r-6176)}(e,i),i+=16),2&s&&(f=n.getFloat64(i,!0),i+=8),4&s&&(h.setTime(h.getTime()+1e3*n.getFloat64(i,!0)),i+=8),8&s&&(c=n.getUint32(i,!0),i+=4),16&s&&(o=n.getUint32(i,!0),i+=4),e[1]){case 0:break;case 2:case 10:a={t:"n",v:l};break;case 3:a={t:"s",v:t[c]};break;case 5:a={t:"d",v:h};break;case 6:a={t:"b",v:f>0};break;case 7:a={t:"n",v:f/86400};break;case 8:a={t:"e",v:0};break;case 9:if(!(o>-1))throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)));a={t:"s",v:r[o]};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)))}return a}(e,t,r);default:throw new Error("Unsupported payload version ".concat(e[0]))}}function uf(e){return ql(ef(e)[1][0].data)}function df(e,t){var r=ef(t.data),a=Ql(r[1][0].data),n=r[3],s=[];return(n||[]).forEach(function(t){var r=ef(t.data),n=Ql(r[1][0].data)>>>0;switch(a){case 1:s[n]=$l(r[3][0].data);break;case 8:var i=ef(e[uf(r[9][0].data)][0].data),o=e[uf(i[1][0].data)][0],c=Ql(o.meta[1][0].data);if(2001!=c)throw new Error("2000 unexpected reference to ".concat(c));var l=ef(o.data);s[n]=l[3].map(function(e){return $l(e.data)}).join("")}}),s}function pf(e,t){var r={"!ref":"A1"},a=e[uf(ef(t.data)[2][0].data)],n=Ql(a[0].meta[1][0].data);if(6001!=n)throw new Error("6000 unexpected reference to ".concat(n));return function(e,t,r){var a,n=ef(t.data),s={s:{r:0,c:0},e:{r:0,c:0}};if(s.e.r=(Ql(n[6][0].data)>>>0)-1,s.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));if(s.e.c=(Ql(n[7][0].data)>>>0)-1,s.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));r["!ref"]=qr(s);var i=ef(n[4][0].data),o=df(e,e[uf(i[4][0].data)][0]),c=(null==(a=i[17])?void 0:a[0])?df(e,e[uf(i[17][0].data)][0]):[],l=ef(i[3][0].data),f=0;l[1].forEach(function(t){var a=ef(t.data),n=e[uf(a[2][0].data)][0],s=Ql(n.meta[1][0].data);if(6002!=s)throw new Error("6001 unexpected reference to ".concat(s));var i=function(e,t){var r,a=ef(t.data),n=(null==(r=null==a?void 0:a[7])?void 0:r[0])?Ql(a[7][0].data)>>>0>0?1:0:-1,s=rf(a[5],function(e){return function(e,t){var r,a,n,s,i,o,c,l,f,h,u,d,p,m,g,v,b=ef(e),w=Ql(b[1][0].data)>>>0,T=Ql(b[2][0].data)>>>0,E=(null==(a=null==(r=b[8])?void 0:r[0])?void 0:a.data)&&Ql(b[8][0].data)>0||!1;if((null==(s=null==(n=b[7])?void 0:n[0])?void 0:s.data)&&0!=t)g=null==(o=null==(i=b[7])?void 0:i[0])?void 0:o.data,v=null==(l=null==(c=b[6])?void 0:c[0])?void 0:l.data;else{if(!(null==(h=null==(f=b[4])?void 0:f[0])?void 0:h.data)||1==t)throw"NUMBERS Tile missing ".concat(t," cell storage");g=null==(d=null==(u=b[4])?void 0:u[0])?void 0:d.data,v=null==(m=null==(p=b[3])?void 0:p[0])?void 0:m.data}for(var S=E?4:1,y=Xl(g),k=[],_=0;_=1&&(x[k[k.length-1][0]]=v.subarray(k[k.length-1][1]*S)),{R:w,cells:x}}(e,n)});return{nrows:Ql(a[4][0].data)>>>0,data:s.reduce(function(e,t){return e[t.R]||(e[t.R]=[]),t.cells.forEach(function(r,a){if(e[t.R][a])throw new Error("Duplicate cell r=".concat(t.R," c=").concat(a));e[t.R][a]=r}),e},[])}}(0,n);i.data.forEach(function(e,t){e.forEach(function(e,a){var n=Kr({r:f+t,c:a}),s=hf(e,o,c);s&&(r[n]=s)})}),f+=i.nrows})}(e,a[0],r),r}function mf(e){var t,r,a,n,s={},i=[];if(e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),e.FileIndex.forEach(function(e){if(e.name.match(/\.iwa$/)){var t,r;try{t=of(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}try{r=af(t)}catch(e){return console.log("## "+(e.message||e))}r.forEach(function(e){s[e.id]=e.messages,i.push(e.id)})}}),!i.length)throw new Error("File has no messages");var o=(null==(n=null==(a=null==(r=null==(t=null==s?void 0:s[1])?void 0:t[0])?void 0:r.meta)?void 0:a[1])?void 0:n[0].data)&&1==Ql(s[1][0].meta[1][0].data)&&s[1][0];if(o||i.forEach(function(e){s[e].forEach(function(e){if(1==Ql(e.meta[1][0].data)>>>0){if(o)throw new Error("Document has multiple roots");o=e}})}),!o)throw new Error("Cannot find Document root");return function(e,t){var r={SheetNames:[],Sheets:{}};if(rf(ef(t.data)[1],uf).forEach(function(t){e[t].forEach(function(t){if(2==Ql(t.meta[1][0].data)){var a=function(e,t){var r,a=ef(t.data),n={name:(null==(r=a[1])?void 0:r[0])?$l(a[1][0].data):"",sheets:[]};return rf(a[2],uf).forEach(function(t){e[t].forEach(function(t){6e3==Ql(t.meta[1][0].data)&&n.sheets.push(pf(e,t))})}),n}(e,t);a.sheets.forEach(function(e,t){Kf(r,e,0==t?a.name:a.name+"_"+t,!0)})}})}),0==r.SheetNames.length)throw new Error("Empty NUMBERS file");return r}(s,o)}function gf(e,t,r){var a,n,s,i;if(!(null==(a=e[6])?void 0:a[0])||!(null==(n=e[7])?void 0:n[0]))throw"Mutation only works on post-BNC storages!";if((null==(i=null==(s=e[8])?void 0:s[0])?void 0:i.data)&&Ql(e[8][0].data)>0)throw"Math only works with normal offsets";for(var o=0,c=Xl(e[7][0].data),l=0,f=[],h=Xl(e[4][0].data),u=0,d=[],p=0;p0)i.push(c);else if(a.T<0)i.pop();else if(!o||t.WTF)throw new Error("Unexpected record 0x"+c.toString(16))}},t),a["!id"][s["!rel"]]&&(s["!drawel"]=a["!id"][s["!rel"]]),s}(e,a,r,n,s):function(e,t,r,a,n){if(!e)return e;a||(a={"!id":{}});var s,i={"!type":"chart","!drawel":null,"!rel":""},o=e.match(mc);return o&&bc(o[0],0,n,r),(s=e.match(/drawing r:id="(.*?)"/))&&(i["!rel"]=s[1]),a["!id"][i["!rel"]]&&(i["!drawel"]=a["!id"][i["!rel"]]),i}(e,0,r,n,s)}(d,t,n,c,s[a],l))||!u["!drawel"])break;var p=ut(u["!drawel"].Target,t),m=$a(p),g=function(e,t){if(!e)return"??";var r=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return t["!id"][r].Target}(it(e,p,!0),Ya(it(e,m,!0),p)),v=ut(g,p),b=$a(v);u=function(e,t,r,a,n,s){var i=s||{"!type":"chart"};if(!e)return s;var o=0,c=0,l="A",f={s:{r:2e6,c:2e6},e:{r:0,c:0}};return(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var t=function(e){var t,r=[],a=e.match(/^/);(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var t=e.match(/(.*)<\/c:v><\/c:pt>/);t&&(r[+t[1]]=a?+t[2]:t[2])});var n=yt((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);return(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){t=e.replace(/<.*?>/g,"")}),[r,n,t]}(e);f.s.r=f.s.c=0,f.e.c=o,l=$r(o),t[0].forEach(function(e,r){i[l+jr(r)]={t:"n",v:e,z:t[1]},c=r}),f.e.r0&&(i["!ref"]=qr(f)),i}(it(e,v,!0),0,0,Ya(it(e,b,!0),v),0,u);break;case"macro":T=t,s[a],T.slice(-4),u={"!type":"macro"};break;case"dialog":u=function(e,t){return t.slice(-4),{"!type":"dialog"}}(0,t,s[a]);break;default:throw new Error("Unrecognized sheet type "+o)}i[a]=u;var w=[];s&&s[a]&&De(s[a]).forEach(function(r){var n="";if(s[a][r].Type==Xa.CMNT){n=ut(s[a][r].Target,t);var i=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r=[],a=[],n={},s=!1;return Mr(e,function(e,i,o){switch(o){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t,n.h=e.h,n.r=e.r;break;case 636:if(n.author=a[n.iauthor],delete n.iauthor,t.sheetRows&&n.rfx&&t.sheetRows<=n.rfx.r)break;n.t||(n.t=""),delete n.rfx,r.push(n);break;case 3072:case 37:case 38:break;case 35:s=!0;break;case 36:s=!1;break;default:if(i.T);else if(!s||t.WTF)throw new Error("Unexpected record 0x"+o.toString(16))}}),r}(e,r):function(e,t){if(e.match(/<(?:\w+:)?comments *\/>/))return[];var r=[],a=[],n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);n&&n[1]&&n[1].split(/<\/\w*:?author>/).forEach(function(e){if(""!==e&&""!==e.trim()){var t=e.match(/<(?:\w+:)?author[^>]*>(.*)/);t&&r.push(t[1])}});var s=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);return s&&s[1]&&s[1].split(/<\/\w*:?comment>/).forEach(function(e){if(""!==e&&""!==e.trim()){var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(n){var s=wt(n[0]),i={author:s.authorId&&r[s.authorId]||"sheetjsghost",ref:s.ref,guid:s.guid},o=Yr(s.ref);if(!(t.sheetRows&&t.sheetRows<=o.r)){var c=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/),l=!!c&&!!c[1]&&zs(c[1])||{r:"",t:"",h:""};i.r=l.r,""==l.r&&(l.t=l.h=""),i.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"),t.cellHTML&&(i.h=l.h),a.push(i)}}}}),a}(e,r)}(st(e,n,!0),n,c);if(!i||!i.length)return;Zi(u,i,!1)}s[a][r].Type==Xa.TCMNT&&(n=ut(s[a][r].Target,t),w=w.concat(function(e,t){var r=[],a=!1,n={},s=0;return e.replace(gt,function(i,o){var c=wt(i);switch(Tt(c[0])){case"":case"":case"":case"":break;case"":null!=n.t&&r.push(n);break;case"":case"":n.t=e.slice(s,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":case"":case"":a=!1;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+c[0]+" in threaded comments")}return i}),r}(st(e,n,!0),c)))}),w&&w.length&&Zi(u,w,!0,c.people||[])}catch(e){if(c.WTF)throw e}var T}function Ef(e){return"/"==e.charAt(0)?e.slice(1):e}function Sf(e,t){if(ye(),bf(t=t||{}),at(e,"META-INF/manifest.xml"))return Hl(e,t);if(at(e,"objectdata.xml"))return Hl(e,t);if(at(e,"Index/Document.iwa")){if("undefined"==typeof Uint8Array)throw new Error("NUMBERS file parsing requires Uint8Array support");if(void 0!==mf){if(e.FileIndex)return mf(e);var r=Ce.utils.cfb_new();return ct(e).forEach(function(t){lt(r,t,ot(e,t))}),mf(r)}throw new Error("Unsupported NUMBERS file")}if(!at(e,"[Content_Types].xml")){if(at(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(at(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a,n,s=ct(e),i=function(e){var t={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};if(!e||!e.match)return t;var r={};if((e.match(gt)||[]).forEach(function(e){var a=wt(e);switch(a[0].replace(vt,"<")){case"0?t.calcchains[0]:"",t.sst=t.strs.length>0?t.strs[0]:"",t.style=t.styles.length>0?t.styles[0]:"",t.defaults=r,delete t.calcchains,t}(it(e,"[Content_Types].xml")),o=!1;if(0===i.workbooks.length&&st(e,n="xl/workbook.xml",!0)&&i.workbooks.push(n),0===i.workbooks.length){if(!st(e,n="xl/workbook.bin",!0))throw new Error("Could not find workbook");i.workbooks.push(n),o=!0}"bin"==i.workbooks[0].slice(-3)&&(o=!0);var c={},l={};if(!t.bookSheets&&!t.bookProps){if(Qo=[],i.sst)try{Qo=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r=[],a=!1;return Mr(e,function(e,n,s){switch(s){case 159:r.Count=e[0],r.Unique=e[1];break;case 19:r.push(e);break;case 160:return!0;case 35:a=!0;break;case 36:a=!1;break;default:if(n.T,!a||t.WTF)throw new Error("Unexpected record 0x"+s.toString(16))}}),r}(e,r):function(e,t){var r=[],a="";if(!e)return r;var n=e.match(Vs);if(n){a=n[2].replace(Gs,"").split(js);for(var s=0;s!=a.length;++s){var i=zs(a[s].trim(),t);null!=i&&(r[r.length]=i)}n=wt(n[1]),r.Count=n.count,r.Unique=n.uniqueCount}return r}(e,r)}(st(e,Ef(i.sst)),i.sst,t)}catch(e){if(t.WTF)throw e}t.cellStyles&&i.themes.length&&(c=function(e,t,r){return Gi(e,r)}(it(e,i.themes[0].replace(/^\//,""),!0)||"",i.themes[0],t)),i.style&&(l=function(e,t,r,a){return".bin"===t.slice(-4)?function(e,t,r){var a={NumberFmt:[]};for(var n in z)a.NumberFmt[n]=z[n];a.CellXf=[],a.Fonts=[];var s=[],i=!1;return Mr(e,function(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1],Ee(e[1],e[0]);break;case 43:a.Fonts.push(e),null!=e.color.theme&&t&&t.themeElements&&t.themeElements.clrScheme&&(e.color.rgb=ci(t.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0));break;case 1025:case 45:case 46:case 48:case 507:case 572:case 475:case 1171:case 2102:case 1130:case 512:case 2095:case 3072:break;case 47:617==s[s.length-1]&&a.CellXf.push(e);break;case 35:i=!0;break;case 36:i=!1;break;case 37:s.push(o),i=!0;break;case 38:s.pop(),i=!1;break;default:if(n.T>0)s.push(o);else if(n.T<0)s.pop();else if(!i||r.WTF&&37!=s[s.length-1])throw new Error("Unexpected record 0x"+o.toString(16))}}),a}(e,r,a):_i(e,r,a)}(st(e,Ef(i.style)),i.style,c,t))}i.links.map(function(r){try{return Ya(it(e,$a(Ef(r))),r),function(e,t,r,a){if(".bin"===r.slice(-4))return function(e,t,r,a){if(!e)return e;var n=a||{},s=!1;Mr(e,function(e,t,r){switch(r){case 359:case 363:case 364:case 366:case 367:case 368:case 369:case 370:case 371:case 472:case 577:case 578:case 579:case 580:case 581:case 582:case 583:case 584:case 585:case 586:case 587:break;case 35:s=!0;break;case 36:s=!1;break;default:if(t.T);else if(!s||n.WTF)throw new Error("Unexpected record 0x"+r.toString(16))}},n)}(e,0,0,a)}(st(e,Ef(r)),0,r,t)}catch(e){}});var f=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""},a=[],n=!1;t||(t={}),t.biff=12;var s=[],i=[[]];return i.SheetNames=[],i.XTI=[],Tl[16]={n:"BrtFRTArchID$",f:$c},Mr(e,function(e,o,c){switch(c){case 156:i.SheetNames.push(e.name),r.Sheets.push(e);break;case 153:r.WBProps=e;break;case 39:null!=e.Sheet&&(t.SID=e.Sheet),e.Ref=Mo(e.Ptg,0,null,i,t),delete t.SID,delete e.Ptg,s.push(e);break;case 1036:case 361:case 2071:case 158:case 143:case 664:case 353:case 3072:case 3073:case 534:case 677:case 157:case 610:case 2050:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 596:case 2076:case 2075:case 2082:case 397:case 154:case 1117:case 553:case 2091:case 16:break;case 357:case 358:case 355:case 667:i[0].length?i.push([c,e]):i[0]=[c,e],i[i.length-1].XTI=[];break;case 362:0===i.length&&(i[0]=[],i[0].XTI=[]),i[i.length-1].XTI=i[i.length-1].XTI.concat(e),i.XTI=i.XTI.concat(e);break;case 35:case 37:a.push(c),n=!0;break;case 36:case 38:a.pop(),n=!1;break;default:if(o.T);else if(!n||t.WTF&&37!=a[a.length-1]&&35!=a[a.length-1])throw new Error("Unexpected record 0x"+c.toString(16))}},t),Wc(r),r.Names=s,r.supbooks=i,r}(e,r):function(e,t){if(!e)throw new Error("Could not find file");var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:""},a=!1,n="xmlns",s={},i=0;if(e.replace(gt,function(o,c){var l=wt(o);switch(Tt(l[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":Fc.forEach(function(e){if(null!=l[e[0]])switch(e[2]){case"bool":r.WBProps[e[0]]=It(l[e[0]]);break;case"int":r.WBProps[e[0]]=parseInt(l[e[0]],10);break;default:r.WBProps[e[0]]=l[e[0]]}}),l.codeName&&(r.WBProps.CodeName=Lt(l.codeName));break;case"":delete l[0],r.WBView.push(l);break;case"":case"":a=!0;break;case"":case"":case"":a=!1;break;case"":s.Ref=yt(Lt(e.slice(i,c))),r.Names.push(s);break;case"":delete l[0],r.CalcPr=l;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+l[0]+" in workbook")}return o}),-1===Zt.indexOf(r.xmlns))throw new Error("Unknown Namespace: "+r.xmlns);return Wc(r),r}(e,r)}(st(e,Ef(i.workbooks[0])),i.workbooks[0],t),h={},u="";i.coreprops.length&&((u=st(e,Ef(i.coreprops[0]),!0))&&(h=an(u)),0!==i.extprops.length&&(u=st(e,Ef(i.extprops[0]),!0))&&function(e,t,r){var a={};t||(t={}),e=Lt(e),on.forEach(function(r){var n=(e.match(Ut(r[0]))||[])[1];switch(r[2]){case"string":n&&(t[r[1]]=yt(n));break;case"bool":t[r[1]]="true"===n;break;case"raw":var s=e.match(new RegExp("<"+r[0]+"[^>]*>([\\s\\S]*?)"));s&&s.length>0&&(a[r[1]]=s[1])}}),a.HeadingPairs&&a.TitlesOfParts&&ln(a.HeadingPairs,a.TitlesOfParts,t,r)}(u,h,t));var d={};t.bookSheets&&!t.bookProps||0!==i.custprops.length&&(u=it(e,Ef(i.custprops[0]),!0))&&(d=function(e,t){var r={},a="",n=e.match(hn);if(n)for(var s=0;s!=n.length;++s){var i=n[s],o=wt(i);switch(o[0]){case"":a=null;break;default:if(0===i.indexOf(""),l=c[0].slice(4),f=c[1];switch(l){case"lpstr":case"bstr":case"lpwstr":case"cy":case"error":r[a]=yt(f);break;case"bool":r[a]=It(f);break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":r[a]=parseInt(f,10);break;case"r4":case"r8":case"decimal":r[a]=parseFloat(f);break;case"filetime":case"date":r[a]=$e(f);break;default:if("/"==l.slice(-1))break;t.WTF&&"undefined"!=typeof console&&console.warn("Unexpected",i,l,c)}}else if("0&&(a=h.SheetNames),t.bookProps&&(p.Props=h,p.Custprops=d),t.bookSheets&&void 0!==a&&(p.SheetNames=a),t.bookSheets?p.SheetNames:t.bookProps))return p;a={};var m,g={};t.bookDeps&&i.calcchain&&(m=st(e,Ef(i.calcchain)),g=".bin"===i.calcchain.slice(-4)?function(e){var t=[];return Mr(e,function(e,r,a){if(63===a)t.push(e);else if(!r.T)throw new Error("Unexpected record 0x"+a.toString(16))}),t}(m):function(e){var t=[];if(!e)return t;var r=1;return(e.match(gt)||[]).forEach(function(e){var a=wt(e);switch(a[0]){case"":case"":break;case"=1&&(t.xlmeta=function(e,t,r){return".bin"===t.slice(-4)?function(e,t,r){var a={Types:[],Cell:[],Value:[]},n=r||{},s=[],i=!1,o=2;return Mr(e,function(e,t,r){switch(r){case 335:a.Types.push({name:e.name});break;case 51:e.forEach(function(e){1==o?a.Cell.push({type:a.Types[e[0]-1].name,index:e[1]}):0==o&&a.Value.push({type:a.Types[e[0]-1].name,index:e[1]})});break;case 337:o=e?1:0;break;case 338:o=2;break;case 35:s.push(r),i=!0;break;case 36:s.pop(),i=!1;break;default:if(t.T);else if(!i||n.WTF&&35!=s[s.length-1])throw new Error("Unexpected record 0x"+r.toString(16))}}),a}(e,0,r):function(e,t,r){var a={Types:[],Cell:[],Value:[]};if(!e)return a;var n,s=!1,i=2;return e.replace(gt,function(e){var t=wt(e);switch(Tt(t[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":i=2;break;case"":s=!1;break;case"=1&&(t.people=function(e,t){var r=[],a=!1;return e.replace(gt,function(e){var n=wt(e);switch(Tt(n[0])){case"":case"":case"":case"":case"":break;case"":a=!1;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments")}return e}),r}(st(e,Ef(i.people[0])),t)),A&&(A=function(e,t){if(!e)return 0;try{e=t.map(function(t){return t.id||(t.id=t.strRelID),[t.name,e["!id"][t.id].Target,(r=e["!id"][t.id].Type,Xa.WS.indexOf(r)>-1?"sheet":Xa.CS&&r==Xa.CS?"chart":Xa.DS&&r==Xa.DS?"dialog":Xa.MS&&r==Xa.MS?"macro":r&&r.length?r:"sheet")];var r})}catch(e){return null}return e&&0!==e.length?e:null}(A,f.Sheets));var x=st(e,"xl/worksheets/sheet.xml",!0)?1:0;e:for(w=0;w!=h.Worksheets;++w){var C="sheet";if(A&&A[w]?(v="xl/"+A[w][1].replace(/[\/]?xl\//,""),at(e,v)||(v=A[w][1]),at(e,v)||(v=_.replace(/_rels\/.*$/,"")+A[w][1]),C=A[w][2]):v=(v="xl/worksheets/sheet"+(w+1-x)+"."+y).replace(/sheet0\./,"sheet."),b=v.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),t&&null!=t.sheets)switch(typeof t.sheets){case"number":if(w!=t.sheets)continue e;break;case"string":if(h.SheetNames[w].toLowerCase()!=t.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(t.sheets)){for(var O=!1,R=0;R!=t.sheets.length;++R)"number"==typeof t.sheets[R]&&t.sheets[R]==w&&(O=1),"string"==typeof t.sheets[R]&&t.sheets[R].toLowerCase()==h.SheetNames[w].toLowerCase()&&(O=1);if(!O)continue e}}Tf(e,v,b,h.SheetNames[w],w,T,a,C,t,f,c,l)}return p={Directory:i,Workbook:f,Props:h,Custprops:d,Deps:g,Sheets:a,SheetNames:h.SheetNames,Strings:Qo,Styles:l,Themes:c,SSF:Ke(z)},t&&t.bookFiles&&(e.files?(p.keys=s,p.files=e.files):(p.keys=[],p.files={},e.FullPaths.forEach(function(t,r){t=t.replace(/^Root Entry[\/]/,""),p.keys.push(t),p.files[t]=e.FileIndex[r]}))),t&&t.bookVBA&&(i.vba.length>0?p.vbaraw=st(e,Ef(i.vba[0]),!0):i.defaults&&i.defaults.bin===ao&&(p.vbaraw=st(e,"xl/vbaProject.bin",!0))),p}function yf(e,t){var r,a,n=t||{},s="Workbook",i=Ce.find(e,s);try{if(s="/!DataSpaces/Version",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(r=i.content,(a={}).id=r.read_shift(0,"lpp4"),a.R=qs(r,4),a.U=qs(r,4),a.W=qs(r,4),s="/!DataSpaces/DataSpaceMap",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var o=function(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(Zs(e));return t}(i.content);if(1!==o.length||1!==o[0].comps.length||0!==o[0].comps[0].t||"StrongEncryptionDataSpace"!==o[0].name||"EncryptedPackage"!==o[0].comps[0].v)throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var c=function(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(e.read_shift(0,"lpp4"));return t}(i.content);if(1!=c.length||"StrongEncryptionTransform"!=c[0])throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);!function(e){var t=function(e){var t={};return e.read_shift(4),e.l+=4,t.id=e.read_shift(0,"lpp4"),t.name=e.read_shift(0,"lpp4"),t.R=qs(e,4),t.U=qs(e,4),t.W=qs(e,4),t}(e);if(t.ename=e.read_shift(0,"8lpp4"),t.blksz=e.read_shift(4),t.cmode=e.read_shift(4),4!=e.read_shift(4))throw new Error("Bad !Primary record")}(i.content)}catch(e){}if(s="/EncryptionInfo",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var l=function(e){var t=qs(e);switch(t.Minor){case 2:return[t.Minor,ti(e)];case 3:return[t.Minor,ri()];case 4:return[t.Minor,ai(e)]}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+t.Minor)}(i.content);if(s="/EncryptedPackage",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(4==l[0]&&"undefined"!=typeof decrypt_agile)return decrypt_agile(l[1],i.content,n.password||"",n);if(2==l[0]&&"undefined"!=typeof decrypt_std76)return decrypt_std76(l[1],i.content,n.password||"",n);throw new Error("File is password-protected")}function kf(e,t){return"ods"==t.bookType?jl(e,t):"numbers"==t.bookType?function(e,t){if(!t||!t.numbers)throw new Error("Must pass a `numbers` option -- check the README");var r=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error("The Numbers writer currently writes only the first table");var a=Jr(r["!ref"]);a.s.r=a.s.c=0;var n=!1;a.e.c>9&&(n=!0,a.e.c=9),a.e.r>49&&(n=!0,a.e.r=49),n&&console.error("The Numbers writer is currently limited to ".concat(qr(a)));var s=zf(r,{range:a,header:1}),i=["~Sh33tJ5~"];s.forEach(function(e){return e.forEach(function(e){"string"==typeof e&&i.push(e)})});var o={},c=[],l=Ce.read(t.numbers,{type:"base64"});l.FileIndex.map(function(e,t){return[e,l.FullPaths[t]]}).forEach(function(e){var t=e[0],r=e[1];2==t.type&&t.name.match(/\.iwa/)&&af(of(t.content)).forEach(function(e){c.push(e.id),o[e.id]={deps:[],location:r,type:Ql(e.messages[0].meta[1][0].data)}})}),c.sort(function(e,t){return e-t});var f=c.filter(function(e){return e>1}).map(function(e){return[e,Zl(e)]});l.FileIndex.map(function(e,t){return[e,l.FullPaths[t]]}).forEach(function(e){var t=e[0];e[1],t.name.match(/\.iwa/)&&af(of(t.content)).forEach(function(e){e.messages.forEach(function(t){f.forEach(function(t){e.messages.some(function(e){return 11006!=Ql(e.meta[1][0].data)&&function(e,t){e:for(var r=0;r<=e.length-t.length;++r){for(var a=0;a-1,n={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};wf(t=t||{});var s=ft(),i="",o=0;if(t.cellXfs=[],sc(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),lt(s,i="docProps/core.xml",sn(e.Props,t)),n.coreprops.push(i),Ja(t.rels,2,i,Xa.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var c=[],l=0;l0&&(lt(s,i="docProps/custom.xml",un(e.Custprops)),n.custprops.push(i),Ja(t.rels,4,i,Xa.CUST_PROPS)),o=1;o<=e.SheetNames.length;++o){var f={"!id":{}},h=e.Sheets[e.SheetNames[o-1]];if((h||{})["!type"],lt(s,i="xl/worksheets/sheet"+o+"."+r,Jc(o-1,i,t,e,f)),n.sheets.push(i),Ja(t.wbrels,-1,"worksheets/sheet"+o+"."+r,Xa.WS[0]),h){var u=h["!comments"],d=!1,p="";u&&u.length>0&&(lt(s,p="xl/comments"+o+"."+r,qc(u,p,t)),n.comments.push(p),Ja(f,-1,"../comments"+o+"."+r,Xa.CMNT),d=!0),h["!legacy"]&&d&<(s,"xl/drawings/vmlDrawing"+o+".vml",qi(o,h["!comments"])),delete h["!comments"],delete h["!legacy"]}f["!id"].rId1&<(s,$a(i),Ka(f))}return null!=t.Strings&&t.Strings.length>0&&(lt(s,i="xl/sharedStrings."+r,function(e,t,r){return(".bin"===t.slice(-4)?Ks:$s)(e,r)}(t.Strings,i,t)),n.strs.push(i),Ja(t.wbrels,-1,"sharedStrings."+r,Xa.SST)),lt(s,i="xl/workbook."+r,function(e,t,r){return(".bin"===t.slice(-4)?Yc:jc)(e,r)}(e,i,t)),n.workbooks.push(i),Ja(t.rels,1,i,Xa.WB),lt(s,i="xl/theme/theme1.xml",ji(e.Themes,t)),n.themes.push(i),Ja(t.wbrels,-1,"theme/theme1.xml",Xa.THEME),lt(s,i="xl/styles."+r,function(e,t,r){return(".bin"===t.slice(-4)?Pi:Ai)(e,r)}(e,i,t)),n.styles.push(i),Ja(t.wbrels,-1,"styles."+r,Xa.STY),e.vbaraw&&a&&(lt(s,i="xl/vbaProject.bin",e.vbaraw),n.vba.push(i),Ja(t.wbrels,-1,"vbaProject.bin",Xa.VBA)),lt(s,i="xl/metadata."+r,(".bin"===i.slice(-4)?Yi:Ki)()),n.metadata.push(i),Ja(t.wbrels,-1,"metadata."+r,Xa.XLMETA),lt(s,"[Content_Types].xml",ja(n,t)),lt(s,"_rels/.rels",Ka(t.rels)),lt(s,"xl/_rels/workbook."+r+".rels",Ka(t.wbrels)),delete t.revssf,delete t.ssf,s}(e,t):_f(e,t)}function _f(e,t){Ji=1024,e&&!e.SSF&&(e.SSF=Ke(z)),e&&e.SSF&&(ye(),Se(e.SSF),t.revssf=Le(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,tc?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r="xml",a=no.indexOf(t.bookType)>-1,n={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};wf(t=t||{});var s=ft(),i="",o=0;if(t.cellXfs=[],sc(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),lt(s,i="docProps/core.xml",sn(e.Props,t)),n.coreprops.push(i),Ja(t.rels,2,i,Xa.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var c=[],l=0;l0&&(lt(s,i="docProps/custom.xml",un(e.Custprops)),n.custprops.push(i),Ja(t.rels,4,i,Xa.CUST_PROPS));var f=["SheetJ5"];for(t.tcid=0,o=1;o<=e.SheetNames.length;++o){var h={"!id":{}},u=e.Sheets[e.SheetNames[o-1]];if((u||{})["!type"],lt(s,i="xl/worksheets/sheet"+o+"."+r,kc(o-1,t,e,h)),n.sheets.push(i),Ja(t.wbrels,-1,"worksheets/sheet"+o+"."+r,Xa.WS[0]),u){var d=u["!comments"],p=!1,m="";if(d&&d.length>0){var g=!1;d.forEach(function(e){e[1].forEach(function(e){1==e.T&&(g=!0)})}),g&&(lt(s,m="xl/threadedComments/threadedComment"+o+"."+r,eo(d,f,t)),n.threadedcomments.push(m),Ja(h,-1,"../threadedComments/threadedComment"+o+"."+r,Xa.TCMNT)),lt(s,m="xl/comments"+o+"."+r,Qi(d)),n.comments.push(m),Ja(h,-1,"../comments"+o+"."+r,Xa.CMNT),p=!0}u["!legacy"]&&p&<(s,"xl/drawings/vmlDrawing"+o+".vml",qi(o,u["!comments"])),delete u["!comments"],delete u["!legacy"]}h["!id"].rId1&<(s,$a(i),Ka(h))}return null!=t.Strings&&t.Strings.length>0&&(lt(s,i="xl/sharedStrings."+r,$s(t.Strings,t)),n.strs.push(i),Ja(t.wbrels,-1,"sharedStrings."+r,Xa.SST)),lt(s,i="xl/workbook."+r,jc(e)),n.workbooks.push(i),Ja(t.rels,1,i,Xa.WB),lt(s,i="xl/theme/theme1.xml",ji(e.Themes,t)),n.themes.push(i),Ja(t.wbrels,-1,"theme/theme1.xml",Xa.THEME),lt(s,i="xl/styles."+r,Ai(e,t)),n.styles.push(i),Ja(t.wbrels,-1,"styles."+r,Xa.STY),e.vbaraw&&a&&(lt(s,i="xl/vbaProject.bin",e.vbaraw),n.vba.push(i),Ja(t.wbrels,-1,"vbaProject.bin",Xa.VBA)),lt(s,i="xl/metadata."+r,Ki()),n.metadata.push(i),Ja(t.wbrels,-1,"metadata."+r,Xa.XLMETA),f.length>1&&(lt(s,i="xl/persons/person.xml",function(e){var t=[dt,$t("personList",null,{xmlns:qt.TCMNT,"xmlns:x":Zt[0]}).replace(/[\/]>/,">")];return e.forEach(function(e,r){t.push($t("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+r).slice(-12)+"}",userId:e,providerId:"None"}))}),t.push(""),t.join("")}(f)),n.people.push(i),Ja(t.wbrels,-1,"persons/person.xml",Xa.PEOPLE)),lt(s,"[Content_Types].xml",ja(n,t)),lt(s,"_rels/.rels",Ka(t.rels)),lt(s,"xl/_rels/workbook.xml.rels",Ka(t.wbrels)),delete t.revssf,delete t.ssf,s}function Af(e,t){var r="";switch((t||{}).type||"base64"){case"buffer":case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":r=E(e.slice(0,12));break;case"binary":r=e;break;default:throw new Error("Unrecognized type "+(t&&t.type||"undefined"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3),r.charCodeAt(4),r.charCodeAt(5),r.charCodeAt(6),r.charCodeAt(7)]}function xf(e,t){var r=0;e:for(;r=2&&0===a[3])return Ls.to_workbook(n,r);if(0===a[2]&&(8===a[3]||9===a[3]))return Ls.to_workbook(n,r)}break;case 3:case 131:case 139:case 140:return Is.to_workbook(n,r);case 123:if(92===a[1]&&114===a[2]&&116===a[3])return ii.to_workbook(n,r);break;case 10:case 13:case 32:return function(e,t){var r="",a=Af(e,t);switch(t.type){case"base64":r=E(e);break;case"binary":r=e;break;case"buffer":r=e.toString("binary");break;case"array":r=Ye(e);break;default:throw new Error("Unrecognized type "+t.type)}return 239==a[0]&&187==a[1]&&191==a[2]&&(r=Lt(r)),t.type="binary",xf(r,t)}(n,r);case 137:if(80===a[1]&&78===a[2]&&71===a[3])throw new Error("PNG Image File is not a spreadsheet")}return Rs.indexOf(a[0])>-1&&a[2]<=12&&a[3]<=31?Is.to_workbook(n,r):Cf(e,n,r,s)}function Rf(e,t){var r=t||{};return r.type="file",Of(e,r)}function If(e,t){switch(t.type){case"base64":case"binary":break;case"buffer":case"array":t.type="";break;case"file":return Ne(t.file,Ce.write(e,{type:S?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");default:throw new Error("Unrecognized type "+t.type)}return Ce.write(e,t)}function Nf(e,t){var r={},a=S?"nodebuffer":"undefined"!=typeof Uint8Array?"array":"string";if(t.compression&&(r.compression="DEFLATE"),t.password)r.type=a;else switch(t.type){case"base64":r.type="base64";break;case"binary":r.type="string";break;case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");case"buffer":case"file":r.type=a;break;default:throw new Error("Unrecognized type "+t.type)}var n=e.FullPaths?Ce.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[r.type]||r.type,compression:!!t.compression}):e.generate(r);if("undefined"!=typeof Deno&&"string"==typeof n){if("binary"==t.type||"base64"==t.type)return n;n=new Uint8Array(x(n))}return t.password&&"undefined"!=typeof encrypt_agile?If(encrypt_agile(n,t.password),t):"file"===t.type?Ne(t.file,n):"string"==t.type?Lt(n):n}function Df(e,t,r){r||(r="");var a=r+e;switch(t.type){case"base64":return T(Mt(a));case"binary":return Mt(a);case"string":return e;case"file":return Ne(t.file,a,"utf8");case"buffer":return S?y(a,"utf8"):"undefined"!=typeof TextEncoder?(new TextEncoder).encode(a):Df(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})}throw new Error("Unrecognized type "+t.type)}function Ff(e,t){switch(t.type){case"string":case"base64":case"binary":for(var r="",a=0;a-1||cn.indexOf(s[i][0])>-1||null!=s[i][1]&&l.push(s[i]);n.length&&Ce.utils.cfb_add(t,"/SummaryInformation",In(n,bl.SI,c,La)),(a.length||l.length)&&Ce.utils.cfb_add(t,"/DocumentSummaryInformation",In(a,bl.DSI,o,Pa,l.length?l:null,bl.UDI))}(e,a),8==r.biff&&e.vbaraw&&function(e,t){t.FullPaths.forEach(function(r,a){if(0!=a){var n=r.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");"/"!==n.slice(-1)&&Ce.utils.cfb_add(e,n,t.FileIndex[a].content)}})}(a,Ce.read(e.vbaraw,{type:"string"==typeof e.vbaraw?"binary":"buffer"})),a}(e,r),r)}(e,r);case"xlsx":case"xlsm":case"xlam":case"xlsb":case"numbers":case"ods":return function(e,t){var r=Ke(t||{});return Nf(kf(e,r),r)}(e,r);default:throw new Error("Unrecognized bookType |"+r.bookType+"|")}}function Mf(e){if(!e.bookType){var t=e.file.slice(e.file.lastIndexOf(".")).toLowerCase();t.match(/^\.[a-z]+$/)&&(e.bookType=t.slice(1)),e.bookType={xls:"biff8",htm:"html",slk:"sylk",socialcalc:"eth",Sh33tJS:"WTF"}[e.bookType]||e.bookType}}function Uf(e,t,r){var a=r||{};return a.type="file",a.file=t,Mf(a),Lf(e,a)}function Bf(e,t,r){var a=r||{};return a.type="file",a.file=t,Mf(a),Pf(e,a)}function Wf(e,t,r,a){var n=r||{};n.type="file",n.file=e,Mf(n),n.type="buffer";var s=a;return s instanceof Function||(s=r),Oe.writeFile(e,Lf(t,n),s)}function Hf(e,t,r,a,n,s,i,o){var c=jr(r),l=o.defval,f=o.raw||!Object.prototype.hasOwnProperty.call(o,"raw"),h=!0,u=1===n?[]:{};if(1!==n)if(Object.defineProperty)try{Object.defineProperty(u,"__rowNum__",{value:r,enumerable:!1})}catch(e){u.__rowNum__=r}else u.__rowNum__=r;if(!i||e[r])for(var d=t.s.c;d<=t.e.c;++d){var p=i?e[r][d]:e[a[d]+c];if(void 0!==p&&void 0!==p.t){var m=p.v;switch(p.t){case"z":if(null==m)break;continue;case"e":m=0==m?null:void 0;break;case"s":case"d":case"b":case"n":break;default:throw new Error("unrecognized type "+p.t)}if(null!=s[d]){if(null==m)if("e"==p.t&&null===m)u[s[d]]=null;else if(void 0!==l)u[s[d]]=l;else{if(!f||null!==m)continue;u[s[d]]=null}else u[s[d]]=f&&("n"!==p.t||"n"===p.t&&!1!==o.rawNumbers)?m:Qr(p,m,o);null!=m&&(h=!1)}}else{if(void 0===l)continue;null!=s[d]&&(u[s[d]]=l)}}return{row:u,isempty:h}}function zf(e,t){if(null==e||null==e["!ref"])return[];var r={t:"n",v:0},a=0,n=1,s=[],i=0,o="",c={s:{r:0,c:0},e:{r:0,c:0}},l=t||{},f=null!=l.range?l.range:e["!ref"];switch(1===l.header?a=1:"A"===l.header?a=2:Array.isArray(l.header)?a=3:null==l.header&&(a=0),typeof f){case"string":c=Zr(f);break;case"number":(c=Zr(e["!ref"])).s.r=f;break;default:c=f}a>0&&(n=0);var h=jr(c.s.r),u=[],d=[],p=0,m=0,g=Array.isArray(e),v=c.s.r,b=0,w={};g&&!e[v]&&(e[v]=[]);var T=l.skipHidden&&e["!cols"]||[],E=l.skipHidden&&e["!rows"]||[];for(b=c.s.c;b<=c.e.c;++b)if(!(T[b]||{}).hidden)switch(u[b]=$r(b),r=g?e[v][b]:e[u[b]+h],a){case 1:s[b]=b-c.s.c;break;case 2:s[b]=u[b];break;case 3:s[b]=l.header[b-c.s.c];break;default:if(null==r&&(r={w:"__EMPTY",t:"s"}),o=i=Qr(r,null,l),m=w[i]||0){do{o=i+"_"+m++}while(w[o]);w[i]=m,w[o]=1}else w[i]=1;s[b]=o}for(v=c.s.r+n;v<=c.e.r;++v)if(!(E[v]||{}).hidden){var S=Hf(e,c,v,u,a,s,g,l);(!1===S.isempty||(1===a?!1!==l.blankrows:l.blankrows))&&(d[p++]=S.row)}return d.length=p,d}var Vf=/"/g;function Gf(e,t,r,a,n,s,i,o){for(var c=!0,l=[],f="",h=jr(r),u=t.s.c;u<=t.e.c;++u)if(a[u]){var d=o.dense?(e[r]||[])[u]:e[a[u]+h];if(null==d)f="";else if(null!=d.v){c=!1,f=""+(o.rawNumbers&&"n"==d.t?d.v:Qr(d,null,o));for(var p=0,m=0;p!==f.length;++p)if((m=f.charCodeAt(p))===n||m===s||34===m||o.forceQuotes){f='"'+f.replace(Vf,'""')+'"';break}"ID"==f&&(f='"ID"')}else null==d.f||d.F?f="":(c=!1,(f="="+d.f).indexOf(",")>=0&&(f='"'+f.replace(Vf,'""')+'"'));l.push(f)}return!1===o.blankrows&&c?null:l.join(i)}function jf(e,t){var r=[],a=null==t?{}:t;if(null==e||null==e["!ref"])return"";var n=Zr(e["!ref"]),s=void 0!==a.FS?a.FS:",",i=s.charCodeAt(0),o=void 0!==a.RS?a.RS:"\n",c=o.charCodeAt(0),l=new RegExp(("|"==s?"\\|":s)+"+$"),f="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=$r(p));for(var m=0,g=n.s.r;g<=n.e.r;++g)(d[g]||{}).hidden||null!=(f=Gf(e,n,g,h,i,c,s,a))&&(a.strip&&(f=f.replace(l,"")),(f||!1!==a.blankrows)&&r.push((m++?o:"")+f));return delete a.dense,r.join("")}function Xf(e,t){t||(t={}),t.FS="\t",t.RS="\n";var r=jf(e,t);if(void 0===d||"string"==t.type)return r;var a=d.utils.encode(1200,r,"str");return String.fromCharCode(255)+String.fromCharCode(254)+a}function $f(e,t,r){var a,n=r||{},s=+!n.skipHeader,i=e||{},o=0,c=0;if(i&&null!=n.origin)if("number"==typeof n.origin)o=n.origin;else{var l="string"==typeof n.origin?Yr(n.origin):n.origin;o=l.r,c=l.c}var f={s:{c:0,r:0},e:{c,r:o+t.length-1+s}};if(i["!ref"]){var h=Zr(i["!ref"]);f.e.c=Math.max(f.e.c,h.e.c),f.e.r=Math.max(f.e.r,h.e.r),-1==o&&(o=h.e.r+1,f.e.r=o+t.length-1+s)}else-1==o&&(o=0,f.e.r=t.length-1+s);var u=n.header||[],d=0;t.forEach(function(e,t){De(e).forEach(function(r){-1==(d=u.indexOf(r))&&(u[d=u.length]=r);var l=e[r],f="z",h="",p=Kr({c:c+d,r:o+t+s});a=Yf(i,p),!l||"object"!=typeof l||l instanceof Date?("number"==typeof l?f="n":"boolean"==typeof l?f="b":"string"==typeof l?f="s":l instanceof Date?(f="d",n.cellDates||(f="n",l=Ue(l)),h=n.dateNF||z[14]):null===l&&n.nullError&&(f="e",l=0),a?(a.t=f,a.v=l,delete a.w,delete a.R,h&&(a.z=h)):i[p]=a={t:f,v:l},h&&(a.z=h)):i[p]=l})}),f.e.c=Math.max(f.e.c,c+u.length-1);var p=jr(o);if(s)for(d=0;d=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(r)>=0){var s=r.match(/(^.*?)(\d+)$/);n=s&&+s[2]||0;var i=s&&s[1]||r;for(++n;n<=65535&&-1!=e.SheetNames.indexOf(r=i+n);++n);}if(zc(r),e.SheetNames.indexOf(r)>=0)throw new Error("Worksheet with name |"+r+"| already exists!");return e.SheetNames.push(r),e.Sheets[r]=t,r}function Jf(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e}var qf,Zf={encode_col:$r,encode_row:jr,encode_cell:Kr,encode_range:qr,decode_col:Xr,decode_row:Gr,split_cell:function(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")},decode_cell:Yr,decode_range:Jr,format_cell:Qr,sheet_add_aoa:ta,sheet_add_json:$f,sheet_add_dom:Pl,aoa_to_sheet:ra,json_to_sheet:function(e,t){return $f(null,e,t)},table_to_sheet:Ll,table_to_book:function(e,t){return ea(Ll(e,t),t)},sheet_to_csv:jf,sheet_to_txt:Xf,sheet_to_json:zf,sheet_to_html:Fl,sheet_to_formulae:function(e){var t,r="",a="";if(null==e||null==e["!ref"])return[];var n,s=Zr(e["!ref"]),i="",o=[],c=[],l=Array.isArray(e);for(n=s.s.c;n<=s.e.c;++n)o[n]=$r(n);for(var f=s.s.r;f<=s.e.r;++f)for(i=jr(f),n=s.s.c;n<=s.e.c;++n)if(r=o[n]+i,a="",void 0!==(t=l?(e[f]||[])[n]:e[r])){if(null!=t.F){if(r=t.F,!t.f)continue;a=t.f,-1==r.indexOf(":")&&(r=r+":"+r)}if(null!=t.f)a=t.f;else{if("z"==t.t)continue;if("n"==t.t&&null!=t.v)a=""+t.v;else if("b"==t.t)a=t.v?"TRUE":"FALSE";else if(void 0!==t.w)a="'"+t.w;else{if(void 0===t.v)continue;a="s"==t.t?"'"+t.v:""+t.v}}c[c.length]=r+"="+a}return c},sheet_to_row_object_array:zf,sheet_get_cell:Yf,book_new:function(){return{SheetNames:[],Sheets:{}}},book_append_sheet:Kf,book_set_sheet_visibility:function(e,t,r){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=function(e,t){if("number"==typeof t){if(t>=0&&e.SheetNames.length>t)return t;throw new Error("Cannot find sheet # "+t)}if("string"==typeof t){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error("Cannot find sheet name |"+t+"|")}throw new Error("Cannot find sheet |"+t+"|")}(e,t);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+r)}e.Workbook.Sheets[a].Hidden=r},cell_set_number_format:function(e,t){return e.z=t,e},cell_set_hyperlink:Jf,cell_set_internal_link:function(e,t,r){return Jf(e,"#"+t,r)},cell_add_comment:function(e,t,r){e.c||(e.c=[]),e.c.push({t,a:r||"SheetJS"})},sheet_set_array_formula:function(e,t,r,a){for(var n="string"!=typeof t?t:Zr(t),s="string"==typeof t?t:qr(t),i=n.s.r;i<=n.e.r;++i)for(var o=n.s.c;o<=n.e.c;++o){var c=Yf(e,i,o);c.t="n",c.F=s,delete c.v,i==n.s.r&&o==n.s.c&&(c.f=r,a&&(c.D=!0))}return e},consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}},Qf={to_json:function(e,t){var r=qf({objectMode:!0});if(null==e||null==e["!ref"])return r.push(null),r;var a={t:"n",v:0},n=0,s=1,i=[],o=0,c="",l={s:{r:0,c:0},e:{r:0,c:0}},f=t||{},h=null!=f.range?f.range:e["!ref"];switch(1===f.header?n=1:"A"===f.header?n=2:Array.isArray(f.header)&&(n=3),typeof h){case"string":l=Zr(h);break;case"number":(l=Zr(e["!ref"])).s.r=h;break;default:l=h}n>0&&(s=0);var u=jr(l.s.r),d=[],p=0,m=Array.isArray(e),g=l.s.r,v=0,b={};m&&!e[g]&&(e[g]=[]);var w=f.skipHidden&&e["!cols"]||[],T=f.skipHidden&&e["!rows"]||[];for(v=l.s.c;v<=l.e.c;++v)if(!(w[v]||{}).hidden)switch(d[v]=$r(v),a=m?e[g][v]:e[d[v]+u],n){case 1:i[v]=v-l.s.c;break;case 2:i[v]=d[v];break;case 3:i[v]=f.header[v-l.s.c];break;default:if(null==a&&(a={w:"__EMPTY",t:"s"}),c=o=Qr(a,null,f),p=b[o]||0){do{c=o+"_"+p++}while(b[c]);b[o]=p,b[c]=1}else b[o]=1;i[v]=c}return g=l.s.r+s,r._read=function(){for(;g<=l.e.r;)if(!(T[g-1]||{}).hidden){var t=Hf(e,l,g,d,n,i,m,f);if(++g,!1===t.isempty||(1===n?!1!==f.blankrows:f.blankrows))return void r.push(t.row)}return r.push(null)},r},to_html:function(e,t){var r=qf(),a=t||{},n=null!=a.header?a.header:Il,s=null!=a.footer?a.footer:Nl;r.push(n);var i=Jr(e["!ref"]);a.dense=Array.isArray(e),r.push(Dl(0,0,a));var o=i.s.r,c=!1;return r._read=function(){if(o>i.e.r)return c||(c=!0,r.push(""+s)),r.push(null);for(;o<=i.e.r;){r.push(Rl(e,i,o,a)),++o;break}},r},to_csv:function(e,t){var r=qf(),a=null==t?{}:t;if(null==e||null==e["!ref"])return r.push(null),r;var n=Zr(e["!ref"]),s=void 0!==a.FS?a.FS:",",i=s.charCodeAt(0),o=void 0!==a.RS?a.RS:"\n",c=o.charCodeAt(0),l=new RegExp(("|"==s?"\\|":s)+"+$"),f="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=$r(p));var m=n.s.r,g=!1,v=0;return r._read=function(){if(!g)return g=!0,r.push("\ufeff");for(;m<=n.e.r;)if(++m,!(d[m-1]||{}).hidden&&null!=(f=Gf(e,n,m-1,h,i,c,s,a))&&(a.strip&&(f=f.replace(l,"")),f||!1!==a.blankrows))return r.push((v++?o:"")+f);return r.push(null)},r},set_readable:function(e){qf=e}};const eh=a.version;r.d(t,["version",0,eh])}}]); +"use strict";(self.webpackChunkdash_table=self.webpackChunkdash_table||[]).push([[404],{3959(e,t,r){r.r(t),r.d(t,{CFB:function(){return xe},SSF:function(){return Se},parse_xlscfb:function(){return dl},parse_zip:function(){return gf},read:function(){return Sf},readFile:function(){return kf},readFileSync:function(){return kf},set_cptable:function(){return v},set_fs:function(){return Oe},stream:function(){return $f},utils:function(){return Xf},write:function(){return Rf},writeFile:function(){return Nf},writeFileAsync:function(){return Df},writeFileSync:function(){return Nf},writeFileXLSX:function(){return Ff},writeXLSX:function(){return Of}});var a="0.18.5",n=1200,s=1252,i=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],o={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},c=function(e){-1!=i.indexOf(e)&&(s=o[0]=e)},l=function(e){n=e,c(e)};function f(){l(1200),c(1252)}function h(e){for(var t=[],r=0,a=e.length;r>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r+1)+(e.charCodeAt(2*r)<<8));return t.join("")}var d,p=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1);return 255==t&&254==r?function(e){for(var t=[],r=0;r>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r)+(e.charCodeAt(2*r+1)<<8));return t.join("")}(e.slice(2)):254==t&&255==r?u(e.slice(2)):65279==t?e.slice(1):e},m=function(e){return String.fromCharCode(e)},g=function(e){return String.fromCharCode(e)};function v(e){d=e,l=function(e){n=e,c(e)},p=function(e){return 255===e.charCodeAt(0)&&254===e.charCodeAt(1)?d.utils.decode(1200,h(e.slice(2))):e},m=function(e){return 1200===n?String.fromCharCode(e):d.utils.decode(n,[255&e,e>>8])[0]},g=function(e){return d.utils.decode(s,[e])[0]},Ar()}var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function w(e){for(var t="",r=0,a=0,n=0,s=0,i=0,o=0,c=0,l=0;l>2,i=(3&r)<<4|(a=e.charCodeAt(l++))>>4,o=(15&a)<<2|(n=e.charCodeAt(l++))>>6,c=63&n,isNaN(a)?o=c=64:isNaN(n)&&(c=64),t+=b.charAt(s)+b.charAt(i)+b.charAt(o)+b.charAt(c);return t}function T(e){var t="",r=0,a=0,n=0,s=0,i=0,o=0;e=e.replace(/[^\w\+\/\=]/g,"");for(var c=0;c>4,t+=String.fromCharCode(r),a=(15&s)<<4|(i=b.indexOf(e.charAt(c++)))>>2,64!==i&&(t+=String.fromCharCode(a)),n=(3&i)<<6|(o=b.indexOf(e.charAt(c++))),64!==o&&(t+=String.fromCharCode(n));return t}var E=function(){return"undefined"!=typeof Buffer&&"undefined"!=typeof process&&void 0!==process.versions&&!!process.versions.node}(),y=function(){if("undefined"!=typeof Buffer){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(t){e=!0}return e?function(e,t){return t?new Buffer(e,t):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function S(e){return E?Buffer.alloc?Buffer.alloc(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}function k(e){return E?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}var _=function(e){return E?y(e,"binary"):e.split("").map(function(e){return 255&e.charCodeAt(0)})};function A(e){if("undefined"==typeof ArrayBuffer)return _(e);for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),a=0;a!=e.length;++a)r[a]=255&e.charCodeAt(a);return t}function x(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");for(var t=[],r=0;r=0;)t+=e.charAt(r--);return t}function F(e,t){var r=""+e;return r.length>=t?r:Ke("0",t-r.length)+r}function D(e,t){var r=""+e;return r.length>=t?r:Ke(" ",t-r.length)+r}function P(e,t){var r=""+e;return r.length>=t?r:r+Ke(" ",t-r.length)}var L=Math.pow(2,32);function M(e,t){return e>L||e<-L?function(e,t){var r=""+Math.round(e);return r.length>=t?r:Ke("0",t-r.length)+r}(e,t):function(e,t){var r=""+e;return r.length>=t?r:Ke("0",t-r.length)+r}(Math.round(e),t)}function U(e,t){return t=t||0,e.length>=7+t&&103==(32|e.charCodeAt(t))&&101==(32|e.charCodeAt(t+1))&&110==(32|e.charCodeAt(t+2))&&101==(32|e.charCodeAt(t+3))&&114==(32|e.charCodeAt(t+4))&&97==(32|e.charCodeAt(t+5))&&108==(32|e.charCodeAt(t+6))}var B=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],W=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]],H={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'},z={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},V={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function G(e,t,r){for(var a=e<0?-1:1,n=e*a,s=0,i=1,o=0,c=1,l=0,f=0,h=Math.floor(n);lt&&(l>t?(f=c,o=s):(f=l,o=i)),!r)return[0,a*o,f];var u=Math.floor(a*o/f);return[u,a*o-u*f,f]}function j(e,t,r){if(e>2958465||e<0)return null;var a=0|e,n=Math.floor(86400*(e-a)),s=0,i=[],o={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(o.u)<1e-6&&(o.u=0),t&&t.date1904&&(a+=1462),o.u>.9999&&(o.u=0,86400==++n&&(o.T=n=0,++a,++o.D)),60===a)i=r?[1317,10,29]:[1900,2,29],s=3;else if(0===a)i=r?[1317,8,29]:[1900,1,0],s=6;else{a>60&&--a;var c=new Date(1900,0,1);c.setDate(c.getDate()+a-1),i=[c.getFullYear(),c.getMonth()+1,c.getDate()],s=c.getDay(),a<60&&(s=(s+6)%7),r&&(s=function(e,t){t[0]-=581;var r=e.getDay();return e<60&&(r=(r+6)%7),r}(c,i))}return o.y=i[0],o.m=i[1],o.d=i[2],o.S=n%60,n=Math.floor(n/60),o.M=n%60,n=Math.floor(n/60),o.H=n,o.q=s,o}var X=new Date(1899,11,31,0,0,0),Y=X.getTime(),K=new Date(1900,2,1,0,0,0);function J(e,t){var r=e.getTime();return t?r-=1262304e5:e>=K&&(r+=864e5),(r-(Y+6e4*(e.getTimezoneOffset()-X.getTimezoneOffset())))/864e5}function q(e){return-1==e.indexOf(".")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function Z(e){var t,r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E);return t=r>=-4&&r<=-1?e.toPrecision(10+r):Math.abs(r)<=9?function(e){var t=e<0?12:11,r=q(e.toFixed(12));return r.length<=t||(r=e.toPrecision(10)).length<=t?r:e.toExponential(5)}(e):10===r?e.toFixed(10).substr(0,12):function(e){var t=q(e.toFixed(11));return t.length>(e<0?12:11)||"0"===t||"-0"===t?e.toPrecision(6):t}(e),q(function(e){return-1==e.indexOf("E")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}(t.toUpperCase()))}function Q(e,t){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(0|e)===e?e.toString(10):Z(e);case"undefined":return"";case"object":if(null==e)return"";if(e instanceof Date)return we(14,J(e,t&&t.date1904),t)}throw new Error("unsupported value in General format: "+e)}function ee(e,t,r,a){var n,s="",i=0,o=0,c=r.y,l=0;switch(e){case 98:c=r.y+543;case 121:switch(t.length){case 1:case 2:n=c%100,l=2;break;default:n=c%1e4,l=4}break;case 109:switch(t.length){case 1:case 2:n=r.m,l=t.length;break;case 3:return W[r.m-1][1];case 5:return W[r.m-1][0];default:return W[r.m-1][2]}break;case 100:switch(t.length){case 1:case 2:n=r.d,l=t.length;break;case 3:return B[r.q][0];default:return B[r.q][1]}break;case 104:switch(t.length){case 1:case 2:n=1+(r.H+11)%12,l=t.length;break;default:throw"bad hour format: "+t}break;case 72:switch(t.length){case 1:case 2:n=r.H,l=t.length;break;default:throw"bad hour format: "+t}break;case 77:switch(t.length){case 1:case 2:n=r.M,l=t.length;break;default:throw"bad minute format: "+t}break;case 115:if("s"!=t&&"ss"!=t&&".0"!=t&&".00"!=t&&".000"!=t)throw"bad second format: "+t;return 0!==r.u||"s"!=t&&"ss"!=t?(o=a>=2?3===a?1e3:100:1===a?10:1,(i=Math.round(o*(r.S+r.u)))>=60*o&&(i=0),"s"===t?0===i?"0":""+i/o:(s=F(i,2+a),"ss"===t?s.substr(0,2):"."+s.substr(2,t.length-1))):F(r.S,t.length);case 90:switch(t){case"[h]":case"[hh]":n=24*r.D+r.H;break;case"[m]":case"[mm]":n=60*(24*r.D+r.H)+r.M;break;case"[s]":case"[ss]":n=60*(60*(24*r.D+r.H)+r.M)+Math.round(r.S+r.u);break;default:throw"bad abstime format: "+t}l=3===t.length?1:2;break;case 101:n=c,l=1}return l>0?F(n,l):""}function te(e){if(e.length<=3)return e;for(var t=e.length%3,r=e.substr(0,t);t!=e.length;t+=3)r+=(r.length>0?",":"")+e.substr(t,3);return r}var re=/%/g;function ae(e,t){var r,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+ae(e,-t);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%n;if(s<0&&(s+=n),-1===(r=(t/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).indexOf("e")){var i=Math.floor(Math.log(t)*Math.LOG10E);for(-1===r.indexOf(".")?r=r.charAt(0)+"."+r.substr(1)+"E+"+(i-r.length+s):r+="E+"+(i-s);"0."===r.substr(0,2);)r=(r=r.charAt(0)+r.substr(2,n)+"."+r.substr(2+n)).replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");r=r.replace(/\+-/,"-")}r=r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,r,a){return t+r+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else r=t.toExponential(a);return e.match(/E\+00$/)&&r.match(/e[+-]\d$/)&&(r=r.substr(0,r.length-1)+"0"+r.charAt(r.length-1)),e.match(/E\-/)&&r.match(/e\+/)&&(r=r.replace(/e\+/,"e")),r.replace("e","E")}var ne=/# (\?+)( ?)\/( ?)(\d+)/,se=/^#*0*\.([0#]+)/,ie=/\).*[0#]/,oe=/\(###\) ###\\?-####/;function ce(e){for(var t,r="",a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t)}return r}function le(e,t){var r=Math.pow(10,t);return""+Math.round(e*r)/r}function fe(e,t){var r=e-Math.floor(e),a=Math.pow(10,t);return t<(""+Math.round(r*a)).length?0:Math.round(r*a)}function he(e,t,r){if(40===e.charCodeAt(0)&&!t.match(ie)){var a=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return r>=0?he("n",a,r):"("+he("n",a,-r)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,r){for(var a=t.length-1;44===t.charCodeAt(a-1);)--a;return pe(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}(e,t,r);if(-1!==t.indexOf("%"))return function(e,t,r){var a=t.replace(re,""),n=t.length-a.length;return pe(e,a,r*Math.pow(10,2*n))+Ke("%",n)}(e,t,r);if(-1!==t.indexOf("E"))return ae(t,r);if(36===t.charCodeAt(0))return"$"+he(e,t.substr(" "==t.charAt(1)?2:1),r);var n,s,i,o,c=Math.abs(r),l=r<0?"-":"";if(t.match(/^00+$/))return l+M(c,t.length);if(t.match(/^[#?]+$/))return"0"===(n=M(r,0))&&(n=""),n.length>t.length?n:ce(t.substr(0,t.length-n.length))+n;if(s=t.match(ne))return function(e,t,r){var a=parseInt(e[4],10),n=Math.round(t*a),s=Math.floor(n/a),i=n-s*a,o=a;return r+(0===s?"":""+s)+" "+(0===i?Ke(" ",e[1].length+1+e[4].length):D(i,e[1].length)+e[2]+"/"+e[3]+F(o,e[4].length))}(s,c,l);if(t.match(/^#+0+$/))return l+M(c,t.length-t.indexOf("0"));if(s=t.match(se))return n=le(r,s[1].length).replace(/^([^\.]+)$/,"$1."+ce(s[1])).replace(/\.$/,"."+ce(s[1])).replace(/\.(\d*)$/,function(e,t){return"."+t+Ke("0",ce(s[1]).length-t.length)}),-1!==t.indexOf("0.")?n:n.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return l+le(c,s[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return l+te(M(c,0));if(s=t.match(/^#,##0\.([#0]*0)$/))return r<0?"-"+he(e,t,-r):te(""+(Math.floor(r)+function(e,t){return t<(""+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}(r,s[1].length)))+"."+F(fe(r,s[1].length),s[1].length);if(s=t.match(/^#,#*,#0/))return he(e,t.replace(/^#,#*,/,""),r);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return n=N(he(e,t.replace(/[\\-]/g,""),r)),i=0,N(N(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-2147483648?""+(e>=0?0|e:e-1|0):""+Math.floor(e)}(r)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(e){return"00,"+(e.length<3?F(0,3-e.length):"")+e})+"."+F(i,s[1].length);switch(t){case"###,##0.00":return he(e,"#,##0.00",r);case"###,###":case"##,###":case"#,###":var d=te(M(c,0));return"0"!==d?l+d:"";case"###,###.00":return he(e,"###,##0.00",r).replace(/^0\./,".");case"#,###.00":return he(e,"#,##0.00",r).replace(/^0\./,".")}throw new Error("unsupported format |"+t+"|")}function ue(e,t){var r,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+ue(e,-t);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%n;if(s<0&&(s+=n),!(r=(t/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).match(/[Ee]/)){var i=Math.floor(Math.log(t)*Math.LOG10E);-1===r.indexOf(".")?r=r.charAt(0)+"."+r.substr(1)+"E+"+(i-r.length+s):r+="E+"+(i-s),r=r.replace(/\+-/,"-")}r=r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,r,a){return t+r+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else r=t.toExponential(a);return e.match(/E\+00$/)&&r.match(/e[+-]\d$/)&&(r=r.substr(0,r.length-1)+"0"+r.charAt(r.length-1)),e.match(/E\-/)&&r.match(/e\+/)&&(r=r.replace(/e\+/,"e")),r.replace("e","E")}function de(e,t,r){if(40===e.charCodeAt(0)&&!t.match(ie)){var a=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return r>=0?de("n",a,r):"("+de("n",a,-r)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,r){for(var a=t.length-1;44===t.charCodeAt(a-1);)--a;return pe(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}(e,t,r);if(-1!==t.indexOf("%"))return function(e,t,r){var a=t.replace(re,""),n=t.length-a.length;return pe(e,a,r*Math.pow(10,2*n))+Ke("%",n)}(e,t,r);if(-1!==t.indexOf("E"))return ue(t,r);if(36===t.charCodeAt(0))return"$"+de(e,t.substr(" "==t.charAt(1)?2:1),r);var n,s,i,o,c=Math.abs(r),l=r<0?"-":"";if(t.match(/^00+$/))return l+F(c,t.length);if(t.match(/^[#?]+$/))return n=""+r,0===r&&(n=""),n.length>t.length?n:ce(t.substr(0,t.length-n.length))+n;if(s=t.match(ne))return function(e,t,r){return r+(0===t?"":""+t)+Ke(" ",e[1].length+2+e[4].length)}(s,c,l);if(t.match(/^#+0+$/))return l+F(c,t.length-t.indexOf("0"));if(s=t.match(se))return n=(n=(""+r).replace(/^([^\.]+)$/,"$1."+ce(s[1])).replace(/\.$/,"."+ce(s[1]))).replace(/\.(\d*)$/,function(e,t){return"."+t+Ke("0",ce(s[1]).length-t.length)}),-1!==t.indexOf("0.")?n:n.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return l+(""+c).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return l+te(""+c);if(s=t.match(/^#,##0\.([#0]*0)$/))return r<0?"-"+de(e,t,-r):te(""+r)+"."+Ke("0",s[1].length);if(s=t.match(/^#,#*,#0/))return de(e,t.replace(/^#,#*,/,""),r);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return n=N(de(e,t.replace(/[\\-]/g,""),r)),i=0,N(N(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-1||"\\"==r&&"-"==e.charAt(t+1)&&"0#".indexOf(e.charAt(t+2))>-1););break;case"?":for(;e.charAt(++t)===r;);break;case"*":++t," "!=e.charAt(t)&&"*"!=e.charAt(t)||++t;break;case"(":case")":++t;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;t-1;);break;default:++t}return!1}var ve=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function be(e,t){if(null==t)return!1;var r=parseFloat(t[2]);switch(t[1]){case"=":if(e==r)return!0;break;case">":if(e>r)return!0;break;case"<":if(e":if(e!=r)return!0;break;case">=":if(e>=r)return!0;break;case"<=":if(e<=r)return!0}return!1}function we(e,t,r){null==r&&(r={});var a="";switch(typeof e){case"string":a="m/d/yy"==e&&r.dateNF?r.dateNF:e;break;case"number":null==(a=14==e&&r.dateNF?r.dateNF:(null!=r.table?r.table:H)[e])&&(a=r.table&&r.table[z[e]]||H[z[e]]),null==a&&(a=V[e]||"General")}if(U(a,0))return Q(t,r);t instanceof Date&&(t=J(t,r.date1904));var n=function(e,t){var r=function(e){for(var t=[],r=!1,a=0,n=0;a-1&&--a,r.length>4)throw new Error("cannot find right format for |"+r.join("|")+"|");if("number"!=typeof t)return[4,4===r.length||n>-1?r[r.length-1]:"@"];switch(r.length){case 1:r=n>-1?["General","General","General",r[0]]:[r[0],r[0],r[0],"@"];break;case 2:r=n>-1?[r[0],r[0],r[0],r[1]]:[r[0],r[1],r[0],"@"];break;case 3:r=n>-1?[r[0],r[1],r[0],r[2]]:[r[0],r[1],r[2],"@"]}var s=t>0?r[0]:t<0?r[1]:r[2];if(-1===r[0].indexOf("[")&&-1===r[1].indexOf("["))return[a,s];if(null!=r[0].match(/\[[=<>]/)||null!=r[1].match(/\[[=<>]/)){var i=r[0].match(ve),o=r[1].match(ve);return be(t,i)?[a,r[0]]:be(t,o)?[a,r[1]]:[a,r[null!=i&&null!=o?2:1]]}return[a,s]}(a,t);if(U(n[1]))return Q(t,r);if(!0===t)t="TRUE";else if(!1===t)t="FALSE";else if(""===t||null==t)return"";return function(e,t,r,a){for(var n,s,i,o=[],c="",l=0,f="",h="t",u="H";l=12?"P":"A"),m.t="T",u="h",l+=3):"AM/PM"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"PM":"AM"),m.t="T",l+=5,u="h"):"上午/下午"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"下午":"上午"),m.t="T",l+=5,u="h"):(m.t="t",++l),null==n&&"T"===m.t)return"";o[o.length]=m,h=f;break;case"[":for(c=f;"]"!==e.charAt(l++)&&l-1&&(c=(c.match(/\$([^-\[\]]*)/)||[])[1]||"$",ge(e)||(o[o.length]={t:"t",v:c}));break;case".":if(null!=n){for(c=f;++l-1;)c+=f;o[o.length]={t:"n",v:c};break;case"?":for(c=f;e.charAt(++l)===f;)c+=f;o[o.length]={t:f,v:c},h=f;break;case"*":++l," "!=e.charAt(l)&&"*"!=e.charAt(l)||++l;break;case"(":case")":o[o.length]={t:1===a?"t":f,v:f},++l;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(c=f;l-1;)c+=e.charAt(l);o[o.length]={t:"D",v:c};break;case" ":o[o.length]={t:f,v:f},++l;break;case"$":o[o.length]={t:"t",v:"$"},++l;break;default:if(-1===",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f))throw new Error("unrecognized character "+f+" in "+e);o[o.length]={t:"t",v:f},++l}var g,v=0,b=0;for(l=o.length-1,h="t";l>=0;--l)switch(o[l].t){case"h":case"H":o[l].t=u,h="h",v<1&&(v=1);break;case"s":(g=o[l].v.match(/\.0+$/))&&(b=Math.max(b,g[0].length-1)),v<3&&(v=3);case"d":case"y":case"M":case"e":h=o[l].t;break;case"m":"s"===h&&(o[l].t="M",v<2&&(v=2));break;case"X":break;case"Z":v<1&&o[l].v.match(/[Hh]/)&&(v=1),v<2&&o[l].v.match(/[Mm]/)&&(v=2),v<3&&o[l].v.match(/[Ss]/)&&(v=3)}switch(v){case 0:break;case 1:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M),n.M>=60&&(n.M=0,++n.H);break;case 2:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M)}var w,T="";for(l=0;l0){40==T.charCodeAt(0)?(E=t<0&&45===T.charCodeAt(0)?-t:t,y=pe("n",T,E)):(y=pe("n",T,E=t<0&&a>1?-t:t),E<0&&o[0]&&"t"==o[0].t&&(y=y.substr(1),o[0].v="-"+o[0].v)),w=y.length-1;var k=o.length;for(l=0;l-1){k=l;break}var _=o.length;if(k===o.length&&-1===y.indexOf("E")){for(l=o.length-1;l>=0;--l)null!=o[l]&&-1!=="n?".indexOf(o[l].t)&&(w>=o[l].v.length-1?(w-=o[l].v.length,o[l].v=y.substr(w+1,o[l].v.length)):w<0?o[l].v="":(o[l].v=y.substr(0,w+1),w=-1),o[l].t="t",_=l);w>=0&&_=0;--l)if(null!=o[l]&&-1!=="n?".indexOf(o[l].t)){for(s=o[l].v.indexOf(".")>-1&&l===k?o[l].v.indexOf(".")-1:o[l].v.length-1,S=o[l].v.substr(s+1);s>=0;--s)w>=0&&("0"===o[l].v.charAt(s)||"#"===o[l].v.charAt(s))&&(S=y.charAt(w--)+S);o[l].v=S,o[l].t="t",_=l}for(w>=0&&_-1&&l===k?o[l].v.indexOf(".")+1:0,S=o[l].v.substr(0,s);s-1&&(E=a>1&&t<0&&l>0&&"-"===o[l-1].v?-t:t,o[l].v=pe(o[l].t,o[l].v,E),o[l].t="t");var A="";for(l=0;l!==o.length;++l)null!=o[l]&&(A+=o[l].v);return A}(n[1],t,r,n[0])}function Te(e,t){if("number"!=typeof t){t=+t||-1;for(var r=0;r<392;++r)if(null!=H[r]){if(H[r]==e){t=r;break}}else t<0&&(t=r);t<0&&(t=391)}return H[t]=e,t}function Ee(e){for(var t=0;392!=t;++t)void 0!==e[t]&&Te(e[t],t)}function ye(){var e;e||(e={}),e[0]="General",e[1]="0",e[2]="0.00",e[3]="#,##0",e[4]="#,##0.00",e[9]="0%",e[10]="0.00%",e[11]="0.00E+00",e[12]="# ?/?",e[13]="# ??/??",e[14]="m/d/yy",e[15]="d-mmm-yy",e[16]="d-mmm",e[17]="mmm-yy",e[18]="h:mm AM/PM",e[19]="h:mm:ss AM/PM",e[20]="h:mm",e[21]="h:mm:ss",e[22]="m/d/yy h:mm",e[37]="#,##0 ;(#,##0)",e[38]="#,##0 ;[Red](#,##0)",e[39]="#,##0.00;(#,##0.00)",e[40]="#,##0.00;[Red](#,##0.00)",e[45]="mm:ss",e[46]="[h]:mm:ss",e[47]="mmss.0",e[48]="##0.0E+0",e[49]="@",e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "',H=e}var Se={format:we,load:Te,_table:H,load_table:Ee,parse_date_code:j,is_date:ge,get_table:function(){return Se._table=H}},ke={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"},_e=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g,Ae=function(){var e={version:"1.2.0"},t=function(){for(var e=0,t=new Array(256),r=0;256!=r;++r)e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=r)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1,t[r]=e;return"undefined"!=typeof Int32Array?new Int32Array(t):t}(),r=function(e){var t=0,r=0,a=0,n="undefined"!=typeof Int32Array?new Int32Array(4096):new Array(4096);for(a=0;256!=a;++a)n[a]=e[a];for(a=0;256!=a;++a)for(r=e[a],t=256+a;t<4096;t+=256)r=n[t]=r>>>8^e[255&r];var s=[];for(a=1;16!=a;++a)s[a-1]="undefined"!=typeof Int32Array?n.subarray(256*a,256*a+256):n.slice(256*a,256*a+256);return s}(t),a=r[0],n=r[1],s=r[2],i=r[3],o=r[4],c=r[5],l=r[6],f=r[7],h=r[8],u=r[9],d=r[10],p=r[11],m=r[12],g=r[13],v=r[14];return e.table=t,e.bstr=function(e,r){for(var a=-1^r,n=0,s=e.length;n>>8^t[255&(a^e.charCodeAt(n++))];return~a},e.buf=function(e,r){for(var b=-1^r,w=e.length-15,T=0;T>8&255]^m[e[T++]^b>>16&255]^p[e[T++]^b>>>24]^d[e[T++]]^u[e[T++]]^h[e[T++]]^f[e[T++]]^l[e[T++]]^c[e[T++]]^o[e[T++]]^i[e[T++]]^s[e[T++]]^n[e[T++]]^a[e[T++]]^t[e[T++]];for(w+=15;T>>8^t[255&(b^e[T++])];return~b},e.str=function(e,r){for(var a=-1^r,n=0,s=e.length,i=0,o=0;n>>8^t[255&(a^i)]:i<2048?a=(a=a>>>8^t[255&(a^(192|i>>6&31))])>>>8^t[255&(a^(128|63&i))]:i>=55296&&i<57344?(i=64+(1023&i),o=1023&e.charCodeAt(n++),a=(a=(a=(a=a>>>8^t[255&(a^(240|i>>8&7))])>>>8^t[255&(a^(128|i>>2&63))])>>>8^t[255&(a^(128|o>>6&15|(3&i)<<4))])>>>8^t[255&(a^(128|63&o))]):a=(a=(a=a>>>8^t[255&(a^(224|i>>12&15))])>>>8^t[255&(a^(128|i>>6&63))])>>>8^t[255&(a^(128|63&i))];return~a},e}(),xe=function(){var e,t={};function r(e){if("/"==e.charAt(e.length-1))return-1===e.slice(0,-1).indexOf("/")?e:r(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(0,t+1)}function a(e){if("/"==e.charAt(e.length-1))return a(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)}function n(e,t){"string"==typeof t&&(t=new Date(t));var r=t.getHours();r=(r=r<<6|t.getMinutes())<<5|t.getSeconds()>>>1,e.write_shift(2,r);var a=t.getFullYear()-1980;a=(a=a<<4|t.getMonth()+1)<<5|t.getDate(),e.write_shift(2,a)}function s(e){Mr(e,0);for(var t={},r=0;e.l<=e.length-4;){var a=e.read_shift(2),n=e.read_shift(2),s=e.l+n,i={};21589===a&&(1&(r=e.read_shift(1))&&(i.mtime=e.read_shift(4)),n>5&&(2&r&&(i.atime=e.read_shift(4)),4&r&&(i.ctime=e.read_shift(4))),i.mtime&&(i.mt=new Date(1e3*i.mtime))),e.l=s,t[a]=i}return t}function i(){return e||(e={})}function o(e,t){if(80==e[0]&&75==e[1])return de(e,t);if(109==(32|e[0])&&105==(32|e[1]))return function(e,t){if("mime-version:"!=N(e.slice(0,13)).toLowerCase())throw new Error("Unsupported MAD header");var r=t&&t.root||"",a=(E&&Buffer.isBuffer(e)?e.toString("binary"):N(e)).split("\r\n"),n=0,s="";for(n=0;n0&&(r=(r=r.slice(0,r.length-1)).slice(0,r.lastIndexOf("/")+1),s.slice(0,r.length)!=r););var i=(a[1]||"").match(/boundary="(.*?)"/);if(!i)throw new Error("MAD cannot find boundary");var o="--"+(i[1]||""),c={FileIndex:[],FullPaths:[]};u(c);var l,f=0;for(n=0;n=n&&(u-=n),!i[u]){c=[];var p=[];for(h=u;h>=0;){p[h]=!0,i[h]=!0,o[o.length]=h,c.push(e[h]);var m=r[Math.floor(4*h/a)];if(a<4+(d=4*h&l))throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[m])break;if(p[h=Ir(e[m],d)])break}s[u]={nodes:o,data:ir([c])}}return s}(k,s,p,d);_[s].name="!Directory",a>0&&i!==v&&(_[i].name="!MiniFAT"),_[p[0]].name="!FAT",_.fat_addrs=p,_.ssz=d;var A=[],x=[],C=[];!function(e,t,r,a,n,s,i,o){for(var l,u=0,d=a.length?2:0,p=t[e].data,m=0,g=0;m0&&u!==v&&(t[u].name="!StreamData")):w.size>=4096?(w.storage="fat",void 0===t[w.start]&&(t[w.start]=f(r,w.start,t.fat_addrs,t.ssz)),t[w.start].name=w.name,w.content=t[w.start].data.slice(0,w.size)):(w.storage="minifat",w.size<0?w.size=0:u!==v&&w.start!==v&&t[u]&&(w.content=c(w,t[u].data,(t[o]||{}).data))),w.content&&Mr(w.content,0),s[l]=w,i.push(w)}}(s,_,k,A,a,{},x,i),function(e,t,r){for(var a=0,n=0,s=0,i=0,o=0,c=r.length,l=[],f=[];a0&&i>=0;)s.push(t.slice(i*g,i*g+g)),n-=g,i=Ir(r,4*i);return 0===s.length?Br(0):O(s).slice(0,e.size)}function l(e,t,r,a,n){var s=v;if(e===v){if(0!==t)throw new Error("DIFAT chain shorter than expected")}else if(-1!==e){var i=r[e],o=(a>>>2)-1;if(!i)return;for(var c=0;c=0;){n[c]=!0,s[s.length]=c,i.push(e[c]);var f=r[Math.floor(4*c/a)];if(a<4+(l=4*c&o))throw new Error("FAT boundary crossed: "+c+" 4 "+a);if(!e[f])break;c=Ir(e[f],l)}return{nodes:s,data:ir([i])}}function h(e,t){return new Date(1e3*(Rr(e,t+4)/1e7*Math.pow(2,32)+Rr(e,t)/1e7-11644473600))}function u(e,t){var r=t||{},a=r.root||"Root Entry";if(e.FullPaths||(e.FullPaths=[]),e.FileIndex||(e.FileIndex=[]),e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");0===e.FullPaths.length&&(e.FullPaths[0]=a+"/",e.FileIndex[0]={name:a,type:5}),r.CLSID&&(e.FileIndex[0].clsid=r.CLSID),function(e){var t="Sh33tJ5";if(!xe.find(e,"/"+t)){var r=Br(4);r[0]=55,r[1]=r[3]=50,r[2]=54,e.FileIndex.push({name:t,type:2,content:r,size:4,L:69,R:69,C:69}),e.FullPaths.push(e.FullPaths[0]+t),d(e)}}(e)}function d(e,t){u(e);for(var n=!1,s=!1,i=e.FullPaths.length-1;i>=0;--i){var o=e.FileIndex[i];switch(o.type){case 0:s?n=!0:(e.FileIndex.pop(),e.FullPaths.pop());break;case 1:case 2:case 5:s=!0,isNaN(o.R*o.L*o.C)&&(n=!0),o.R>-1&&o.L>-1&&o.R==o.L&&(n=!0);break;default:n=!0}}if(n||t){var c=new Date(1987,1,19),l=0,f=Object.create?Object.create(null):{},h=[];for(i=0;i1?1:-1,p.size=0,p.type=5;else if("/"==m.slice(-1)){for(l=i+1;l=h.length?-1:l,l=i+1;l=h.length?-1:l,p.type=1}else r(e.FullPaths[i+1]||"")==r(m)&&(p.R=i+1),p.type=2}}}function p(e,t){var r=t||{};if("mad"==r.fileType)return function(e,t){for(var r=t||{},a=r.boundary||"SheetJS",n=["MIME-Version: 1.0",'Content-Type: multipart/related; boundary="'+(a="------="+a).slice(2)+'"',"","",""],s=e.FullPaths[0],i=s,o=e.FileIndex[0],c=1;c=32&&d<128&&++h;var m=h>=4*u/5;n.push(a),n.push("Content-Location: "+(r.root||"file:///C:/SheetJS/")+i),n.push("Content-Transfer-Encoding: "+(m?"quoted-printable":"base64")),n.push("Content-Type: "+ge(o,i)),n.push(""),n.push(m?be(f):ve(f))}return n.push(a+"--\r\n"),n.join("\r\n")}(e,r);if(d(e),"zip"===r.fileType)return function(e,t){var r=t||{},a=[],s=[],i=Br(1),o=r.compression?8:0,c=0,l=0,f=0,h=0,u=e.FullPaths[0],d=u,p=e.FileIndex[0],m=[],g=0;for(c=1;c0&&(s<4096?t+=s+63>>6:r+=s+511>>9)}}for(var i=e.FullPaths.length+3>>2,o=t+127>>7,c=(t+7>>3)+r+i+o,l=c+127>>7,f=l<=109?0:Math.ceil((l-109)/127);c+l+f+127>>7>l;)f=++l<=109?0:Math.ceil((l-109)/127);var h=[1,f,l,o,i,r,t,0];return e.FileIndex[0].size=t<<6,h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3),h}(e),s=Br(a[7]<<9),i=0,o=0;for(i=0;i<8;++i)s.write_shift(1,A[i]);for(i=0;i<8;++i)s.write_shift(2,0);for(s.write_shift(2,62),s.write_shift(2,3),s.write_shift(2,65534),s.write_shift(2,9),s.write_shift(2,6),i=0;i<3;++i)s.write_shift(2,0);for(s.write_shift(4,0),s.write_shift(4,a[2]),s.write_shift(4,a[0]+a[1]+a[2]+a[3]-1),s.write_shift(4,0),s.write_shift(4,4096),s.write_shift(4,a[3]?a[0]+a[1]+a[2]-1:v),s.write_shift(4,a[3]),s.write_shift(-4,a[1]?a[0]-1:v),s.write_shift(4,a[1]),i=0;i<109;++i)s.write_shift(-4,i>9)));for(c(a[6]+7>>3);511&s.l;)s.write_shift(-4,C.ENDOFCHAIN);for(o=i=0,l=0;l=4096||(h.start=o,c(f+63>>6)));for(;511&s.l;)s.write_shift(-4,C.ENDOFCHAIN);for(i=0;i=4096)if(s.l=h.start+1<<9,E&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+511&-512;else{for(l=0;l0&&h.size<4096)if(E&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+63&-64;else{for(l=0;l>16|t>>8|t)}for(var U="undefined"!=typeof Uint8Array,B=U?new Uint8Array(256):[],W=0;W<256;++W)B[W]=M(W);function H(e,t){var r=B[255&e];return t<=8?r>>>8-t:(r=r<<8|B[e>>8&255],t<=16?r>>>16-t:(r=r<<8|B[e>>16&255])>>>24-t)}function z(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=6?0:e[a+1]<<8))>>>r&3}function V(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=5?0:e[a+1]<<8))>>>r&7}function G(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=3?0:e[a+1]<<8))>>>r&31}function j(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=1?0:e[a+1]<<8))>>>r&127}function X(e,t,r){var a=7&t,n=t>>>3,s=(1<>>a;return r<8-a?i&s:(i|=e[n+1]<<8-a,r<16-a?i&s:(i|=e[n+2]<<16-a,r<24-a?i&s:(i|=e[n+3]<<24-a)&s))}function $(e,t,r){var a=7&t,n=t>>>3;return a<=5?e[n]|=(7&r)<>8-a),t+3}function Y(e,t,r){return r=(1&r)<<(7&t),e[t>>>3]|=r,t+1}function K(e,t,r){var a=t>>>3;return r<<=7&t,e[a]|=255&r,r>>>=8,e[a+1]=r,t+8}function J(e,t,r){var a=t>>>3;return r<<=7&t,e[a]|=255&r,r>>>=8,e[a+1]=255&r,e[a+2]=r>>>8,t+16}function q(e,t){var r=e.length,a=2*r>t?2*r:t+5,n=0;if(r>=t)return e;if(E){var s=k(a);if(e.copy)e.copy(s);else for(;n>a-h,i=(1<=0;--i)t[o|i<0;)t[t.l++]=e[r++]}return t.l}(t,r):function(t,r){for(var n=0,s=0,i=U?new Uint16Array(32768):[];s0;)r[r.l++]=t[s++];n=8*r.l}else{n=$(r,n,+!(s+o!=t.length)+2);for(var c=0;o-- >0;){var l=t[s],f=-1,h=0;if((f=i[c=32767&(c<<5^l)])&&((f|=-32768&s)>s&&(f-=32768),f2){(l=a[h])<=22?n=K(r,n,B[l+1]>>1)-1:(K(r,n,3),K(r,n+=5,B[l-23]>>5),n+=3);var u=l<8?0:l-4>>2;u>0&&(J(r,n,h-P[l]),n+=u),l=e[s-f],n=K(r,n,B[l]>>3),n-=3;var d=l<4?0:l-2>>1;d>0&&(J(r,n,s-f-L[l]),n+=d);for(var p=0;p>>3;return(e[a]|(r<=4?0:e[a+1]<<8))>>>r&15}(e,t+=5)+4;t+=4;for(var s=0,i=U?new Uint8Array(19):Z(19),o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=1,l=U?new Uint8Array(8):Z(8),f=U?new Uint8Array(8):Z(8),h=i.length,u=0;u>8-p;for(var m=(1<<7-p)-1;m>=0;--m)oe[d|m<>>=3){case 16:for(s=3+z(e,t),t+=2,d=g[g.length-1];s-- >0;)g.push(d);break;case 17:for(s=3+V(e,t),t+=3;s-- >0;)g.push(0);break;case 18:for(s=11+j(e,t),t+=7;s-- >0;)g.push(0);break;default:g.push(d),c>>0,o=0,c=0;!(1&a);)if(a=V(e,r),r+=3,a>>>1!=0)for(a>>1==1?(o=9,c=5):(r=fe(e,r),o=ce,c=le);;){!t&&i>>1==1?ee[l]:se[l];if(r+=15&f,(f>>>=4)>>>8&255){if(256==f)break;var h=(f-=257)<8?0:f-4>>2;h>5&&(h=0);var u=s+P[f];h>0&&(u+=X(e,r,h),r+=h),l=X(e,r,c),r+=15&(f=a>>>1==1?te[l]:ie[l]);var d=(f>>>=4)<4?0:f-2>>1,p=L[f];for(d>0&&(p+=X(e,r,d),r+=d),!t&&i>>3]|e[(r>>>3)+1]<<8;if(r+=32,m>0)for(!t&&i0;)n[s++]=e[r>>>3],r+=8}return t?[n,r+7>>>3]:[n.slice(0,s),r+7>>>3]}(e.slice(e.l||0),t);return e.l+=r[1],r[0]}function ue(e,t){if(!e)throw new Error(t);"undefined"!=typeof console&&console.error(t)}function de(e,t){var r=e;Mr(r,0);var a={FileIndex:[],FullPaths:[]};u(a,{root:t.root});for(var n=r.length-4;(80!=r[n]||75!=r[n+1]||5!=r[n+2]||6!=r[n+3])&&n>=0;)--n;r.l=n+4,r.l+=4;var i=r.read_shift(2);r.l+=6;var o=r.read_shift(4);for(r.l=o,n=0;n>>=5);r>>>=4,a.setMilliseconds(0),a.setFullYear(r+1980),a.setMonth(s-1),a.setDate(n);var i=31&t,o=63&(t>>>=5);return t>>>=6,a.setHours(t),a.setMinutes(o),a.setSeconds(i<<1),a}(e);if(8257&i)throw new Error("Unsupported ZIP encryption");e.read_shift(4);for(var l=e.read_shift(4),f=e.read_shift(4),h=e.read_shift(2),u=e.read_shift(2),d="",p=0;p3&&(a=!0),n[s].slice(n[s].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[s].slice(n[s].length-1));case"D":r*=24;case"H":r*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");r*=60}t+=r*parseInt(n[s],10)}return t}var Ve=new Date("2017-02-19T19:06:09.000Z"),Ge=isNaN(Ve.getFullYear())?new Date("2/19/17"):Ve,je=2017==Ge.getFullYear();function Xe(e,t){var r=new Date(e);if(je)return t>0?r.setTime(r.getTime()+60*r.getTimezoneOffset()*1e3):t<0&&r.setTime(r.getTime()-60*r.getTimezoneOffset()*1e3),r;if(e instanceof Date)return e;if(1917==Ge.getFullYear()&&!isNaN(r.getFullYear())){var a=r.getFullYear();return e.indexOf(""+a)>-1||r.setFullYear(r.getFullYear()+100),r}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"],s=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);return e.indexOf("Z")>-1&&(s=new Date(s.getTime()-60*s.getTimezoneOffset()*1e3)),s}function $e(e,t){if(E&&Buffer.isBuffer(e)){if(t){if(255==e[0]&&254==e[1])return Lt(e.slice(2).toString("utf16le"));if(254==e[1]&&255==e[2])return Lt(u(e.slice(2).toString("binary")))}return e.toString("binary")}if("undefined"!=typeof TextDecoder)try{if(t){if(255==e[0]&&254==e[1])return Lt(new TextDecoder("utf-16le").decode(e.slice(2)));if(254==e[0]&&255==e[1])return Lt(new TextDecoder("utf-16be").decode(e.slice(2)))}var r={"€":"€","‚":"‚",ƒ:"ƒ","„":"„","…":"…","†":"†","‡":"‡",ˆ:"ˆ","‰":"‰",Š:"Š","‹":"‹",Œ:"Œ",Ž:"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™",š:"š","›":"›",œ:"œ",ž:"ž",Ÿ:"Ÿ"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return r[e]||e})}catch(e){}for(var a=[],n=0;n!=e.length;++n)a.push(String.fromCharCode(e[n]));return a.join("")}function Ye(e){if("undefined"!=typeof JSON&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if("object"!=typeof e||null==e)return e;if(e instanceof Date)return new Date(e.getTime());var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=Ye(e[r]));return t}function Ke(e,t){for(var r="";r.length3&&-1==qe.indexOf(i))return r}else if(i.match(/[a-z]/))return r;return a<0||a>8099?r:(n>0||s>1)&&101!=a?t:e.match(/[^-0-9:,\/\\]/)?r:t}var Qe=function(){var e=5=="abacaba".split(/(:?b)/i).length;return function(t,r,a){if(e||"string"==typeof r)return t.split(r);for(var n=t.split(r),s=[n[0]],i=1;i>6&31,n[r++]=128|63&i;else if(i>=55296&&i<57344){i=64+(1023&i);var o=1023&e.charCodeAt(++s);n[r++]=240|i>>8&7,n[r++]=128|i>>2&63,n[r++]=128|o>>6&15|(3&i)<<4,n[r++]=128|63&o}else n[r++]=224|i>>12&15,n[r++]=128|i>>6&63,n[r++]=128|63&i;r>a&&(t.push(n.slice(0,r)),r=0,n=S(65535),a=65530)}return t.push(n.slice(0,r)),O(t)}(r),xe.utils.cfb_add(e,t,a);xe.utils.cfb_add(e,t,r)}else e.file(t,r)}function lt(){return xe.utils.cfb_new()}function ft(e,t){switch(t.type){case"base64":return xe.read(e,{type:"base64"});case"binary":return xe.read(e,{type:"binary"});case"buffer":case"array":return xe.read(e,{type:"buffer"})}throw new Error("Unrecognized type "+t.type)}function ht(e,t){if("/"==e.charAt(0))return e.slice(1);var r=t.split("/");"/"!=t.slice(-1)&&r.pop();for(var a=e.split("/");0!==a.length;){var n=a.shift();".."===n?r.pop():"."!==n&&r.push(n)}return r.join("/")}var ut='\r\n',dt=/([^"\s?>\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g,pt=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,mt=ut.match(pt)?pt:/<[^>]*>/g,gt=/<\w*:/,vt=/<(\/?)\w+:/;function bt(e,t,r){for(var a={},n=0,s=0;n!==e.length&&32!==(s=e.charCodeAt(n))&&10!==s&&13!==s;++n);if(t||(a[0]=e.slice(0,n)),n===e.length)return a;var i=e.match(dt),o=0,c="",l=0,f="",h="",u=1;if(i)for(l=0;l!=i.length;++l){for(h=i[l],s=0;s!=h.length&&61!==h.charCodeAt(s);++s);for(f=h.slice(0,s).trim();32==h.charCodeAt(s+1);)++s;for(u=34==(n=h.charCodeAt(s+1))||39==n?1:0,c=h.slice(s+1+u,h.length-u),o=0;o!=f.length&&58!==f.charCodeAt(o);++o);if(o===f.length)f.indexOf("_")>0&&(f=f.slice(0,f.indexOf("_"))),a[f]=c,r||(a[f.toLowerCase()]=c);else{var d=(5===o&&"xmlns"===f.slice(0,5)?"xmlns":"")+f.slice(o+1);if(a[d]&&"ext"==f.slice(o-3,o))continue;a[d]=c,r||(a[d.toLowerCase()]=c)}}return a}function wt(e){return e.replace(vt,"<$1")}var Tt={""":'"',"'":"'",">":">","<":"<","&":"&"},Et=De(Tt),yt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,t=/_x([\da-fA-F]{4})_/gi;return function r(a){var n=a+"",s=n.indexOf("-1?16:10))||e}).replace(t,function(e,t){return String.fromCharCode(parseInt(t,16))});var i=n.indexOf("]]>");return r(n.slice(0,s))+n.slice(s+9,i)+r(n.slice(i+3))}}(),St=/[&<>'"]/g,kt=/[\u0000-\u0008\u000b-\u001f]/g;function _t(e){return(e+"").replace(St,function(e){return Et[e]}).replace(kt,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function At(e){return _t(e).replace(/ /g,"_x0020_")}var xt=/[\u0000-\u001f]/g;function Ct(e){return(e+"").replace(St,function(e){return Et[e]}).replace(/\n/g,"
").replace(xt,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}var Ot=function(){var e=/&#(\d+);/g;function t(e,t){return String.fromCharCode(parseInt(t,10))}return function(r){return r.replace(e,t)}}();function Rt(e){switch(e){case 1:case!0:case"1":case"true":case"TRUE":return!0;default:return!1}}function It(e){for(var t="",r=0,a=0,n=0,s=0,i=0,o=0;r191&&a<224?(i=(31&a)<<6,i|=63&n,t+=String.fromCharCode(i)):(s=e.charCodeAt(r++),a<240?t+=String.fromCharCode((15&a)<<12|(63&n)<<6|63&s):(o=((7&a)<<18|(63&n)<<12|(63&s)<<6|63&(i=e.charCodeAt(r++)))-65536,t+=String.fromCharCode(55296+(o>>>10&1023)),t+=String.fromCharCode(56320+(1023&o)))));return t}function Nt(e){var t,r,a,n=S(2*e.length),s=1,i=0,o=0;for(r=0;r>>10&1023),t=56320+(1023&t)),0!==o&&(n[i++]=255&o,n[i++]=o>>>8,o=0),n[i++]=t%256,n[i++]=t>>>8;return n.slice(0,i).toString("ucs2")}function Ft(e){return y(e,"binary").toString("utf8")}var Dt="foo bar baz☃🍣",Pt=E&&(Ft(Dt)==It(Dt)&&Ft||Nt(Dt)==It(Dt)&&Nt)||It,Lt=E?function(e){return y(e,"utf8").toString("binary")}:function(e){for(var t=[],r=0,a=0,n=0;r>6))),t.push(String.fromCharCode(128+(63&a)));break;case a>=55296&&a<57344:a-=55296,n=e.charCodeAt(r++)-56320+(a<<10),t.push(String.fromCharCode(240+(n>>18&7))),t.push(String.fromCharCode(144+(n>>12&63))),t.push(String.fromCharCode(128+(n>>6&63))),t.push(String.fromCharCode(128+(63&n)));break;default:t.push(String.fromCharCode(224+(a>>12))),t.push(String.fromCharCode(128+(a>>6&63))),t.push(String.fromCharCode(128+(63&a)))}return t.join("")},Mt=function(){var e={};return function(t,r){var a=t+"|"+(r||"");return e[a]?e[a]:e[a]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",r||"")}}(),Ut=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function(t){for(var r=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,""),a=0;a([\\s\\S]*?)","g")}}(),Wt=/<\/?(?:vt:)?variant>/g,Ht=/<(?:vt:)([^>]*)>([\s\S]*)"+t+""}function jt(e){return Ne(e).map(function(t){return" "+t+'="'+e[t]+'"'}).join("")}function Xt(e,t,r){return"<"+e+(null!=r?jt(r):"")+(null!=t?(t.match(Vt)?' xml:space="preserve"':"")+">"+t+""}function $t(e,t){try{return e.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function Yt(e){if(E&&Buffer.isBuffer(e))return e.toString("utf8");if("string"==typeof e)return e;if("undefined"!=typeof Uint8Array&&e instanceof Uint8Array)return Pt(x(C(e)));throw new Error("Bad input format: expected Buffer or string")}var Kt=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm,Jt="http://schemas.openxmlformats.org/package/2006/content-types",qt="http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",Zt="http://schemas.openxmlformats.org/officeDocument/2006/relationships",Qt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",er="http://www.w3.org/2001/XMLSchema-instance",tr=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"],rr="urn:schemas-microsoft-com:office:office",ar="urn:schemas-microsoft-com:office:excel",nr="urn:schemas-microsoft-com:office:spreadsheet",sr=function(e){for(var t=[],r=0;r0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:y(e)})):sr(e)}:sr,or=function(e,t,r){for(var a=[],n=t;n0?ur(e,t+4,t+4+r-1):""},pr=dr,mr=function(e,t){var r=Rr(e,t);return r>0?ur(e,t+4,t+4+r-1):""},gr=mr,vr=function(e,t){var r=2*Rr(e,t);return r>0?ur(e,t+4,t+4+r-1):""},br=vr,wr=function(e,t){var r=Rr(e,t);return r>0?cr(e,t+4,t+4+r):""},Tr=wr,Er=function(e,t){var r=Rr(e,t);return r>0?ur(e,t+4,t+4+r):""},yr=Er,Sr=function(e,t){return function(e,t){for(var r=1-2*(e[t+7]>>>7),a=((127&e[t+7])<<4)+(e[t+6]>>>4&15),n=15&e[t+6],s=5;s>=0;--s)n=256*n+e[t+s];return 2047==a?0==n?r*(1/0):NaN:(0==a?a=-1022:(a-=1023,n+=Math.pow(2,52)),r*Math.pow(2,a-52)*n)}(e,t)},kr=Sr,_r=function(e){return Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array};function Ar(){cr=function(e,t,r){return d.utils.decode(1200,e.slice(t,r)).replace(R,"")},ur=function(e,t,r){return d.utils.decode(65001,e.slice(t,r))},pr=function(e,t){var r=Rr(e,t);return r>0?d.utils.decode(s,e.slice(t+4,t+4+r-1)):""},gr=function(e,t){var r=Rr(e,t);return r>0?d.utils.decode(n,e.slice(t+4,t+4+r-1)):""},br=function(e,t){var r=2*Rr(e,t);return r>0?d.utils.decode(1200,e.slice(t+4,t+4+r-1)):""},Tr=function(e,t){var r=Rr(e,t);return r>0?d.utils.decode(1200,e.slice(t+4,t+4+r)):""},yr=function(e,t){var r=Rr(e,t);return r>0?d.utils.decode(65001,e.slice(t+4,t+4+r)):""}}E&&(pr=function(e,t){if(!Buffer.isBuffer(e))return dr(e,t);var r=e.readUInt32LE(t);return r>0?e.toString("utf8",t+4,t+4+r-1):""},gr=function(e,t){if(!Buffer.isBuffer(e))return mr(e,t);var r=e.readUInt32LE(t);return r>0?e.toString("utf8",t+4,t+4+r-1):""},br=function(e,t){if(!Buffer.isBuffer(e))return vr(e,t);var r=2*e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+r-1)},Tr=function(e,t){if(!Buffer.isBuffer(e))return wr(e,t);var r=e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+r)},yr=function(e,t){if(!Buffer.isBuffer(e))return Er(e,t);var r=e.readUInt32LE(t);return e.toString("utf8",t+4,t+4+r)},kr=function(e,t){return Buffer.isBuffer(e)?e.readDoubleLE(t):Sr(e,t)},_r=function(e){return Buffer.isBuffer(e)||Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array}),void 0!==d&&Ar();var xr=function(e,t){return e[t]},Cr=function(e,t){return 256*e[t+1]+e[t]},Or=function(e,t){var r=256*e[t+1]+e[t];return r<32768?r:-1*(65535-r+1)},Rr=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},Ir=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},Nr=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};function Fr(e,t){var r,a,s,i,o,c,l="",f=[];switch(t){case"dbcs":if(c=this.l,E&&Buffer.isBuffer(this))l=this.slice(this.l,this.l+2*e).toString("utf16le");else for(o=0;o0?Ir:Nr)(this,this.l),this.l+=4,r);case 8:case-8:if("f"===t)return a=8==e?kr(this,this.l):kr([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,a;e=8;case 16:l=fr(this,this.l,e)}}return this.l+=e,l}var Dr=function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255};function Pr(e,t,r){var a=0,n=0;if("dbcs"===r){for(n=0;n!=t.length;++n)Dr(this,t.charCodeAt(n),this.l+2*n);a=2*t.length}else if("sbcs"===r){if(void 0!==d&&874==s)for(n=0;n!=t.length;++n){var i=d.utils.encode(s,t.charAt(n));this[this.l+n]=i[0]}else for(t=t.replace(/[^\x00-\x7F]/g,"_"),n=0;n!=t.length;++n)this[this.l+n]=255&t.charCodeAt(n);a=t.length}else{if("hex"===r){for(;n>8}for(;this.l>>=8,this[this.l+1]=255&t;break;case 3:a=3,this[this.l]=255&t,t>>>=8,this[this.l+1]=255&t,t>>>=8,this[this.l+2]=255&t;break;case 4:a=4,function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24&255}(this,t,this.l);break;case 8:if(a=8,"f"===r){!function(e,t,r){var a=(t<0||1/t==-1/0?1:0)<<7,n=0,s=0,i=a?-t:t;isFinite(i)?0==i?n=s=0:(n=Math.floor(Math.log(i)/Math.LN2),s=i*Math.pow(2,52-n),n<=-1023&&(!isFinite(s)||s>4|a}(this,t,this.l);break}case 16:break;case-4:a=4,function(e,t,r){e[r]=255&t,e[r+1]=t>>8&255,e[r+2]=t>>16&255,e[r+3]=t>>24&255}(this,t,this.l)}}return this.l+=a,this}function Lr(e,t){var r=fr(this,this.l,e.length>>1);if(r!==e)throw new Error(t+"Expected "+e+" saw "+r);this.l+=e.length>>1}function Mr(e,t){e.l=t,e.read_shift=Fr,e.chk=Lr,e.write_shift=Pr}function Ur(e,t){e.l+=t}function Br(e){var t=S(e);return Mr(t,0),t}function Wr(e,t,r){if(e){var a,n,s;Mr(e,e.l||0);for(var i=e.length,o=0,c=0;e.la.l&&((a=a.slice(0,a.l)).l=a.length),a.length>0&&e.push(a),a=null)},s=function(e){return a&&e=128?1:0)+1,a>=128&&++n,a>=16384&&++n,a>=2097152&&++n;var i=e.next(n);s<=127?i.write_shift(1,s):(i.write_shift(1,128+(127&s)),i.write_shift(1,s>>7));for(var o=0;4!=o;++o){if(!(a>=128)){i.write_shift(1,a);break}i.write_shift(1,128+(127&a)),a>>=7}a>0&&_r(r)&&e.push(r)}}function Vr(e,t,r){var a=Ye(e);if(t.s?(a.cRel&&(a.c+=t.s.c),a.rRel&&(a.r+=t.s.r)):(a.cRel&&(a.c+=t.c),a.rRel&&(a.r+=t.r)),!r||r.biff<12){for(;a.c>=256;)a.c-=256;for(;a.r>=65536;)a.r-=65536}return a}function Gr(e,t,r){var a=Ye(e);return a.s=Vr(a.s,t.s,r),a.e=Vr(a.e,t.s,r),a}function jr(e,t){if(e.cRel&&e.c<0)for(e=Ye(e);e.c<0;)e.c+=t>8?16384:256;if(e.rRel&&e.r<0)for(e=Ye(e);e.r<0;)e.r+=t>8?1048576:t>5?65536:16384;var r=Zr(e);return e.cRel||null==e.cRel||(r=r.replace(/^([A-Z])/,"$$$1")),e.rRel||null==e.rRel||(r=r.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")),r}function Xr(e,t){return 0!=e.s.r||e.s.rRel||e.e.r!=(t.biff>=12?1048575:t.biff>=8?65536:16384)||e.e.rRel?0!=e.s.c||e.s.cRel||e.e.c!=(t.biff>=12?16383:255)||e.e.cRel?jr(e.s,t.biff)+":"+jr(e.e,t.biff):(e.s.rRel?"":"$")+Yr(e.s.r)+":"+(e.e.rRel?"":"$")+Yr(e.e.r):(e.s.cRel?"":"$")+Jr(e.s.c)+":"+(e.e.cRel?"":"$")+Jr(e.e.c)}function $r(e){return parseInt(e.replace(/\$(\d+)$/,"$1"),10)-1}function Yr(e){return""+(e+1)}function Kr(e){for(var t=e.replace(/^\$([A-Z])/,"$1"),r=0,a=0;a!==t.length;++a)r=26*r+t.charCodeAt(a)-64;return r-1}function Jr(e){if(e<0)throw new Error("invalid column "+e);var t="";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function qr(e){for(var t=0,r=0,a=0;a=48&&n<=57?t=10*t+(n-48):n>=65&&n<=90&&(r=26*r+(n-64))}return{c:r-1,r:t-1}}function Zr(e){for(var t=e.c+1,r="";t;t=(t-1)/26|0)r=String.fromCharCode((t-1)%26+65)+r;return r+(e.r+1)}function Qr(e){var t=e.indexOf(":");return-1==t?{s:qr(e),e:qr(e)}:{s:qr(e.slice(0,t)),e:qr(e.slice(t+1))}}function ea(e,t){return void 0===t||"number"==typeof t?ea(e.s,e.e):("string"!=typeof e&&(e=Zr(e)),"string"!=typeof t&&(t=Zr(t)),e==t?e:e+":"+t)}function ta(e){var t={s:{c:0,r:0},e:{c:0,r:0}},r=0,a=0,n=0,s=e.length;for(r=0;a26);++a)r=26*r+n;for(t.s.c=--r,r=0;a9);++a)r=10*r+n;if(t.s.r=--r,a===s||10!=n)return t.e.c=t.s.c,t.e.r=t.s.r,t;for(++a,r=0;a!=s&&!((n=e.charCodeAt(a)-64)<1||n>26);++a)r=26*r+n;for(t.e.c=--r,r=0;a!=s&&!((n=e.charCodeAt(a)-48)<0||n>9);++a)r=10*r+n;return t.e.r=--r,t}function ra(e,t,r){return null==e||null==e.t||"z"==e.t?"":void 0!==e.w?e.w:("d"==e.t&&!e.z&&r&&r.dateNF&&(e.z=r.dateNF),"e"==e.t?Wa[e.v]||e.v:function(e,t){var r="d"==e.t&&t instanceof Date;if(null!=e.z)try{return e.w=we(e.z,r?Me(t):t)}catch(e){}try{return e.w=we((e.XF||{}).numFmtId||(r?14:0),r?Me(t):t)}catch(e){return""+t}}(e,null==t?e.v:t))}function aa(e,t){var r=t&&t.sheet?t.sheet:"Sheet1",a={};return a[r]=e,{SheetNames:[r],Sheets:a}}function na(e,t,r){var a=r||{},n=e?Array.isArray(e):a.dense,s=e||(n?[]:{}),i=0,o=0;if(s&&null!=a.origin){if("number"==typeof a.origin)i=a.origin;else{var c="string"==typeof a.origin?qr(a.origin):a.origin;i=c.r,o=c.c}s["!ref"]||(s["!ref"]="A1:A1")}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(s["!ref"]){var f=ta(s["!ref"]);l.s.c=f.s.c,l.s.r=f.s.r,l.e.c=Math.max(l.e.c,f.e.c),l.e.r=Math.max(l.e.r,f.e.r),-1==i&&(l.e.r=i=f.e.r+1)}for(var h=0;h!=t.length;++h)if(t[h]){if(!Array.isArray(t[h]))throw new Error("aoa_to_sheet expects an array of arrays");for(var u=0;u!=t[h].length;++u)if(void 0!==t[h][u]){var d={v:t[h][u]},p=i+h,m=o+u;if(l.s.r>p&&(l.s.r=p),l.s.c>m&&(l.s.c=m),l.e.r0&&t.write_shift(0,e,"dbcs"),r?t.slice(0,t.l):t}function la(e){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function fa(e,t){var r=e.l,a=e.read_shift(1),n=oa(e),s=[],i={t:n,h:n};if(1&a){for(var o=e.read_shift(4),c=0;c!=o;++c)s.push(la(e));i.r=s}else i.r=[{ich:0,ifnt:0}];return e.l=r+t,i}var ha=fa;function ua(e){var t=e.read_shift(4),r=e.read_shift(2);return r+=e.read_shift(1)<<16,e.l++,{c:t,iStyleRef:r}}function da(e,t){return null==t&&(t=Br(8)),t.write_shift(-4,e.c),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}function pa(e){var t=e.read_shift(2);return t+=e.read_shift(1)<<16,e.l++,{c:-1,iStyleRef:t}}function ma(e,t){return null==t&&(t=Br(4)),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}var ga=oa,va=ca;function ba(e){var t=e.read_shift(4);return 0===t||4294967295===t?"":e.read_shift(t,"dbcs")}function wa(e,t){var r=!1;return null==t&&(r=!0,t=Br(127)),t.write_shift(4,e.length>0?e.length:4294967295),e.length>0&&t.write_shift(0,e,"dbcs"),r?t.slice(0,t.l):t}var Ta=oa,Ea=ba,ya=wa;function Sa(e){var t=e.slice(e.l,e.l+4),r=1&t[0],a=2&t[0];e.l+=4;var n=0===a?kr([0,0,0,0,252&t[0],t[1],t[2],t[3]],0):Ir(t,0)>>2;return r?n/100:n}function ka(e,t){null==t&&(t=Br(4));var r=0,a=0,n=100*e;if(e==(0|e)&&e>=-(1<<29)&&e<1<<29?a=1:n==(0|n)&&n>=-(1<<29)&&n<1<<29&&(a=1,r=1),!a)throw new Error("unsupported RkNumber "+e);t.write_shift(-4,((r?n:e)<<2)+(r+2))}function _a(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}var Aa=_a,xa=function(e,t){return t||(t=Br(16)),t.write_shift(4,e.s.r),t.write_shift(4,e.e.r),t.write_shift(4,e.s.c),t.write_shift(4,e.e.c),t};function Ca(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e.read_shift(8,"f")}function Oa(e,t){return(t||Br(8)).write_shift(8,e,"f")}function Ra(e,t){if(t||(t=Br(8)),!e||e.auto)return t.write_shift(4,0),t.write_shift(4,0),t;null!=e.index?(t.write_shift(1,2),t.write_shift(1,e.index)):null!=e.theme?(t.write_shift(1,6),t.write_shift(1,e.theme)):(t.write_shift(1,5),t.write_shift(1,0));var r=e.tint||0;if(r>0?r*=32767:r<0&&(r*=32768),t.write_shift(2,r),e.rgb&&null==e.theme){var a=e.rgb||"FFFFFF";"number"==typeof a&&(a=("000000"+a.toString(16)).slice(-6)),t.write_shift(1,parseInt(a.slice(0,2),16)),t.write_shift(1,parseInt(a.slice(2,4),16)),t.write_shift(1,parseInt(a.slice(4,6),16)),t.write_shift(1,255)}else t.write_shift(2,0),t.write_shift(1,0),t.write_shift(1,0);return t}function Ia(e,t){var r=e.read_shift(4);switch(r){case 0:return"";case 4294967295:case 4294967294:return{2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"}[e.read_shift(4)]||""}if(r>400)throw new Error("Unsupported Clipboard: "+r.toString(16));return e.l-=4,e.read_shift(0,1==t?"lpstr":"lpwstr")}var Na=80,Fa=[Na,81],Da={1:{n:"CodePage",t:2},2:{n:"Category",t:Na},3:{n:"PresentationFormat",t:Na},4:{n:"ByteCount",t:3},5:{n:"LineCount",t:3},6:{n:"ParagraphCount",t:3},7:{n:"SlideCount",t:3},8:{n:"NoteCount",t:3},9:{n:"HiddenCount",t:3},10:{n:"MultimediaClipCount",t:3},11:{n:"ScaleCrop",t:11},12:{n:"HeadingPairs",t:4108},13:{n:"TitlesOfParts",t:4126},14:{n:"Manager",t:Na},15:{n:"Company",t:Na},16:{n:"LinksUpToDate",t:11},17:{n:"CharacterCount",t:3},19:{n:"SharedDoc",t:11},22:{n:"HyperlinksChanged",t:11},23:{n:"AppVersion",t:3,p:"version"},24:{n:"DigSig",t:65},26:{n:"ContentType",t:Na},27:{n:"ContentStatus",t:Na},28:{n:"Language",t:Na},29:{n:"Version",t:Na},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},Pa={1:{n:"CodePage",t:2},2:{n:"Title",t:Na},3:{n:"Subject",t:Na},4:{n:"Author",t:Na},5:{n:"Keywords",t:Na},6:{n:"Comments",t:Na},7:{n:"Template",t:Na},8:{n:"LastAuthor",t:Na},9:{n:"RevNumber",t:Na},10:{n:"EditTime",t:64},11:{n:"LastPrinted",t:64},12:{n:"CreatedDate",t:64},13:{n:"ModifiedDate",t:64},14:{n:"PageCount",t:3},15:{n:"WordCount",t:3},16:{n:"CharCount",t:3},17:{n:"Thumbnail",t:71},18:{n:"Application",t:Na},19:{n:"DocSecurity",t:3},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},La={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"},Ma=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Ua(e){return e.map(function(e){return[e>>16&255,e>>8&255,255&e]})}var Ba=Ye(Ua([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),Wa={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"},Ha={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255},za={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"},Va={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function Ga(e,t){var r,a=function(e){for(var t=[],r=Ne(e),a=0;a!==r.length;++a)null==t[e[r[a]]]&&(t[e[r[a]]]=[]),t[e[r[a]]].push(r[a]);return t}(za),n=[];n[n.length]=ut,n[n.length]=Xt("Types",null,{xmlns:Jt,"xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":er}),n=n.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return Xt("Default",null,{Extension:e[0],ContentType:e[1]})}));var s=function(a){e[a]&&e[a].length>0&&(r=e[a][0],n[n.length]=Xt("Override",null,{PartName:("/"==r[0]?"":"/")+r,ContentType:Va[a][t.bookType]||Va[a].xlsx}))},i=function(r){(e[r]||[]).forEach(function(e){n[n.length]=Xt("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:Va[r][t.bookType]||Va[r].xlsx})})},o=function(t){(e[t]||[]).forEach(function(e){n[n.length]=Xt("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:a[t][0]})})};return s("workbooks"),i("sheets"),i("charts"),o("themes"),["strs","styles"].forEach(s),["coreprops","extprops","custprops"].forEach(o),o("vba"),o("comments"),o("threadedcomments"),o("drawings"),i("metadata"),o("people"),n.length>2&&(n[n.length]="",n[1]=n[1].replace("/>",">")),n.join("")}var ja={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Xa(e){var t=e.lastIndexOf("/");return e.slice(0,t+1)+"_rels/"+e.slice(t+1)+".rels"}function $a(e,t){var r={"!id":{}};if(!e)return r;"/"!==t.charAt(0)&&(t="/"+t);var a={};return(e.match(mt)||[]).forEach(function(e){var n=bt(e);if("2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Ka(e,t,r,a,n,s){if(n||(n={}),e["!id"]||(e["!id"]={}),e["!idx"]||(e["!idx"]=1),t<0)for(t=e["!idx"];e["!id"]["rId"+t];++t);if(e["!idx"]=t+1,n.Id="rId"+t,n.Type=a,n.Target=r,s?n.TargetMode=s:[ja.HLINK,ja.XPATH,ja.XMISS].indexOf(n.Type)>-1&&(n.TargetMode="External"),e["!id"][n.Id])throw new Error("Cannot rewrite rId "+t);return e["!id"][n.Id]=n,e[("/"+n.Target).replace("//","/")]=n,t}function Ja(e,t,r){return[' \n',' \n'," \n"].join("")}function qa(e,t){return[' \n',' \n'," \n"].join("")}function Za(){return'SheetJS '+a+""}var Qa=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]],en=function(){for(var e=new Array(Qa.length),t=0;t]*>([\\s\\S]*?)")}return e}();function tn(e){var t={};e=Pt(e);for(var r=0;r0&&(t[a[1]]=yt(n[1])),"date"===a[2]&&t[a[1]]&&(t[a[1]]=Xe(t[a[1]]))}return t}function rn(e,t,r,a,n){null==n[e]&&null!=t&&""!==t&&(n[e]=t,t=_t(t),a[a.length]=r?Xt(e,t,r):Gt(e,t))}function an(e,t){var r=t||{},a=[ut,Xt("cp:coreProperties",null,{"xmlns:cp":"http://schemas.openxmlformats.org/package/2006/metadata/core-properties","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:dcterms":"http://purl.org/dc/terms/","xmlns:dcmitype":"http://purl.org/dc/dcmitype/","xmlns:xsi":er})],n={};if(!e&&!r.Props)return a.join("");e&&(null!=e.CreatedDate&&rn("dcterms:created","string"==typeof e.CreatedDate?e.CreatedDate:$t(e.CreatedDate,r.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n),null!=e.ModifiedDate&&rn("dcterms:modified","string"==typeof e.ModifiedDate?e.ModifiedDate:$t(e.ModifiedDate,r.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n));for(var s=0;s!=Qa.length;++s){var i=Qa[s],o=r.Props&&null!=r.Props[i[1]]?r.Props[i[1]]:e?e[i[1]]:null;!0===o?o="1":!1===o?o="0":"number"==typeof o&&(o=String(o)),null!=o&&rn(i[0],o,null,a,n)}return a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}var nn=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]],sn=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function on(e,t,r,a){var n=[];if("string"==typeof e)n=zt(e,a);else for(var s=0;s0)for(var l=0;l!==n.length;l+=2){switch(c=+n[l+1].v,n[l].v){case"Worksheets":case"工作表":case"Листы":case"أوراق العمل":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Regneark":case"Hojas de cálculo":case"Werkbladen":r.Worksheets=c,r.SheetNames=i.slice(o,o+c);break;case"Named Ranges":case"Rangos con nombre":case"名前付き一覧":case"Benannte Bereiche":case"Navngivne områder":r.NamedRanges=c,r.DefinedNames=i.slice(o,o+c);break;case"Charts":case"Diagramme":r.Chartsheets=c,r.ChartNames=i.slice(o,o+c)}o+=c}}function cn(e){var t=[],r=Xt;return e||(e={}),e.Application="SheetJS",t[t.length]=ut,t[t.length]=Xt("Properties",null,{xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties","xmlns:vt":Qt}),nn.forEach(function(a){if(void 0!==e[a[1]]){var n;switch(a[2]){case"string":n=_t(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false"}void 0!==n&&(t[t.length]=r(a[0],n))}}),t[t.length]=r("HeadingPairs",r("vt:vector",r("vt:variant","Worksheets")+r("vt:variant",r("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"})),t[t.length]=r("TitlesOfParts",r("vt:vector",e.SheetNames.map(function(e){return""+_t(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"})),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var ln=/<[^>]+>[^<]*/g;function fn(e){var t=[ut,Xt("Properties",null,{xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties","xmlns:vt":Qt})];if(!e)return t.join("");var r=1;return Ne(e).forEach(function(a){++r,t[t.length]=Xt("property",function(e){switch(typeof e){case"string":var t=Xt("vt:lpwstr",_t(e));return t=t.replace(/"/g,"_x0022_");case"number":return Xt((0|e)==e?"vt:i4":"vt:r8",_t(String(e)));case"boolean":return Xt("vt:bool",e?"true":"false")}if(e instanceof Date)return Xt("vt:filetime",$t(e));throw new Error("Unable to serialize "+e)}(e[a]),{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:r,name:_t(a)})}),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var hn,un={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};function dn(e,t,r){hn||(hn=De(un)),e[t=hn[t]||t]=r}function pn(e){var t=e.read_shift(4),r=e.read_shift(4);return new Date(1e3*(r/1e7*Math.pow(2,32)+t/1e7-11644473600)).toISOString().replace(/\.000/,"")}function mn(e,t,r){var a=e.l,n=e.read_shift(0,"lpstr-cp");if(r)for(;e.l-a&3;)++e.l;return n}function gn(e,t,r){var a=e.read_shift(0,"lpwstr");return r&&(e.l+=4-(a.length+1&3)&3),a}function vn(e,t,r){return 31===t?gn(e):mn(e,0,r)}function bn(e,t,r){return vn(e,t,!1===r?0:4)}function wn(e){var t=e.l,r=yn(e,81);return 0==e[e.l]&&0==e[e.l+1]&&e.l-t&2&&(e.l+=2),[r,yn(e,3)]}function Tn(e,t){for(var r=e.read_shift(4),a={},n=0;n!=r;++n){var s=e.read_shift(4),i=e.read_shift(4);a[s]=e.read_shift(i,1200===t?"utf16le":"utf8").replace(R,"").replace(I,"!"),1200===t&&i%2&&(e.l+=2)}return 3&e.l&&(e.l=e.l>>3<<2),a}function En(e){var t=e.read_shift(4),r=e.slice(e.l,e.l+t);return e.l+=t,(3&t)>0&&(e.l+=4-(3&t)&3),r}function yn(e,t,r){var a,n=e.read_shift(2),s=r||{};if(e.l+=2,12!==t&&n!==t&&-1===Fa.indexOf(t)&&(4126!=(65534&t)||4126!=(65534&n)))throw new Error("Expected type "+t+" saw "+n);switch(12===t?n:t){case 2:return a=e.read_shift(2,"i"),s.raw||(e.l+=2),a;case 3:return e.read_shift(4,"i");case 11:return 0!==e.read_shift(4);case 19:return e.read_shift(4);case 30:return mn(e,0,4).replace(R,"");case 31:return gn(e);case 64:return pn(e);case 65:return En(e);case 71:return function(e){var t={};return t.Size=e.read_shift(4),e.l+=t.Size+3-(t.Size-1)%4,t}(e);case 80:return bn(e,n,!s.raw).replace(R,"");case 81:return function(e,t){if(!t)throw new Error("VtUnalignedString must have positive length");return vn(e,t,0)}(e,n).replace(R,"");case 4108:return function(e){for(var t=e.read_shift(4),r=[],a=0;a0&&(r%=Math.pow(2,32),a+=n);var s=Br(8);return s.write_shift(4,r),s.write_shift(4,a),s}(t);break;case 31:case 80:for((a=Br(4+2*(t.length+1)+(t.length%2?0:2))).write_shift(4,t.length+1),a.write_shift(0,t,"dbcs");a.l!=a.length;)a.write_shift(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+t)}return O([r,a])}function kn(e,t){var r=e.l,a=e.read_shift(4),n=e.read_shift(4),s=[],i=0,o=0,c=-1,f={};for(i=0;i!=n;++i){var h=e.read_shift(4),u=e.read_shift(4);s[i]=[h,u+r]}s.sort(function(e,t){return e[1]-t[1]});var d={};for(i=0;i!=n;++i){if(e.l!==s[i][1]){var p=!0;if(i>0&&t)switch(t[s[i-1][0]].t){case 2:e.l+2===s[i][1]&&(e.l+=2,p=!1);break;case 80:case 4108:e.l<=s[i][1]&&(e.l=s[i][1],p=!1)}if((!t||0==i)&&e.l<=s[i][1]&&(p=!1,e.l=s[i][1]),p)throw new Error("Read Error: Expected address "+s[i][1]+" at "+e.l+" :"+i)}if(t){var m=t[s[i][0]];if(d[m.n]=yn(e,m.t,{raw:!0}),"version"===m.p&&(d[m.n]=String(d[m.n]>>16)+"."+("0000"+String(65535&d[m.n])).slice(-4)),"CodePage"==m.n)switch(d[m.n]){case 0:d[m.n]=1252;case 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252:case 65e3:case-536:case 65001:case-535:l(o=d[m.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[m.n])}}else if(1===s[i][0]){if(o=d.CodePage=yn(e,2),l(o),-1!==c){var g=e.l;e.l=s[c][1],f=Tn(e,o),e.l=g}}else if(0===s[i][0]){if(0===o){c=i,e.l=s[i+1][1];continue}f=Tn(e,o)}else{var v,b=f[s[i][0]];switch(e[e.l]){case 65:e.l+=4,v=En(e);break;case 30:case 31:e.l+=4,v=bn(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4,v=e.read_shift(4,"i");break;case 19:e.l+=4,v=e.read_shift(4);break;case 5:e.l+=4,v=e.read_shift(8,"f");break;case 11:e.l+=4,v=In(e,4);break;case 64:e.l+=4,v=Xe(pn(e));break;default:throw new Error("unparsed value: "+e[e.l])}d[b]=v}}return e.l=r+a,d}var _n=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function An(e){switch(typeof e){case"boolean":return 11;case"number":return(0|e)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64}return-1}function xn(e,t,r){var a=Br(8),n=[],s=[],i=8,o=0,c=Br(8),l=Br(8);if(c.write_shift(4,2),c.write_shift(4,1200),l.write_shift(4,1),s.push(c),n.push(l),i+=8+c.length,!t){(l=Br(8)).write_shift(4,0),n.unshift(l);var f=[Br(4)];for(f[0].write_shift(4,e.length),o=0;o-1||sn.indexOf(e[o][0])>-1)&&null!=e[o][1]){var u=e[o][1],d=0;if(t){var p=r[d=+t[e[o][0]]];if("version"==p.p&&"string"==typeof u){var m=u.split(".");u=(+m[0]<<16)+(+m[1]||0)}c=Sn(p.t,u)}else{var g=An(u);-1==g&&(g=31,u=String(u)),c=Sn(g,u)}s.push(c),(l=Br(8)).write_shift(4,t?d:2+o),n.push(l),i+=8+c.length}var v=8*(s.length+1);for(o=0;o=12?2:1),s="sbcs-cont",i=n;r&&r.biff>=8&&(n=1200),r&&8!=r.biff?12==r.biff&&(s="wstr"):e.read_shift(1)&&(s="dbcs-cont"),r.biff>=2&&r.biff<=5&&(s="cpstr");var o=a?e.read_shift(a,s):"";return n=i,o}function Un(e){var t=n;n=1200;var r,a=e.read_shift(2),s=e.read_shift(1),i=4&s,o=8&s,c=1+(1&s),l=0,f={};o&&(l=e.read_shift(2)),i&&(r=e.read_shift(4));var h=2==c?"dbcs-cont":"sbcs-cont",u=0===a?"":e.read_shift(a,h);return o&&(e.l+=4*l),i&&(e.l+=r),f.t=u,o||(f.raw=""+f.t+"",f.r=f.t),n=t,f}function Bn(e){var t=e.t||"",r=Br(3);r.write_shift(2,t.length),r.write_shift(1,1);var a=Br(2*t.length);return a.write_shift(2*t.length,t,"utf16le"),O([r,a])}function Wn(e,t,r){if(r){if(r.biff>=2&&r.biff<=5)return e.read_shift(t,"cpstr");if(r.biff>=12)return e.read_shift(t,"dbcs-cont")}return 0===e.read_shift(1)?e.read_shift(t,"sbcs-cont"):e.read_shift(t,"dbcs-cont")}function Hn(e,t,r){var a=e.read_shift(r&&2==r.biff?1:2);return 0===a?(e.l++,""):Wn(e,a,r)}function zn(e,t,r){if(r.biff>5)return Hn(e,0,r);var a=e.read_shift(1);return 0===a?(e.l++,""):e.read_shift(a,r.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function Vn(e,t,r){return r||(r=Br(3+2*e.length)),r.write_shift(2,e.length),r.write_shift(1,1),r.write_shift(31,e,"utf16le"),r}function Gn(e){var t=e.read_shift(4);return t>0?e.read_shift(t,"utf16le").replace(R,""):""}function jn(e,t){t||(t=Br(6+2*e.length)),t.write_shift(4,1+e.length);for(var r=0;r-1?31:23;switch(a.charAt(0)){case"#":s=28;break;case".":s&=-3}t.write_shift(4,2),t.write_shift(4,s);var i=[8,6815827,6619237,4849780,83];for(r=0;r-1?a.slice(0,n):a;for(t.write_shift(4,2*(o.length+1)),r=0;r-1?a.slice(n+1):"",t)}else{for(i="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" "),r=0;r8?4:2;return[e.read_shift(a),e.read_shift(a,"i"),e.read_shift(a,"i")]}function Zn(e){return[e.read_shift(2),Sa(e)]}function Qn(e){var t=e.read_shift(2),r=e.read_shift(2);return{s:{c:e.read_shift(2),r:t},e:{c:e.read_shift(2),r}}}function es(e,t){return t||(t=Br(8)),t.write_shift(2,e.s.r),t.write_shift(2,e.e.r),t.write_shift(2,e.s.c),t.write_shift(2,e.e.c),t}function ts(e){var t=e.read_shift(2),r=e.read_shift(2);return{s:{c:e.read_shift(1),r:t},e:{c:e.read_shift(1),r}}}var rs=ts;function as(e){e.l+=4;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(2);return e.l+=12,[r,t,a]}function ns(e){e.l+=2,e.l+=e.read_shift(2)}var ss={0:ns,4:ns,5:ns,6:ns,7:function(e){return e.l+=4,e.cf=e.read_shift(2),{}},8:ns,9:ns,10:ns,11:ns,12:ns,13:function(e){var t={};return e.l+=4,e.l+=16,t.fSharedNote=e.read_shift(2),e.l+=4,t},14:ns,15:ns,16:ns,17:ns,18:ns,19:ns,20:ns,21:as};function is(e,t){var r={BIFFVer:0,dt:0};switch(r.BIFFVer=e.read_shift(2),(t-=2)>=2&&(r.dt=e.read_shift(2),e.l-=2),r.BIFFVer){case 1536:case 1280:case 1024:case 768:case 512:case 2:case 7:break;default:if(t>6)throw new Error("Unexpected BIFF Ver "+r.BIFFVer)}return e.read_shift(t),r}function os(e,t,r){var a=1536,n=16;switch(r.bookType){case"biff8":case"xla":break;case"biff5":a=1280,n=8;break;case"biff4":a=4,n=6;break;case"biff3":a=3,n=6;break;case"biff2":a=2,n=4;break;default:throw new Error("unsupported BIFF version")}var s=Br(n);return s.write_shift(2,a),s.write_shift(2,t),n>4&&s.write_shift(2,29282),n>6&&s.write_shift(2,1997),n>8&&(s.write_shift(2,49161),s.write_shift(2,1),s.write_shift(2,1798),s.write_shift(2,0)),s}function cs(e,t){var r=!t||t.biff>=8?2:1,a=Br(8+r*e.name.length);a.write_shift(4,e.pos),a.write_shift(1,e.hs||0),a.write_shift(1,e.dt),a.write_shift(1,e.name.length),t.biff>=8&&a.write_shift(1,1),a.write_shift(r*e.name.length,e.name,t.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);return n.l=a.l,n}function ls(e,t,r){var a=0;r&&2==r.biff||(a=e.read_shift(2));var n=e.read_shift(2);return r&&2==r.biff&&(a=1-(n>>15),n&=32767),[{Unsynced:1&a,DyZero:(2&a)>>1,ExAsc:(4&a)>>2,ExDsc:(8&a)>>3},n]}function fs(e,t,r,a){var n=r&&5==r.biff;a||(a=Br(n?3+t.length:5+2*t.length)),a.write_shift(2,e),a.write_shift(n?1:2,t.length),n||a.write_shift(1,1),a.write_shift((n?1:2)*t.length,t,n?"sbcs":"utf16le");var s=a.length>a.l?a.slice(0,a.l):a;return null==s.l&&(s.l=s.length),s}var hs=zn;function us(e,t,r){var a=e.l+t,n=8!=r.biff&&r.biff?2:4,s=e.read_shift(n),i=e.read_shift(n),o=e.read_shift(2),c=e.read_shift(2);return e.l=a,{s:{r:s,c:o},e:{r:i,c}}}function ds(e,t,r,a){var n=r&&5==r.biff;a||(a=Br(n?16:20)),a.write_shift(2,0),e.style?(a.write_shift(2,e.numFmtId||0),a.write_shift(2,65524)):(a.write_shift(2,e.numFmtId||0),a.write_shift(2,t<<4));var s=0;return e.numFmtId>0&&n&&(s|=1024),a.write_shift(4,s),a.write_shift(4,0),n||a.write_shift(4,0),a.write_shift(2,0),a}function ps(e,t,r){var a=Kn(e);2!=r.biff&&9!=t||++e.l;var n=function(e){var t=e.read_shift(1);return 1===e.read_shift(1)?t:1===t}(e);return a.val=n,a.t=!0===n||!1===n?"b":"e",a}var ms=function(e,t,r){return 0===t?"":zn(e,0,r)};function gs(e,t,r){var a,n=e.read_shift(2),s={fBuiltIn:1&n,fWantAdvise:n>>>1&1,fWantPict:n>>>2&1,fOle:n>>>3&1,fOleLink:n>>>4&1,cf:n>>>5&1023,fIcon:n>>>15&1};return 14849===r.sbcch&&(a=function(e,t,r){e.l+=4,t-=4;var a=e.l+t,n=Mn(e,0,r),s=e.read_shift(2);if(s!==(a-=e.l))throw new Error("Malformed AddinUdf: padding = "+a+" != "+s);return e.l+=s,n}(e,t-2,r)),s.body=a||e.read_shift(t-2),"string"==typeof a&&(s.Name=a),s}var vs=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function bs(e,t,r){var a=e.l+t,n=e.read_shift(2),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(r&&2==r.biff?1:2),c=0;(!r||r.biff>=5)&&(5!=r.biff&&(e.l+=2),c=e.read_shift(2),5==r.biff&&(e.l+=2),e.l+=4);var l=Wn(e,i,r);32&n&&(l=vs[l.charCodeAt(0)]);var f=a-e.l;r&&2==r.biff&&--f;var h=a!=e.l&&0!==o&&f>0?function(e,t,r,a){var n,s=e.l+t,i=_o(e,a,r);return s!==e.l&&(n=ko(e,s-e.l,i,r)),[i,n]}(e,f,r,o):[];return{chKey:s,Name:l,itab:c,rgce:h}}function ws(e,t,r){if(r.biff<8)return function(e,t,r){3==e[e.l+1]&&e[e.l]++;var a=Mn(e,0,r);return 3==a.charCodeAt(0)?a.slice(1):a}(e,0,r);for(var a=[],n=e.l+t,s=e.read_shift(r.biff>8?4:2);0!==s--;)a.push(qn(e,r.biff,r));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Ts(e,t,r){var a=rs(e,6);switch(r.biff){case 2:e.l++,t-=7;break;case 3:case 4:e.l+=2,t-=8;break;default:e.l+=6,t-=12}return[a,Io(e,t,r)]}var Es={8:function(e,t){var r=e.l+t;e.l+=10;var a=e.read_shift(2);e.l+=4,e.l+=2,e.l+=2,e.l+=2,e.l+=4;var n=e.read_shift(1);return e.l+=n,e.l=r,{fmt:a}}};function ys(e){var t=Br(24),r=qr(e[0]);t.write_shift(2,r.r),t.write_shift(2,r.r),t.write_shift(2,r.c),t.write_shift(2,r.c);for(var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "),n=0;n<16;++n)t.write_shift(1,parseInt(a[n],16));return O([t,Xn(e[1])])}function Ss(e){var t=e[1].Tooltip,r=Br(10+2*(t.length+1));r.write_shift(2,2048);var a=qr(e[0]);r.write_shift(2,a.r),r.write_shift(2,a.r),r.write_shift(2,a.c),r.write_shift(2,a.c);for(var n=0;n=12?4:2,n=e.read_shift(a),s=e.read_shift(a),i=e.read_shift(a),o=e.read_shift(a),c=e.read_shift(2);2==a&&(e.l+=2);var l={s:n,e:s,w:i,ixfe:o,flags:c};return(r.biff>=5||!r.biff)&&(l.level=c>>8&7),l}var _s=Kn,As=Pn,xs=Hn,Cs=[2,3,48,49,131,139,140,245],Os=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},t=De({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function r(t,r){var a=r||{};a.dateNF||(a.dateNF="yyyymmdd");var n=sa(function(t,r){var a=[],n=S(1);switch(r.type){case"base64":n=_(T(t));break;case"binary":n=_(t);break;case"buffer":case"array":n=t}Mr(n,0);var s=n.read_shift(1),i=!!(136&s),o=!1,c=!1;switch(s){case 2:case 3:case 131:case 139:case 245:break;case 48:case 49:o=!0,i=!0;break;case 140:c=!0;break;default:throw new Error("DBF Unsupported Version: "+s.toString(16))}var l=0,f=521;2==s&&(l=n.read_shift(2)),n.l+=3,2!=s&&(l=n.read_shift(4)),l>1048576&&(l=1e6),2!=s&&(f=n.read_shift(2));var h=n.read_shift(2),u=r.codepage||1252;2!=s&&(n.l+=16,n.read_shift(1),0!==n[n.l]&&(u=e[n[n.l]]),n.l+=1,n.l+=2),c&&(n.l+=36);for(var p=[],m={},g=Math.min(n.length,2==s?521:f-10-(o?264:0)),v=c?32:11;n.l0;)if(42!==n[n.l])for(++n.l,a[++b]=[],w=0,w=0;w!=p.length;++w){var E=n.slice(n.l,n.l+p[w].len);n.l+=p[w].len,Mr(E,0);var y=d.utils.decode(u,E);switch(p[w].type){case"C":y.trim().length&&(a[b][w]=y.replace(/\s+$/,""));break;case"D":8===y.length?a[b][w]=new Date(+y.slice(0,4),+y.slice(4,6)-1,+y.slice(6,8)):a[b][w]=y;break;case"F":a[b][w]=parseFloat(y.trim());break;case"+":case"I":a[b][w]=c?2147483648^E.read_shift(-4,"i"):E.read_shift(4,"i");break;case"L":switch(y.trim().toUpperCase()){case"Y":case"T":a[b][w]=!0;break;case"N":case"F":a[b][w]=!1;break;case"":case"?":break;default:throw new Error("DBF Unrecognized L:|"+y+"|")}break;case"M":if(!i)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));a[b][w]="##MEMO##"+(c?parseInt(y.trim(),10):E.read_shift(4));break;case"N":(y=y.replace(/\u0000/g,"").trim())&&"."!=y&&(a[b][w]=+y||0);break;case"@":a[b][w]=new Date(E.read_shift(-8,"f")-621356832e5);break;case"T":a[b][w]=new Date(864e5*(E.read_shift(4)-2440588)+E.read_shift(4));break;case"Y":a[b][w]=E.read_shift(4,"i")/1e4+E.read_shift(4,"i")/1e4*Math.pow(2,32);break;case"O":a[b][w]=-E.read_shift(-8,"f");break;case"B":if(o&&8==p[w].len){a[b][w]=E.read_shift(8,"f");break}case"G":case"P":E.l+=p[w].len;break;case"0":if("_NullFlags"===p[w].name)break;default:throw new Error("DBF Unsupported data type "+p[w].type)}}else n.l+=h;if(2!=s&&n.l=0&&l(+n.codepage),"string"==n.type)throw new Error("Cannot write DBF to JS string");var i=Hr(),o=Lf(e,{header:1,raw:!0,cellDates:!0}),c=o[0],f=o.slice(1),h=e["!cols"]||[],u=0,d=0,p=0,m=1;for(u=0;u250&&(y=250),"C"==(E=((h[u]||{}).DBF||{}).type)&&h[u].DBF.len>y&&(y=h[u].DBF.len),"B"==T&&"N"==E&&(T="N",w[u]=h[u].DBF.dec,y=h[u].DBF.len),b[u]="C"==T||"N"==E?y:a[T]||0,m+=b[u],v[u]=T}else v[u]="?"}var k=i.next(32);for(k.write_shift(4,318902576),k.write_shift(4,f.length),k.write_shift(2,296+32*p),k.write_shift(2,m),u=0;u<4;++u)k.write_shift(4,0);for(k.write_shift(4,(+t[s]||3)<<8),u=0,d=0;u":190,"?":191,"{":223},t=new RegExp("N("+Ne(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm"),r=function(t,r){var a=e[r];return"number"==typeof a?g(a):a},a=function(e,t,r){var a=t.charCodeAt(0)-32<<4|r.charCodeAt(0)-48;return 59==a?e:g(a)};function n(e,n){var s,i=e.split(/[\n\r]+/),o=-1,c=-1,f=0,h=0,u=[],p=[],m=null,g={},v=[],b=[],w=[],T=0;for(+n.codepage>=0&&l(+n.codepage);f!==i.length;++f){T=0;var E,y=i[f].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,a).replace(t,r),S=y.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")}),k=S[0];if(y.length>0)switch(k){case"ID":case"E":case"B":case"O":case"W":break;case"P":"P"==S[1].charAt(0)&&p.push(y.slice(3).replace(/;;/g,";"));break;case"C":var _=!1,A=!1,x=!1,C=!1,O=-1,R=-1;for(h=1;h-1&&u[O][R];if(!N||!N[1])throw new Error("SYLK shared formula cannot find base");u[o][c][1]=to(N[1],{r:o-O,c:c-R})}break;case"F":var F=0;for(h=1;h0?(v[o].hpt=T,v[o].hpx=mi(T)):0===T&&(v[o].hidden=!0);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+y)}F<1&&(m=null);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+y)}}return v.length>0&&(g["!rows"]=v),b.length>0&&(g["!cols"]=b),n&&n.sheetRows&&(u=u.slice(0,n.sheetRows)),[u,g]}function s(e,t){var r=function(e,t){switch(t.type){case"base64":return n(T(e),t);case"binary":return n(e,t);case"buffer":return n(E&&Buffer.isBuffer(e)?e.toString("binary"):x(e),t);case"array":return n($e(e),t)}throw new Error("Unrecognized type "+t.type)}(e,t),a=r[0],s=r[1],i=sa(a,t);return Ne(s).forEach(function(e){i[e]=s[e]}),i}function i(e,t,r,a){var n="C;Y"+(r+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0,e.f&&!e.F&&(n+=";E"+eo(e.f,{r,c:a}));break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"'}return n}return e["|"]=254,{to_workbook:function(e,t){return aa(s(e,t),t)},to_sheet:s,from_sheet:function(e,t){var r,a,n=["ID;PWXL;N;E"],s=[],o=ta(e["!ref"]),c=Array.isArray(e),l="\r\n";n.push("P;PGeneral"),n.push("F;P0;DG0G8;M255"),e["!cols"]&&(a=n,e["!cols"].forEach(function(e,t){var r="F;W"+(t+1)+" "+(t+1)+" ";e.hidden?r+="0":("number"!=typeof e.width||e.wpx||(e.wpx=ci(e.width)),"number"!=typeof e.wpx||e.wch||(e.wch=li(e.wpx)),"number"==typeof e.wch&&(r+=Math.round(e.wch)))," "!=r.charAt(r.length-1)&&a.push(r)})),e["!rows"]&&function(e,t){t.forEach(function(t,r){var a="F;";t.hidden?a+="M0;":t.hpt?a+="M"+20*t.hpt+";":t.hpx&&(a+="M"+20*pi(t.hpx)+";"),a.length>2&&e.push(a+"R"+(r+1))})}(n,e["!rows"]),n.push("B;Y"+(o.e.r-o.s.r+1)+";X"+(o.e.c-o.s.c+1)+";D"+[o.s.c,o.s.r,o.e.c,o.e.r].join(" "));for(var f=o.s.r;f<=o.e.r;++f)for(var h=o.s.c;h<=o.e.c;++h){var u=Zr({r:f,c:h});(r=c?(e[f]||[])[h]:e[u])&&(null!=r.v||r.f&&!r.F)&&s.push(i(r,0,f,h))}return n.join(l)+l+s.join(l)+l+"E"+l}}}(),Is=function(){function e(e,t){for(var r=e.split("\n"),a=-1,n=-1,s=0,i=[];s!==r.length;++s)if("BOT"!==r[s].trim()){if(!(a<0)){for(var o=r[s].trim().split(","),c=o[0],l=o[1],f=r[++s]||"";1&(f.match(/["]/g)||[]).length&&s=0?o=l:n=l}}),c>=0&&-1==o&&n>=0&&(o=n,n=-1);var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(s>=1?s:1)).slice(-2);7==l.length&&(l="0"+l),8==l.length&&(l="20"+l);var f=("00"+(i>=0?i:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2)+":"+("00"+(c>=0?c:0)).slice(-2);return-1==i&&-1==o&&-1==c?l:-1==a&&-1==n&&-1==s?f:l+"T"+f}(0,r.dateNF,t.match(b)||[]),n=1),r.cellDates?(a.t="d",a.v=Xe(t,n)):(a.t="n",a.v=Me(Xe(t,n))),!1!==r.cellText&&(a.w=we(a.z,a.v instanceof Date?Me(a.v):a.v)),r.cellNF||delete a.z}else a.t="s",a.v=t;else a.t="n",!1!==r.cellText&&(a.w=t),a.v=l;if("z"==a.t||(r.dense?(s[o]||(s[o]=[]),s[o][c]=a):s[Zr({c,r:o})]=a),f=h+1,m=e.charCodeAt(f),i.e.c0&&w(),s["!ref"]=ea(i),s}function s(t,r){var a="",s="string"==r.type?[0,0,0,0]:Tf(t,r);switch(r.type){case"base64":a=T(t);break;case"binary":case"string":a=t;break;case"buffer":a=65001==r.codepage?t.toString("utf8"):r.codepage&&void 0!==d?d.utils.decode(r.codepage,t):E&&Buffer.isBuffer(t)?t.toString("binary"):x(t);break;case"array":a=$e(t);break;default:throw new Error("Unrecognized type "+r.type)}return 239==s[0]&&187==s[1]&&191==s[2]?a=Pt(a.slice(3)):"string"!=r.type&&"buffer"!=r.type&&65001==r.codepage?a=Pt(a):"binary"==r.type&&void 0!==d&&r.codepage&&(a=d.utils.decode(r.codepage,d.utils.encode(28591,a))),"socialcalc:version:"==a.slice(0,19)?Ns.to_sheet("string"==r.type?a:Pt(a),r):function(t,r){return r&&r.PRN?r.FS||"sep="==t.slice(0,4)||t.indexOf("\t")>=0||t.indexOf(",")>=0||t.indexOf(";")>=0?n(t,r):sa(function(t,r){var a=r||{},n=[];if(!t||0===t.length)return n;for(var s=t.split(/[\r\n]/),i=s.length-1;i>=0&&0===s[i].length;)--i;for(var o=10,c=0,l=0;l<=i;++l)-1==(c=s[l].indexOf(" "))?c=s[l].length:c++,o=Math.max(o,c);for(l=0;l<=i;++l){n[l]=[];var f=0;for(e(s[l].slice(0,o).trim(),n,l,f,a),f=1;f<=(s[l].length-o)/10+1;++f)e(s[l].slice(o+10*(f-1),o+10*f).trim(),n,l,f,a)}return a.sheetRows&&(n=n.slice(0,a.sheetRows)),n}(t,r),r):n(t,r)}(a,r)}return{to_workbook:function(e,t){return aa(s(e,t),t)},to_sheet:s,from_sheet:function(e){for(var t,r=[],a=ta(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){for(var i=[],o=a.s.c;o<=a.e.c;++o){var c=Zr({r:s,c:o});if((t=n?(e[s]||[])[o]:e[c])&&null!=t.v){for(var l=(t.w||(ra(t),t.w)||"").slice(0,10);l.length<10;)l+=" ";i.push(l+(0===o?" ":""))}else i.push(" ")}r.push(i.join(""))}return r.join("\n")}}}(),Ds=function(){function e(e,t,r){if(e){Mr(e,e.l||0);for(var a=r.Enum||b;e.l=16&&5==t[14]&&108===t[15])throw new Error("Unsupported Works 3 for Mac file");if(2==t[2])a.Enum=b,e(t,function(e,t,r){switch(r){case 0:a.vers=e,e>=4096&&(a.qpro=!0);break;case 6:h=e;break;case 204:e&&(i=e);break;case 222:i=e;break;case 15:case 51:a.qpro||(e[1].v=e[1].v.slice(1));case 13:case 14:case 16:14==r&&!(112&~e[2])&&(15&e[2])>1&&(15&e[2])<15&&(e[1].z=a.dateNF||H[14],a.cellDates&&(e[1].t="d",e[1].v=He(e[1].v))),a.qpro&&e[3]>o&&(n["!ref"]=ea(h),c[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s=i||"Sheet"+(o+1),i="");var f=a.dense?(n[e[0].r]||[])[e[0].c]:n[Zr(e[0])];if(f){f.t=e[1].t,f.v=e[1].v,null!=e[1].z&&(f.z=e[1].z),null!=e[1].f&&(f.f=e[1].f);break}a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[Zr(e[0])]=e[1]}},a);else{if(26!=t[2]&&14!=t[2])throw new Error("Unrecognized LOTUS BOF "+t[2]);a.Enum=w,14==t[2]&&(a.qpro=!0,t.l=0),e(t,function(e,t,r){switch(r){case 204:s=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(e[3]>o&&(n["!ref"]=ea(h),c[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s="Sheet"+(o+1)),u>0&&e[0].r>=u)break;a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[Zr(e[0])]=e[1],h.e.c=128?95:s)}return a.write_shift(1,0),a}function s(e,t,r){var a=Br(7);return a.write_shift(1,255),a.write_shift(2,t),a.write_shift(2,e),a.write_shift(2,r,"i"),a}function i(e,t,r){var a=Br(13);return a.write_shift(1,255),a.write_shift(2,t),a.write_shift(2,e),a.write_shift(8,r,"f"),a}function o(e,t,r){var a=32768&t;return t=(a?e:0)+((t&=-32769)>=8192?t-16384:t),(a?"":"$")+(r?Jr(t):Yr(t))}var c={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]},f=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function h(e){var t=[{c:0,r:0},{t:"n",v:0},0];return t[0].r=e.read_shift(2),t[3]=e[e.l++],t[0].c=e[e.l++],t}function u(e,t,r,a){var n=Br(6+a.length);n.write_shift(2,e),n.write_shift(1,r),n.write_shift(1,t),n.write_shift(1,39);for(var s=0;s=128?95:i)}return n.write_shift(1,0),n}function d(e,t){var r=h(e),a=e.read_shift(4),n=e.read_shift(4),s=e.read_shift(2);if(65535==s)return 0===a&&3221225472===n?(r[1].t="e",r[1].v=15):0===a&&3489660928===n?(r[1].t="e",r[1].v=42):r[1].v=0,r;var i=32768&s;return s=(32767&s)-16446,r[1].v=(1-2*i)*(n*Math.pow(2,s+32)+a*Math.pow(2,s)),r}function p(e,t,r,a){var n=Br(14);if(n.write_shift(2,e),n.write_shift(1,r),n.write_shift(1,t),0==a)return n.write_shift(4,0),n.write_shift(4,0),n.write_shift(2,65535),n;var s,i=0,o=0,c=0;return a<0&&(i=1,a=-a),o=0|Math.log2(a),2147483648&(c=(a/=Math.pow(2,o-31))>>>0)||(++o,c=(a/=2)>>>0),a-=c,c|=2147483648,c>>>=0,s=(a*=Math.pow(2,32))>>>0,n.write_shift(4,s),n.write_shift(4,c),o+=16383+(i?32768:0),n.write_shift(2,o),n}function m(e,t){var r=h(e),a=e.read_shift(8,"f");return r[1].v=a,r}function g(e,t){return 0==e[e.l+t-1]?e.read_shift(t,"cstr"):""}function v(e,t){var r=Br(5+e.length);r.write_shift(2,14e3),r.write_shift(2,t);for(var a=0;a127?95:n}return r[r.l++]=0,r}var b={0:{n:"BOF",f:Fn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:function(e,t,r){var a={s:{c:0,r:0},e:{c:0,r:0}};return 8==t&&r.qpro?(a.s.c=e.read_shift(1),e.l++,a.s.r=e.read_shift(2),a.e.c=e.read_shift(1),e.l++,a.e.r=e.read_shift(2),a):(a.s.c=e.read_shift(2),a.s.r=e.read_shift(2),12==t&&r.qpro&&(e.l+=2),a.e.c=e.read_shift(2),a.e.r=e.read_shift(2),12==t&&r.qpro&&(e.l+=2),65535==a.s.c&&(a.s.c=a.e.c=a.s.r=a.e.r=0),a)}},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:function(e,t,a){var n=r(e,0,a);return n[1].v=e.read_shift(2,"i"),n}},14:{n:"NUMBER",f:function(e,t,a){var n=r(e,0,a);return n[1].v=e.read_shift(8,"f"),n}},15:{n:"LABEL",f:a},16:{n:"FORMULA",f:function(e,t,a){var n=e.l+t,s=r(e,0,a);if(s[1].v=e.read_shift(8,"f"),a.qpro)e.l=n;else{var i=e.read_shift(2);!function(e,t){Mr(e,0);for(var r=[],a=0,n="",s="",i="",l="";e.lr.length)return void console.error("WK1 bad formula parse 0x"+h.toString(16)+":|"+r.join("|")+"|");var m=r.slice(-a);r.length-=a,r.push(c[h][0]+"("+m.join(",")+")")}}}1==r.length?t[1].f=""+r[0]:console.error("WK1 bad formula parse |"+r.join("|")+"|")}(e.slice(e.l,e.l+i),s),e.l+=i}return s}},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:a},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:g},222:{n:"SHEETNAMELP",f:function(e,t){var r=e[e.l++];r>t-1&&(r=t-1);for(var a="";a.length>1;if(1&r[1].v)switch(7&a){case 0:a=5e3*(a>>3);break;case 1:a=500*(a>>3);break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64}return r[1].v=a,r}},25:{n:"FORMULA19",f:function(e,t){var r=d(e);return e.l+=t-14,r}},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:function(e,t){for(var r={},a=e.l+t;e.l>6,r}},38:{n:"??"},39:{n:"NUMBER27",f:m},40:{n:"FORMULA28",f:function(e,t){var r=m(e);return e.l+=t-10,r}},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:g},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:function(e,t,r){if(r.qpro&&!(t<21)){var a=e.read_shift(1);return e.l+=17,e.l+=1,e.l+=2,[a,e.read_shift(t-21,"cstr")]}}},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:function(e,t){var r=t||{};if(+r.codepage>=0&&l(+r.codepage),"string"==r.type)throw new Error("Cannot write WK1 to JS string");var a,o=Hr(),c=ta(e["!ref"]),f=Array.isArray(e),h=[];gl(o,0,((a=Br(2)).write_shift(2,1030),a)),gl(o,6,function(e){var t=Br(8);return t.write_shift(2,e.s.c),t.write_shift(2,e.s.r),t.write_shift(2,e.e.c),t.write_shift(2,e.e.r),t}(c));for(var u=Math.min(c.e.r,8191),d=c.s.r;d<=u;++d)for(var p=Yr(d),m=c.s.c;m<=c.e.c;++m){d===c.s.r&&(h[m]=Jr(m));var g=h[m]+p,v=f?(e[d]||[])[m]:e[g];v&&"z"!=v.t&&("n"==v.t?(0|v.v)==v.v&&v.v>=-32768&&v.v<=32767?gl(o,13,s(d,m,v.v)):gl(o,14,i(d,m,v.v)):gl(o,15,n(d,m,ra(v).slice(0,239))))}return gl(o,1),o.end()},book_to_wk3:function(e,t){var r=t||{};if(+r.codepage>=0&&l(+r.codepage),"string"==r.type)throw new Error("Cannot write WK3 to JS string");var a=Hr();gl(a,0,function(e){var t=Br(26);t.write_shift(2,4096),t.write_shift(2,4),t.write_shift(4,0);for(var r=0,a=0,n=0,s=0;s8191&&(r=8191),t.write_shift(2,r),t.write_shift(1,n),t.write_shift(1,a),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(1,1),t.write_shift(1,2),t.write_shift(4,0),t.write_shift(4,0),t}(e));for(var n=0,s=0;n":case"":t.shadow=1;break;case"":break;case"":case"":t.outline=1;break;case"":break;case"":case"":t.strike=1;break;case"":break;case"":case"":t.u=1;break;case"":break;case"":case"":t.b=1;break;case"":break;case"":case"":t.i=1;break;case"":break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"
":break;case"":n=!1;break;default:if(47!==s[0].charCodeAt(1)&&!n)throw new Error("Unrecognized rich format "+s[0])}}return t}(s[1])),n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function(e){return e.replace(a,"").split(n).map(r).filter(function(e){return e.v})}}(),Ls=function(){var e=/(\r\n|\n)/g;function t(t){var r=[[],t.v,[]];return t.v?(t.s&&function(e,t,r){var a=[];e.u&&a.push("text-decoration: underline;"),e.uval&&a.push("text-underline-style:"+e.uval+";"),e.sz&&a.push("font-size:"+e.sz+"pt;"),e.outline&&a.push("text-effect: outline;"),e.shadow&&a.push("text-shadow: auto;"),t.push(''),e.b&&(t.push(""),r.push("")),e.i&&(t.push(""),r.push("")),e.strike&&(t.push(""),r.push(""));var n=e.valign||"";"superscript"==n||"super"==n?n="sup":"subscript"==n&&(n="sub"),""!=n&&(t.push("<"+n+">"),r.push("")),r.push("")}(t.s,r[0],r[2]),r[0].join("")+r[1].replace(e,"
")+r[2].join("")):""}return function(e){return e.map(t).join("")}}(),Ms=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Us=/<(?:\w+:)?r>/,Bs=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Ws(e,t){var r=!t||t.cellHTML,a={};return e?(e.match(/^\s*<(?:\w+:)?t[^>]*>/)?(a.t=yt(Pt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||"")),a.r=Pt(e),r&&(a.h=Ct(a.t))):e.match(Us)&&(a.r=Pt(e),a.t=yt(Pt((e.replace(Bs,"").match(Ms)||[]).join("").replace(mt,""))),r&&(a.h=Ls(Ps(a.r)))),a):{t:""}}var Hs=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/,zs=/<(?:\w+:)?(?:si|sstItem)>/g,Vs=/<\/(?:\w+:)?(?:si|sstItem)>/,Gs=/^\s|\s$|[\t\n\r]/;function js(e,t){if(!t.bookSST)return"";var r=[ut];r[r.length]=Xt("sst",null,{xmlns:tr[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a)if(null!=e[a]){var n=e[a],s="";n.r?s+=n.r:(s+=""),s+="",r[r.length]=s}return r.length>2&&(r[r.length]="",r[1]=r[1].replace("/>",">")),r.join("")}var Xs=function(e,t){var r=!1;return null==t&&(r=!0,t=Br(15+4*e.t.length)),t.write_shift(1,0),ca(e.t,t),r?t.slice(0,t.l):t};function $s(e){var t=Hr();zr(t,159,function(e,t){return t||(t=Br(8)),t.write_shift(4,e.Count),t.write_shift(4,e.Unique),t}(e));for(var r=0;r=4&&(e.l+=t-4),r}function Js(e){for(var t=e.read_shift(4),r=e.l+t-4,a={},n=e.read_shift(4),s=[];n-- >0;)s.push({t:e.read_shift(4),v:e.read_shift(0,"lpp4")});if(a.name=e.read_shift(0,"lpp4"),a.comps=s,e.l!=r)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+r);return a}function qs(e,t){var r=e.l+t,a={};a.Flags=63&e.read_shift(4),e.l+=4,a.AlgID=e.read_shift(4);var n=!1;switch(a.AlgID){case 26126:case 26127:case 26128:n=36==a.Flags;break;case 26625:n=4==a.Flags;break;case 0:n=16==a.Flags||4==a.Flags||36==a.Flags;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID}if(!n)throw new Error("Encryption Flags/AlgID mismatch");return a.AlgIDHash=e.read_shift(4),a.KeySize=e.read_shift(4),a.ProviderType=e.read_shift(4),e.l+=8,a.CSPName=e.read_shift(r-e.l>>1,"utf16le"),e.l=r,a}function Zs(e,t){var r={},a=e.l+t;return e.l+=4,r.Salt=e.slice(e.l,e.l+16),e.l+=16,r.Verifier=e.slice(e.l,e.l+16),e.l+=16,e.read_shift(4),r.VerifierHash=e.slice(e.l,a),e.l=a,r}function Qs(e){if(36!=(63&e.read_shift(4)))throw new Error("EncryptionInfo mismatch");var t=e.read_shift(4);return{t:"Std",h:qs(e,t),v:Zs(e,e.length-e.l)}}function ei(){throw new Error("File is password-protected: ECMA-376 Extensible")}function ti(e){var t=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var r=e.read_shift(e.length-e.l,"utf8"),a={};return r.replace(mt,function(e){var r=bt(e);switch(wt(r[0])){case"":case"":case"":break;case"":case"=0;--r)a=((16384&a?1:0)|a<<1&32767)^t[r];return 52811^a}var ai=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0],t=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163],r=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628],a=function(e,t){return 255&((r=e^t)/2|128*r);var r};return function(n){for(var s,i,o,c=Ys(n),l=function(e){for(var a=t[e.length-1],n=104,s=e.length-1;s>=0;--s)for(var i=e[s],o=0;7!=o;++o)64&i&&(a^=r[n]),i*=2,--n;return a}(c),f=c.length,h=S(16),u=0;16!=u;++u)h[u]=0;for(1&~f||(s=l>>8,h[f]=a(e[0],s),--f,s=255&l,i=c[c.length-1],h[f]=a(i,s));f>0;)s=l>>8,h[--f]=a(c[f],s),s=255&l,h[--f]=a(c[f],s);for(f=15,o=15-c.length;o>0;)s=l>>8,h[f]=a(e[o],s),--o,s=255&l,h[--f]=a(c[f],s),--f,--o;return h}}();var ni=function(){function e(e,r){switch(r.type){case"base64":return t(T(e),r);case"binary":return t(e,r);case"buffer":return t(E&&Buffer.isBuffer(e)?e.toString("binary"):x(e),r);case"array":return t($e(e),r)}throw new Error("Unrecognized type "+r.type)}function t(e,t){var r=(t||{}).dense?[]:{},a=e.match(/\\trowd.*?\\row\b/g);if(!a.length)throw new Error("RTF missing table");var n={s:{c:0,r:0},e:{c:0,r:a.length-1}};return a.forEach(function(e,t){Array.isArray(r)&&(r[t]=[]);for(var a,s=/\\\w+\b/g,i=0,o=-1;a=s.exec(e);){if("\\cell"===a[0]){var c=e.slice(i,s.lastIndex-a[0].length);if(" "==c[0]&&(c=c.slice(1)),++o,c.length){var l={v:c,t:"s"};Array.isArray(r)?r[t][o]=l:r[Zr({r:t,c:o})]=l}}i=s.lastIndex}o>n.e.c&&(n.e.c=o)}),r["!ref"]=ea(n),r}return{to_workbook:function(t,r){return aa(e(t,r),r)},to_sheet:e,from_sheet:function(e){for(var t,r=["{\\rtf1\\ansi"],a=ta(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){r.push("\\trowd\\trautofit1");for(var i=a.s.c;i<=a.e.c;++i)r.push("\\cellx"+(i+1));for(r.push("\\pard\\intbl"),i=a.s.c;i<=a.e.c;++i){var o=Zr({r:s,c:i});(t=n?(e[s]||[])[i]:e[o])&&(null!=t.v||t.f&&!t.F)&&(r.push(" "+(t.w||(ra(t),t.w))),r.push("\\cell"))}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}}}();function si(e){for(var t=0,r=1;3!=t;++t)r=256*r+(e[t]>255?255:e[t]<0?0:e[t]);return r.toString(16).toUpperCase().slice(1)}function ii(e,t){if(0===t)return e;var r,a,n=function(e){var t=e[0]/255,r=e[1]/255,a=e[2]/255,n=Math.max(t,r,a),s=Math.min(t,r,a),i=n-s;if(0===i)return[0,0,t];var o,c=0,l=n+s;switch(o=i/(l>1?2-l:l),n){case t:c=((r-a)/i+6)%6;break;case r:c=(a-t)/i+2;break;case a:c=(t-r)/i+4}return[c/6,o,l/2]}((a=(r=e).slice("#"===r[0]?1:0).slice(0,6),[parseInt(a.slice(0,2),16),parseInt(a.slice(2,4),16),parseInt(a.slice(4,6),16)]));return n[2]=t<0?n[2]*(1+t):1-(1-n[2])*(1-t),si(function(e){var t,r=e[0],a=e[1],n=e[2],s=2*a*(n<.5?n:1-n),i=n-s/2,o=[i,i,i],c=6*r;if(0!==a)switch(0|c){case 0:case 6:t=s*c,o[0]+=s,o[1]+=t;break;case 1:t=s*(2-c),o[0]+=t,o[1]+=s;break;case 2:t=s*(c-2),o[1]+=s,o[2]+=t;break;case 3:t=s*(4-c),o[1]+=t,o[2]+=s;break;case 4:t=s*(c-4),o[2]+=s,o[0]+=t;break;case 5:t=s*(6-c),o[2]+=t,o[0]+=s}for(var l=0;3!=l;++l)o[l]=Math.round(255*o[l]);return o}(n))}var oi=6;function ci(e){return Math.floor((e+Math.round(128/oi)/256)*oi)}function li(e){return Math.floor((e-5)/oi*100+.5)/100}function fi(e){return Math.round((e*oi+5)/oi*256)/256}function hi(e){return fi(li(ci(e)))}function ui(e){var t=Math.abs(e-hi(e)),r=oi;if(t>.005)for(oi=1;oi<15;++oi)Math.abs(e-hi(e))<=t&&(t=Math.abs(e-hi(e)),r=oi);oi=r}function di(e){e.width?(e.wpx=ci(e.width),e.wch=li(e.wpx),e.MDW=oi):e.wpx?(e.wch=li(e.wpx),e.width=fi(e.wch),e.MDW=oi):"number"==typeof e.wch&&(e.width=fi(e.wch),e.wpx=ci(e.width),e.MDW=oi),e.customWidth&&delete e.customWidth}function pi(e){return 96*e/96}function mi(e){return 96*e/96}var gi={None:"none",Solid:"solid",Gray50:"mediumGray",Gray75:"darkGray",Gray25:"lightGray",HorzStripe:"darkHorizontal",VertStripe:"darkVertical",ReverseDiagStripe:"darkDown",DiagStripe:"darkUp",DiagCross:"darkGrid",ThickDiagCross:"darkTrellis",ThinHorzStripe:"lightHorizontal",ThinVertStripe:"lightVertical",ThinReverseDiagStripe:"lightDown",ThinHorzCross:"lightGrid"},vi=["numFmtId","fillId","fontId","borderId","xfId"],bi=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"],wi=function(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/,t=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/,r=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/,a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/,n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function(s,i,c){var l,f={};return s?((l=(s=s.replace(//gm,"").replace(//gm,"")).match(e))&&function(e,t,r){t.NumberFmt=[];for(var a=Ne(H),n=0;n":case"":case"":case"":break;case"0){if(c>392){for(c=392;c>60&&null!=t.NumberFmt[c];--c);t.NumberFmt[c]=o}Te(o,c)}break;default:if(r.WTF)throw new Error("unrecognized "+i[0]+" in numFmts")}}}(l,f,c),(l=s.match(a))&&function(e,t,r,a){t.Fonts=[];var n={},s=!1;(e[0].match(mt)||[]).forEach(function(e){var i=bt(e);switch(wt(i[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"
":case"":t.Fonts.push(n),n={};break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+i[0]+" in fonts")}})}(l,f,i,c),(l=s.match(r))&&function(e,t,r,a){t.Fills=[];var n={},s=!1;(e[0].match(mt)||[]).forEach(function(e){var r=bt(e);switch(wt(r[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":n={},t.Fills.push(n);break;case"":t.Fills.push(n),n={};break;case"":r.patternType&&(n.patternType=r.patternType);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+r[0]+" in fills")}})}(l,f,0,c),(l=s.match(n))&&function(e,t,r,a){t.Borders=[];var n={},s=!1;(e[0].match(mt)||[]).forEach(function(e){var r=bt(e);switch(wt(r[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":n={},r.diagonalUp&&(n.diagonalUp=Rt(r.diagonalUp)),r.diagonalDown&&(n.diagonalDown=Rt(r.diagonalDown)),t.Borders.push(n);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+r[0]+" in borders")}})}(l,f,0,c),(l=s.match(t))&&function(e,t,r){var a;t.CellXf=[];var n=!1;(e[0].match(mt)||[]).forEach(function(e){var s=bt(e),i=0;switch(wt(s[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":for(delete(a=s)[0],i=0;i392)for(i=392;i>60;--i)if(t.NumberFmt[a.numFmtId]==t.NumberFmt[i]){a.numFmtId=i;break}t.CellXf.push(a);break;case"":var o={};s.vertical&&(o.vertical=s.vertical),s.horizontal&&(o.horizontal=s.horizontal),null!=s.textRotation&&(o.textRotation=s.textRotation),s.indent&&(o.indent=s.indent),s.wrapText&&(o.wrapText=Rt(s.wrapText)),a.alignment=o;break;case"":case"":n=!1;break;default:if(r&&r.WTF&&!n)throw new Error("unrecognized "+s[0]+" in cellXfs")}})}(l,f,c),f):f}}();function Ti(e,t){var r,a=[ut,Xt("styleSheet",null,{xmlns:tr[0],"xmlns:vt":Qt})];return e.SSF&&null!=(r=function(e){var t=[""];return[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)null!=e[a]&&(t[t.length]=Xt("numFmt",null,{numFmtId:a,formatCode:_t(e[a])}))}),1===t.length?"":(t[t.length]="",t[0]=Xt("numFmts",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(e.SSF))&&(a[a.length]=r),a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',(r=function(e){var t=[];return t[t.length]=Xt("cellXfs",null),e.forEach(function(e){t[t.length]=Xt("xf",null,e)}),t[t.length]="",2===t.length?"":(t[0]=Xt("cellXfs",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(t.cellXfs))&&(a[a.length]=r),a[a.length]='',a[a.length]='',a[a.length]='',a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}function Ei(e,t,r){r||(r=Br(6+4*t.length)),r.write_shift(2,e),ca(t,r);var a=r.length>r.l?r.slice(0,r.l):r;return null==r.l&&(r.l=r.length),a}var yi,Si=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"],ki=Ur;function _i(e,t){t||(t=Br(84)),yi||(yi=De(Si));var r=yi[e.patternType];null==r&&(r=40),t.write_shift(4,r);var a=0;if(40!=r)for(Ra({auto:1},t),Ra({auto:1},t);a<12;++a)t.write_shift(4,0);else{for(;a<4;++a)t.write_shift(4,0);for(;a<12;++a)t.write_shift(4,0)}return t.length>t.l?t.slice(0,t.l):t}function Ai(e,t,r){return r||(r=Br(16)),r.write_shift(2,t||0),r.write_shift(2,e.numFmtId||0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r}function xi(e,t){return t||(t=Br(10)),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(4,0),t.write_shift(4,0),t}var Ci=Ur;function Oi(e,t){var r=Hr();return zr(r,278),function(e,t){if(t){var r=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)null!=t[a]&&++r}),0!=r&&(zr(e,615,ia(r)),[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)null!=t[a]&&zr(e,44,Ei(a,t[a]))}),zr(e,616))}}(r,e.SSF),function(e){zr(e,611,ia(1)),zr(e,43,function(e,t){t||(t=Br(153)),t.write_shift(2,20*e.sz),function(e,t){t||(t=Br(2));var r=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);t.write_shift(1,r),t.write_shift(1,0)}(e,t),t.write_shift(2,e.bold?700:400);var r=0;"superscript"==e.vertAlign?r=1:"subscript"==e.vertAlign&&(r=2),t.write_shift(2,r),t.write_shift(1,e.underline||0),t.write_shift(1,e.family||0),t.write_shift(1,e.charset||0),t.write_shift(1,0),Ra(e.color,t);var a=0;return"major"==e.scheme&&(a=1),"minor"==e.scheme&&(a=2),t.write_shift(1,a),ca(e.name,t),t.length>t.l?t.slice(0,t.l):t}({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"})),zr(e,612)}(r),function(e){zr(e,603,ia(2)),zr(e,45,_i({patternType:"none"})),zr(e,45,_i({patternType:"gray125"})),zr(e,604)}(r),function(e){var t;zr(e,613,ia(1)),zr(e,46,(t||(t=Br(51)),t.write_shift(1,0),xi(0,t),xi(0,t),xi(0,t),xi(0,t),xi(0,t),t.length>t.l?t.slice(0,t.l):t)),zr(e,614)}(r),function(e){zr(e,626,ia(1)),zr(e,47,Ai({numFmtId:0,fontId:0,fillId:0,borderId:0},65535)),zr(e,627)}(r),function(e,t){zr(e,617,ia(t.length)),t.forEach(function(t){zr(e,47,Ai(t,0))}),zr(e,618)}(r,t.cellXfs),function(e){var t,r;zr(e,619,ia(1)),zr(e,48,(t={xfId:0,builtinId:0,name:"Normal"},r||(r=Br(52)),r.write_shift(4,t.xfId),r.write_shift(2,1),r.write_shift(1,+t.builtinId),r.write_shift(1,0),wa(t.name||"",r),r.length>r.l?r.slice(0,r.l):r)),zr(e,620)}(r),function(e){zr(e,505,ia(0)),zr(e,506)}(r),function(e){var t;zr(e,508,((t=Br(2052)).write_shift(4,0),wa("TableStyleMedium9",t),wa("PivotStyleMedium4",t),t.length>t.l?t.slice(0,t.l):t)),zr(e,509)}(r),zr(r,279),r.end()}var Ri=["","","","","","","","","","","",""];function Ii(e,t,r){t.themeElements.clrScheme=[];var a={};(e[0].match(mt)||[]).forEach(function(e){var n=bt(e);switch(n[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":"/"===n[0].charAt(1)?(t.themeElements.clrScheme[Ri.indexOf(n[0])]=a,a={}):a.name=n[0].slice(3,n[0].length-1);break;default:if(r&&r.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme")}})}function Ni(){}function Fi(){}var Di=/]*)>[\s\S]*<\/a:clrScheme>/,Pi=/]*)>[\s\S]*<\/a:fontScheme>/,Li=/]*)>[\s\S]*<\/a:fmtScheme>/,Mi=/]*)>[\s\S]*<\/a:themeElements>/;function Ui(e,t){var r;e&&0!==e.length||(e=Bi());var a={};if(!(r=e.match(Mi)))throw new Error("themeElements not found in theme");return function(e,t,r){var a;t.themeElements={},[["clrScheme",Di,Ii],["fontScheme",Pi,Ni],["fmtScheme",Li,Fi]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,t,r)})}(r[0],a,t),a.raw=e,a}function Bi(e,t){if(t&&t.themeXLSX)return t.themeXLSX;if(e&&"string"==typeof e.raw)return e.raw;var r=[ut];return r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r.join("")}function Wi(e){var t=e.read_shift(2),r=e.read_shift(2)-4,a=[t];switch(t){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:a[1]=function(e){var t={};switch(t.xclrType=e.read_shift(2),t.nTintShade=e.read_shift(2),t.xclrType){case 0:case 4:e.l+=4;break;case 1:t.xclrValue=function(e){return Ur(e,4)}(e);break;case 2:t.xclrValue=$n(e);break;case 3:t.xclrValue=function(e){return e.read_shift(4)}(e)}return e.l+=8,t}(e);break;case 6:a[1]=function(e,t){return Ur(e,t)}(e,r);break;case 14:case 15:a[1]=e.read_shift(1===r?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+t+" "+r)}return a}function Hi(e,t){t.forEach(function(e){e[0]})}function zi(){var e,t,r=Hr();return zr(r,332),zr(r,334,ia(1)),zr(r,335,((t=Br(12+2*(e={name:"XLDAPR",version:12e4,flags:3496657072}).name.length)).write_shift(4,e.flags),t.write_shift(4,e.version),ca(e.name,t),t.slice(0,t.l))),zr(r,336),zr(r,339,function(e,t){var r=Br(20);return r.write_shift(4,1),ca(t,r),r.slice(0,r.l)}(0,"XLDAPR")),zr(r,52),zr(r,35,ia(514)),zr(r,4096,ia(0)),zr(r,4097,Dn(1)),zr(r,36),zr(r,53),zr(r,340),zr(r,337,function(){var e=Br(8);return e.write_shift(4,1),e.write_shift(4,1),e}()),zr(r,51,function(e){var t=Br(4+8*e.length);t.write_shift(4,e.length);for(var r=0;r\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'),e.join("")}var Gi=1024;function ji(e,t){for(var r=[21600,21600],a=["m0,0l0",r[1],r[0],r[1],r[0],"0xe"].join(","),n=[Xt("xml",null,{"xmlns:v":"urn:schemas-microsoft-com:vml","xmlns:o":rr,"xmlns:x":ar,"xmlns:mv":"http://macVmlSchemaUri"}).replace(/\/>/,">"),Xt("o:shapelayout",Xt("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),Xt("v:shapetype",[Xt("v:stroke",null,{joinstyle:"miter"}),Xt("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:r.join(","),path:a})];Gi<1e3*e;)Gi+=1e3;return t.forEach(function(e){var t=qr(e[0]),r={color2:"#BEFF82",type:"gradient"};"gradient"==r.type&&(r.angle="-180");var a="gradient"==r.type?Xt("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null,s=Xt("v:fill",a,r);++Gi,n=n.concat(["",s,Xt("v:shadow",null,{on:"t",obscured:"t"}),Xt("v:path",null,{"o:connecttype":"none"}),'
','',"","",Gt("x:Anchor",[t.c+1,0,t.r+1,0,t.c+3,20,t.r+5,20].join(",")),Gt("x:AutoFill","False"),Gt("x:Row",String(t.r)),Gt("x:Column",String(t.c)),e[1].hidden?"":"","",""])}),n.push(""),n.join("")}function Xi(e,t,r,a){var n,s=Array.isArray(e);t.forEach(function(t){var i=qr(t.ref);if(s?(e[i.r]||(e[i.r]=[]),n=e[i.r][i.c]):n=e[t.ref],!n){n={t:"z"},s?e[i.r][i.c]=n:e[t.ref]=n;var o=ta(e["!ref"]||"BDWGO1000001:A1");o.s.r>i.r&&(o.s.r=i.r),o.e.ri.c&&(o.s.c=i.c),o.e.c=0;--f){if(!r&&n.c[f].T)return;r&&!n.c[f].T&&n.c.splice(f,1)}if(r&&a)for(f=0;f"),e.forEach(function(e){e[1].forEach(function(e){var a=_t(e.a);-1==r.indexOf(a)&&(r.push(a),t.push(""+a+"")),e.T&&e.ID&&-1==r.indexOf("tc="+e.ID)&&(r.push("tc="+e.ID),t.push("tc="+e.ID+""))})}),0==r.length&&(r.push("SheetJ5"),t.push("SheetJ5")),t.push(""),t.push(""),e.forEach(function(e){var a=0,n=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID?a=r.indexOf("tc="+e[1][0].ID):e[1].forEach(function(e){e.a&&(a=r.indexOf(_t(e.a))),n.push(e.t||"")}),t.push(''),n.length<=1)t.push(Gt("t",_t(n[0]||"")));else{for(var s="Comment:\n "+n[0]+"\n",i=1;i")}),t.push(""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Yi(e,t,r){var a=[ut,Xt("ThreadedComments",null,{xmlns:qt}).replace(/[\/]>/,">")];return e.forEach(function(e){var n="";(e[1]||[]).forEach(function(s,i){if(s.T){s.a&&-1==t.indexOf(s.a)&&t.push(s.a);var o={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+r.tcid++).slice(-12)+"}"};0==i?n=o.id:o.parentId=n,s.ID=o.id,s.a&&(o.personId="{54EE7950-7262-4200-6969-"+("000000000000"+t.indexOf(s.a)).slice(-12)+"}"),a.push(Xt("threadedComment",Gt("text",s.t||""),o))}else delete s.ID})}),a.push(""),a.join("")}var Ki=oa;function Ji(e){var t=Hr(),r=[];return zr(t,628),zr(t,630),e.forEach(function(e){e[1].forEach(function(e){r.indexOf(e.a)>-1||(r.push(e.a.slice(0,54)),zr(t,632,function(e){return ca(e.slice(0,54))}(e.a)))})}),zr(t,631),zr(t,633),e.forEach(function(e){e[1].forEach(function(a){a.iauthor=r.indexOf(a.a);var n,s,i,o={s:qr(e[0]),e:qr(e[0])};zr(t,635,function(e,t){return null==t&&(t=Br(36)),t.write_shift(4,e[1].iauthor),xa(e[0],t),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t}([o,a])),a.t&&a.t.length>0&&zr(t,637,(n=a,i=!1,null==s&&(i=!0,s=Br(23+4*n.t.length)),s.write_shift(1,1),ca(n.t,s),s.write_shift(4,1),function(e,t){t||(t=Br(4)),t.write_shift(2,e.ich||0),t.write_shift(2,e.ifnt||0)}({ich:0,ifnt:0},s),i?s.slice(0,s.l):s)),zr(t,636),delete a.iauthor})}),zr(t,634),zr(t,629),t.end()}var qi=["xlsb","xlsm","xlam","biff8","xla"],Zi=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g,t={r:0,c:0};function r(e,r,a,n){var s=!1,i=!1;0==a.length?i=!0:"["==a.charAt(0)&&(i=!0,a=a.slice(1,-1)),0==n.length?s=!0:"["==n.charAt(0)&&(s=!0,n=n.slice(1,-1));var o=a.length>0?0|parseInt(a,10):0,c=n.length>0?0|parseInt(n,10):0;return s?c+=t.c:--c,i?o+=t.r:--o,r+(s?"":"$")+Jr(c)+(i?"":"$")+Yr(o)}return function(a,n){return t=n,a.replace(e,r)}}(),Qi=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g,eo=function(){return function(e,t){return e.replace(Qi,function(e,r,a,n,s,i){var o=Kr(n)-(a?0:t.c),c=$r(i)-(s?0:t.r);return r+"R"+(0==c?"":s?c+1:"["+c+"]")+"C"+(0==o?"":a?o+1:"["+o+"]")})}}();function to(e,t){return e.replace(Qi,function(e,r,a,n,s,i){return r+("$"==a?a+n:Jr(Kr(n)+t.c))+("$"==s?s+i:Yr($r(i)+t.r))})}function ro(e,t,r){var a=Qr(t).s,n=qr(r);return to(e,{r:n.r-a.r,c:n.c-a.c})}function ao(e){return e.replace(/_xlfn\./g,"")}function no(e){e.l+=1}function so(e,t){var r=e.read_shift(1==t?1:2);return[16383&r,r>>14&1,r>>15&1]}function io(e,t,r){var a=2;if(r){if(r.biff>=2&&r.biff<=5)return oo(e);12==r.biff&&(a=4)}var n=e.read_shift(a),s=e.read_shift(a),i=so(e,2),o=so(e,2);return{s:{r:n,c:i[0],cRel:i[1],rRel:i[2]},e:{r:s,c:o[0],cRel:o[1],rRel:o[2]}}}function oo(e){var t=so(e,2),r=so(e,2),a=e.read_shift(1),n=e.read_shift(1);return{s:{r:t[0],c:a,cRel:t[1],rRel:t[2]},e:{r:r[0],c:n,cRel:r[1],rRel:r[2]}}}function co(e,t,r){if(r&&r.biff>=2&&r.biff<=5)return function(e){var t=so(e,2),r=e.read_shift(1);return{r:t[0],c:r,cRel:t[1],rRel:t[2]}}(e);var a=e.read_shift(r&&12==r.biff?4:2),n=so(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function lo(e){var t=e.read_shift(2),r=e.read_shift(2);return{r:t,c:255&r,fQuoted:!!(16384&r),cRel:r>>15,rRel:r>>15}}function fo(e){var t=1&e[e.l+1];return e.l+=4,[t,1]}function ho(e){return[e.read_shift(1),e.read_shift(1)]}function uo(e,t){var r=[e.read_shift(1)];if(12==t)switch(r[0]){case 2:r[0]=4;break;case 4:r[0]=16;break;case 0:r[0]=1;break;case 1:r[0]=2}switch(r[0]){case 4:r[1]=In(e,1)?"TRUE":"FALSE",12!=t&&(e.l+=7);break;case 37:case 16:r[1]=Wa[e[e.l]],e.l+=12==t?4:8;break;case 0:e.l+=8;break;case 1:r[1]=Ca(e);break;case 2:r[1]=zn(e,0,{biff:t>0&&t<8?2:t});break;default:throw new Error("Bad SerAr: "+r[0])}return r}function po(e,t,r){for(var a=e.read_shift(12==r.biff?4:2),n=[],s=0;s!=a;++s)n.push((12==r.biff?Aa:Qn)(e,8));return n}function mo(e,t,r){var a=0,n=0;12==r.biff?(a=e.read_shift(4),n=e.read_shift(4)):(n=1+e.read_shift(1),a=1+e.read_shift(2)),r.biff>=2&&r.biff<8&&(--a,0==--n&&(n=256));for(var s=0,i=[];s!=a&&(i[s]=[]);++s)for(var o=0;o!=n;++o)i[s][o]=uo(e,r.biff);return i}function go(e,t,r){return e.l+=2,[lo(e)]}function vo(e){return e.l+=6,[]}function bo(e){return e.l+=2,[Fn(e),1&e.read_shift(2)]}var wo=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"],To={1:{n:"PtgExp",f:function(e,t,r){return e.l++,r&&12==r.biff?[e.read_shift(4,"i"),0]:[e.read_shift(2),e.read_shift(r&&2==r.biff?1:2)]}},2:{n:"PtgTbl",f:Ur},3:{n:"PtgAdd",f:no},4:{n:"PtgSub",f:no},5:{n:"PtgMul",f:no},6:{n:"PtgDiv",f:no},7:{n:"PtgPower",f:no},8:{n:"PtgConcat",f:no},9:{n:"PtgLt",f:no},10:{n:"PtgLe",f:no},11:{n:"PtgEq",f:no},12:{n:"PtgGe",f:no},13:{n:"PtgGt",f:no},14:{n:"PtgNe",f:no},15:{n:"PtgIsect",f:no},16:{n:"PtgUnion",f:no},17:{n:"PtgRange",f:no},18:{n:"PtgUplus",f:no},19:{n:"PtgUminus",f:no},20:{n:"PtgPercent",f:no},21:{n:"PtgParen",f:no},22:{n:"PtgMissArg",f:no},23:{n:"PtgStr",f:function(e,t,r){return e.l++,Mn(e,0,r)}},26:{n:"PtgSheet",f:function(e,t,r){return e.l+=5,e.l+=2,e.l+=2==r.biff?1:4,["PTGSHEET"]}},27:{n:"PtgEndSheet",f:function(e,t,r){return e.l+=2==r.biff?4:5,["PTGENDSHEET"]}},28:{n:"PtgErr",f:function(e){return e.l++,Wa[e.read_shift(1)]}},29:{n:"PtgBool",f:function(e){return e.l++,0!==e.read_shift(1)}},30:{n:"PtgInt",f:function(e){return e.l++,e.read_shift(2)}},31:{n:"PtgNum",f:function(e){return e.l++,Ca(e)}},32:{n:"PtgArray",f:function(e,t,r){var a=(96&e[e.l++])>>5;return e.l+=2==r.biff?6:12==r.biff?14:7,[a]}},33:{n:"PtgFunc",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(r&&r.biff<=3?1:2);return[Ho[n],Wo[n],a]}},34:{n:"PtgFuncVar",f:function(e,t,r){var a=e[e.l++],n=e.read_shift(1),s=r&&r.biff<=3?[88==a?-1:0,e.read_shift(1)]:function(e){return[e[e.l+1]>>7,32767&e.read_shift(2)]}(e);return[n,(0===s[0]?Wo:Bo)[s[1]]]}},35:{n:"PtgName",f:function(e,t,r){var a=e.read_shift(1)>>>5&3,n=!r||r.biff>=8?4:2,s=e.read_shift(n);switch(r.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12}return[a,0,s]}},36:{n:"PtgRef",f:function(e,t,r){var a=(96&e[e.l])>>5;return e.l+=1,[a,co(e,0,r)]}},37:{n:"PtgArea",f:function(e,t,r){return[(96&e[e.l++])>>5,io(e,r.biff>=2&&r.biff,r)]}},38:{n:"PtgMemArea",f:function(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=r&&2==r.biff?3:4,[a,e.read_shift(r&&2==r.biff?1:2)]}},39:{n:"PtgMemErr",f:Ur},40:{n:"PtgMemNoMem",f:Ur},41:{n:"PtgMemFunc",f:function(e,t,r){return[e.read_shift(1)>>>5&3,e.read_shift(r&&2==r.biff?1:2)]}},42:{n:"PtgRefErr",f:function(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=4,r.biff<8&&e.l--,12==r.biff&&(e.l+=2),[a]}},43:{n:"PtgAreaErr",f:function(e,t,r){var a=(96&e[e.l++])>>5;return e.l+=r&&r.biff>8?12:r.biff<8?6:8,[a]}},44:{n:"PtgRefN",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=function(e,t,r){var a=r&&r.biff?r.biff:8;if(a>=2&&a<=5)return function(e){var t=e.read_shift(2),r=e.read_shift(1),a=(32768&t)>>15,n=(16384&t)>>14;return t&=16383,1==a&&t>=8192&&(t-=16384),1==n&&r>=128&&(r-=256),{r:t,c:r,cRel:n,rRel:a}}(e);var n=e.read_shift(a>=12?4:2),s=e.read_shift(2),i=(16384&s)>>14,o=(32768&s)>>15;if(s&=16383,1==o)for(;n>524287;)n-=1048576;if(1==i)for(;s>8191;)s-=16384;return{r:n,c:s,cRel:i,rRel:o}}(e,0,r);return[a,n]}},45:{n:"PtgAreaN",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=function(e,t,r){if(r.biff<8)return oo(e);var a=e.read_shift(12==r.biff?4:2),n=e.read_shift(12==r.biff?4:2),s=so(e,2),i=so(e,2);return{s:{r:a,c:s[0],cRel:s[1],rRel:s[2]},e:{r:n,c:i[0],cRel:i[1],rRel:i[2]}}}(e,0,r);return[a,n]}},46:{n:"PtgMemAreaN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},47:{n:"PtgMemNoMemN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},57:{n:"PtgNameX",f:function(e,t,r){return 5==r.biff?function(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2,"i");e.l+=8;var a=e.read_shift(2);return e.l+=12,[t,r,a]}(e):[e.read_shift(1)>>>5&3,e.read_shift(2),e.read_shift(4)]}},58:{n:"PtgRef3d",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(2);return r&&5==r.biff&&(e.l+=12),[a,n,co(e,0,r)]}},59:{n:"PtgArea3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2,"i");if(r&&5===r.biff)e.l+=12;return[a,n,io(e,0,r)]}},60:{n:"PtgRefErr3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=4;if(r)switch(r.biff){case 5:s=15;break;case 12:s=6}return e.l+=s,[a,n]}},61:{n:"PtgAreaErr3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=8;if(r)switch(r.biff){case 5:e.l+=12,s=6;break;case 12:s=12}return e.l+=s,[a,n]}},255:{}},Eo={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},yo={1:{n:"PtgElfLel",f:bo},2:{n:"PtgElfRw",f:go},3:{n:"PtgElfCol",f:go},6:{n:"PtgElfRwV",f:go},7:{n:"PtgElfColV",f:go},10:{n:"PtgElfRadical",f:go},11:{n:"PtgElfRadicalS",f:vo},13:{n:"PtgElfColS",f:vo},15:{n:"PtgElfColSV",f:vo},16:{n:"PtgElfRadicalLel",f:bo},25:{n:"PtgList",f:function(e){e.l+=2;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n=e.read_shift(2),s=e.read_shift(2);return{ixti:t,coltype:3&r,rt:wo[r>>2&31],idx:a,c:n,C:s}}},29:{n:"PtgSxName",f:function(e){return e.l+=2,[e.read_shift(4)]}},255:{}},So={0:{n:"PtgAttrNoop",f:function(e){return e.l+=4,[0,0]}},1:{n:"PtgAttrSemi",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=r&&2==r.biff?3:4,[a]}},2:{n:"PtgAttrIf",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(r&&2==r.biff?1:2)]}},4:{n:"PtgAttrChoose",f:function(e,t,r){e.l+=2;for(var a=e.read_shift(r&&2==r.biff?1:2),n=[],s=0;s<=a;++s)n.push(e.read_shift(r&&2==r.biff?1:2));return n}},8:{n:"PtgAttrGoto",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(r&&2==r.biff?1:2)]}},16:{n:"PtgAttrSum",f:function(e,t,r){e.l+=r&&2==r.biff?3:4}},32:{n:"PtgAttrBaxcel",f:fo},33:{n:"PtgAttrBaxcel",f:fo},64:{n:"PtgAttrSpace",f:function(e){return e.read_shift(2),ho(e)}},65:{n:"PtgAttrSpaceSemi",f:function(e){return e.read_shift(2),ho(e)}},128:{n:"PtgAttrIfError",f:function(e){var t=255&e[e.l+1]?1:0;return e.l+=2,[t,e.read_shift(2)]}},255:{}};function ko(e,t,r,a){if(a.biff<8)return Ur(e,t);for(var n=e.l+t,s=[],i=0;i!==r.length;++i)switch(r[i][0]){case"PtgArray":r[i][1]=mo(e,0,a),s.push(r[i][1]);break;case"PtgMemArea":r[i][2]=po(e,r[i][1],a),s.push(r[i][2]);break;case"PtgExp":a&&12==a.biff&&(r[i][1][1]=e.read_shift(4),s.push(r[i][1]));break;case"PtgList":case"PtgElfRadicalS":case"PtgElfColS":case"PtgElfColSV":throw"Unsupported "+r[i][0]}return 0!==(t=n-e.l)&&s.push(Ur(e,t)),s}function _o(e,t,r){for(var a,n,s=e.l+t,i=[];s!=e.l;)t=s-e.l,n=e[e.l],a=To[n]||To[Eo[n]],24!==n&&25!==n||(a=(24===n?yo:So)[e[e.l+1]]),a&&a.f?i.push([a.n,a.f(e,t,r)]):Ur(e,t);return i}function Ao(e){for(var t=[],r=0;r=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function Co(e,t,r){if(!e)return"SH33TJSERR0";if(r.biff>8&&(!e.XTI||!e.XTI[t]))return e.SheetNames[t];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[t];if(r.biff<8)return t>1e4&&(t-=65536),t<0&&(t=-t),0==t?"":e.XTI[t-1];if(!a)return"SH33TJSERR1";var n="";if(r.biff>8)switch(e[a[0]][0]){case 357:return n=-1==a[1]?"#REF":e.SheetNames[a[1]],a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:return null!=r.SID?e.SheetNames[r.SID]:"SH33TJSSAME"+e[a[0]][0];default:return"SH33TJSSRC"+e[a[0]][0]}switch(e[a[0]][0][0]){case 1025:return n=-1==a[1]?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3",a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:return e[a[0]][0][3]?(n=-1==a[1]?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4",a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]]):"SH33TJSERR2"}}function Oo(e,t,r){var a=Co(e,t,r);return"#REF"==a?a:function(e,t){if(!(e||t&&t.biff<=5&&t.biff>=2))throw new Error("empty sheet name");return/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e)?"'"+e+"'":e}(a,r)}function Ro(e,t,r,a,n){var s,i,o,c,l=n&&n.biff||8,f={s:{c:0,r:0},e:{c:0,r:0}},h=[],u=0,d=0,p="";if(!e[0]||!e[0][0])return"";for(var m=-1,g="",v=0,b=e[0].length;v=0){switch(e[0][m][1][0]){case 0:g=Ke(" ",e[0][m][1][1]);break;case 1:g=Ke("\r",e[0][m][1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}i+=g,m=-1}h.push(i+xo[w[0]]+s);break;case"PtgIsect":s=h.pop(),i=h.pop(),h.push(i+" "+s);break;case"PtgUnion":s=h.pop(),i=h.pop(),h.push(i+","+s);break;case"PtgRange":s=h.pop(),i=h.pop(),h.push(i+":"+s);break;case"PtgAttrChoose":case"PtgAttrGoto":case"PtgAttrIf":case"PtgAttrIfError":case"PtgAttrBaxcel":case"PtgAttrSemi":case"PtgMemArea":case"PtgTbl":case"PtgMemErr":case"PtgMemAreaN":case"PtgMemNoMemN":case"PtgAttrNoop":case"PtgSheet":case"PtgEndSheet":case"PtgMemFunc":case"PtgMemNoMem":break;case"PtgRef":o=Vr(w[1][1],f,n),h.push(jr(o,l));break;case"PtgRefN":o=r?Vr(w[1][1],r,n):w[1][1],h.push(jr(o,l));break;case"PtgRef3d":u=w[1][1],o=Vr(w[1][2],f,n),p=Oo(a,u,n),h.push(p+"!"+jr(o,l));break;case"PtgFunc":case"PtgFuncVar":var T=w[1][0],E=w[1][1];T||(T=0);var y=0==(T&=127)?[]:h.slice(-T);h.length-=T,"User"===E&&(E=y.shift()),h.push(E+"("+y.join(",")+")");break;case"PtgBool":h.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":case"PtgErr":h.push(w[1]);break;case"PtgNum":h.push(String(w[1]));break;case"PtgStr":h.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgAreaN":c=Gr(w[1][1],r?{s:r}:f,n),h.push(Xr(c,n));break;case"PtgArea":c=Gr(w[1][1],f,n),h.push(Xr(c,n));break;case"PtgArea3d":u=w[1][1],c=w[1][2],p=Oo(a,u,n),h.push(p+"!"+Xr(c,n));break;case"PtgAttrSum":h.push("SUM("+h.pop()+")");break;case"PtgName":d=w[1][2];var S=(a.names||[])[d-1]||(a[0]||[])[d],k=S?S.Name:"SH33TJSNAME"+String(d);k&&"_xlfn."==k.slice(0,6)&&!n.xlfn&&(k=k.slice(6)),h.push(k);break;case"PtgNameX":var _,A=w[1][1];if(d=w[1][2],!(n.biff<=5)){var x="";if(14849==((a[A]||[])[0]||[])[0]||(1025==((a[A]||[])[0]||[])[0]?a[A][d]&&a[A][d].itab>0&&(x=a.SheetNames[a[A][d].itab-1]+"!"):x=a.SheetNames[d-1]+"!"),a[A]&&a[A][d])x+=a[A][d].Name;else if(a[0]&&a[0][d])x+=a[0][d].Name;else{var C=(Co(a,A,n)||"").split(";;");C[d-1]?x=C[d-1]:x+="SH33TJSERRX"}h.push(x);break}A<0&&(A=-A),a[A]&&(_=a[A][d]),_||(_={Name:"SH33TJSERRY"}),h.push(_.Name);break;case"PtgParen":var O="(",R=")";if(m>=0){switch(g="",e[0][m][1][0]){case 2:O=Ke(" ",e[0][m][1][1])+O;break;case 3:O=Ke("\r",e[0][m][1][1])+O;break;case 4:R=Ke(" ",e[0][m][1][1])+R;break;case 5:R=Ke("\r",e[0][m][1][1])+R;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}m=-1}h.push(O+h.pop()+R);break;case"PtgRefErr":case"PtgRefErr3d":case"PtgAreaErr":case"PtgAreaErr3d":h.push("#REF!");break;case"PtgExp":o={c:w[1][1],r:w[1][0]};var I={c:r.c,r:r.r};if(a.sharedf[Zr(o)]){var N=a.sharedf[Zr(o)];h.push(Ro(N,0,I,a,n))}else{var F=!1;for(s=0;s!=a.arrayf.length;++s)if(i=a.arrayf[s],!(o.ci[0].e.c||o.ri[0].e.r)){h.push(Ro(i[1],0,I,a,n)),F=!0;break}F||h.push(w[1])}break;case"PtgArray":h.push("{"+Ao(w[1])+"}");break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":m=v;break;case"PtgMissArg":h.push("");break;case"PtgList":h.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgElfCol":case"PtgElfColS":case"PtgElfColSV":case"PtgElfColV":case"PtgElfLel":case"PtgElfRadical":case"PtgElfRadicalLel":case"PtgElfRadicalS":case"PtgElfRw":case"PtgElfRwV":throw new Error("Unsupported ELFs");default:throw new Error("Unrecognized Formula Token: "+String(w))}if(3!=n.biff&&m>=0&&-1==["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"].indexOf(e[0][v][0])){var D=!0;switch((w=e[0][m])[1][0]){case 4:D=!1;case 0:g=Ke(" ",w[1][1]);break;case 5:D=!1;case 1:g=Ke("\r",w[1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0])}h.push((D?g:"")+h.pop()+(D?"":g)),m=-1}}if(h.length>1&&n.WTF)throw new Error("bad formula stack");return h[0]}function Io(e,t,r){var a,n=e.l+t,s=2==r.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Ur(e,t-2)];var o=_o(e,i,r);return t!==i+s&&(a=ko(e,t-i-s,o,r)),e.l=n,[o,a]}function No(e,t,r){var a,n=e.l+t,s=e.read_shift(2),i=_o(e,s,r);return 65535==s?[[],Ur(e,t-2)]:(t!==s+2&&(a=ko(e,n-s-2,i,r)),[i,a])}function Fo(e,t,r){var a=e.l+t,n=Kn(e);2==r.biff&&++e.l;var s=function(e){var t;if(65535!==Cr(e,e.l+6))return[Ca(e),"n"];switch(e[e.l]){case 0:return e.l+=8,["String","s"];case 1:return t=1===e[e.l+2],e.l+=8,[t,"b"];case 2:return t=e[e.l+2],e.l+=8,[t,"e"];case 3:return e.l+=8,["","s"]}return[]}(e),i=e.read_shift(1);2!=r.biff&&(e.read_shift(1),r.biff>=5&&e.read_shift(4));var o=function(e,t,r){var a,n=e.l+t,s=2==r.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Ur(e,t-2)];var o=_o(e,i,r);return t!==i+s&&(a=ko(e,t-i-s,o,r)),e.l=n,[o,a]}(e,a-e.l,r);return{cell:n,val:s[0],formula:o,shared:i>>3&1,tt:s[1]}}function Do(e,t,r){var a=e.read_shift(4),n=_o(e,a,r),s=e.read_shift(4);return[n,s>0?ko(e,s,n,r):null]}var Po=Do,Lo=Do,Mo=Do,Uo=Do,Bo={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"},Wo={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"},Ho={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function zo(e){return"of:"==e.slice(0,3)&&(e=e.slice(3)),61==e.charCodeAt(0)&&61==(e=e.slice(1)).charCodeAt(0)&&(e=e.slice(1)),(e=(e=(e=e.replace(/COM\.MICROSOFT\./g,"")).replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,t){return t.replace(/\./g,"")})).replace(/\[.(#[A-Z]*[?!])\]/g,"$1")).replace(/[;~]/g,",").replace(/\|/g,";")}function Vo(e){return("of:="+e.replace(Qi,"$1[.$2$3$4$5]").replace(/\]:\[/g,":")).replace(/;/g,"|").replace(/,/g,";")}function Go(e){var t=e.split(":");return[t[0].split(".")[0],t[0].split(".")[1]+(t.length>1?":"+(t[1].split(".")[1]||t[1].split(".")[0]):"")]}function jo(e){return e.replace(/\./,"!")}var Xo={},$o={},Yo="undefined"!=typeof Map;function Ko(e,t,r){var a=0,n=e.length;if(r){if(Yo?r.has(t):Object.prototype.hasOwnProperty.call(r,t))for(var s=Yo?r.get(t):r[t];a-1?(r.width=fi(a),r.customWidth=1):null!=t.width&&(r.width=t.width),t.hidden&&(r.hidden=!0),null!=t.level&&(r.outlineLevel=r.level=t.level),r}function qo(e,t){if(e){var r=[.7,.7,.75,.75,.3,.3];"xlml"==t&&(r=[1,1,1,1,.5,.5]),null==e.left&&(e.left=r[0]),null==e.right&&(e.right=r[1]),null==e.top&&(e.top=r[2]),null==e.bottom&&(e.bottom=r[3]),null==e.header&&(e.header=r[4]),null==e.footer&&(e.footer=r[5])}}function Zo(e,t,r){var a=r.revssf[null!=t.z?t.z:"General"],n=60,s=e.length;if(null==a&&r.ssf)for(;n<392;++n)if(null==r.ssf[n]){Te(t.z,n),r.ssf[n]=t.z,r.revssf[t.z]=a=n;break}for(n=0;n!=s;++n)if(e[n].numFmtId===a)return n;return e[s]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1},s}function Qo(e,t,r,a,n,s){try{a.cellNF&&(e.z=H[t])}catch(e){if(a.WTF)throw e}if("z"!==e.t||a.cellStyles){if("d"===e.t&&"string"==typeof e.v&&(e.v=Xe(e.v)),(!a||!1!==a.cellText)&&"z"!==e.t)try{if(null==H[t]&&Te(ke[t]||"General",t),"e"===e.t)e.w=e.w||Wa[e.v];else if(0===t)if("n"===e.t)(0|e.v)===e.v?e.w=e.v.toString(10):e.w=Z(e.v);else if("d"===e.t){var i=Me(e.v);e.w=(0|i)===i?i.toString(10):Z(i)}else{if(void 0===e.v)return"";e.w=Q(e.v,$o)}else"d"===e.t?e.w=we(t,Me(e.v),$o):e.w=we(t,e.v,$o)}catch(e){if(a.WTF)throw e}if(a.cellStyles&&null!=r)try{e.s=s.Fills[r],e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb&&(e.s.fgColor.rgb=ii(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0),a.WTF&&(e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb)),e.s.bgColor&&e.s.bgColor.theme&&(e.s.bgColor.rgb=ii(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0),a.WTF&&(e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb))}catch(e){if(a.WTF&&s.Fills)throw e}}}function ec(e,t,r){if(e&&e["!ref"]){var a=ta(e["!ref"]);if(a.e.c/g,rc=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/,ac=/<(?:\w:)?hyperlink [^>]*>/gm,nc=/"(\w*:\w*)"/,sc=/<(?:\w:)?col\b[^>]*[\/]?>/g,ic=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g,oc=/<(?:\w:)?pageMargins[^>]*\/>/g,cc=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/,lc=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/,fc=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function hc(e,t,r,a){var n=bt(e);r.Sheets[a]||(r.Sheets[a]={}),n.codeName&&(r.Sheets[a].CodeName=yt(Pt(n.codeName)))}var uc=["objects","scenarios","selectLockedCells","selectUnlockedCells"],dc=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"],pc=/<(?:\w:)?sheetView(?:[^>a-z][^>]*)?\/?>/;function mc(e,t,r,a){if(e.c&&r["!comments"].push([t,e.c]),void 0===e.v&&"string"!=typeof e.f||"z"===e.t&&!e.f)return"";var n="",s=e.t,i=e.v;if("z"!==e.t)switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Wa[e.v];break;case"d":a&&a.cellDates?n=Xe(e.v,-1).toISOString():((e=Ye(e)).t="n",n=""+(e.v=Me(Xe(e.v)))),void 0===e.z&&(e.z=H[14]);break;default:n=e.v}var o=Gt("v",_t(n)),c={r:t},l=Zo(a.cellXfs,e,a);switch(0!==l&&(c.s=l),e.t){case"n":case"z":break;case"d":c.t="d";break;case"b":c.t="b";break;case"e":c.t="e";break;default:if(null==e.v){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){o=Gt("v",""+Ko(a.Strings,e.v,a.revStrings)),c.t="s";break}c.t="str"}if(e.t!=s&&(e.t=s,e.v=i),"string"==typeof e.f&&e.f){var f=e.F&&e.F.slice(0,t.length)==t?{t:"array",ref:e.F}:null;o=Xt("f",_t(e.f),f)+(null!=e.v?o:"")}return e.l&&r["!links"].push([t,e.l]),e.D&&(c.cm=1),Xt("c",o,c)}var gc=function(){var e=/<(?:\w+:)?c[ \/>]/,t=/<\/(?:\w+:)?row>/,r=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/,n=/ref=["']([^"']*)["']/,s=Mt("v"),i=Mt("f");return function(o,c,l,f,h,u){for(var d,p,m,g,v,b=0,w="",T=[],E=[],y=0,S=0,k=0,_="",A=0,x=0,C=0,O=0,R=Array.isArray(u.CellXf),I=[],N=[],F=Array.isArray(c),D=[],P={},L=!1,M=!!l.sheetStubs,U=o.split(t),B=0,W=U.length;B!=W;++B){var z=(w=U[B].trim()).length;if(0!==z){var V=0;e:for(b=0;b":if("/"!=w[b-1]){++b;break e}if(l&&l.cellStyles){if(A=null!=(p=bt(w.slice(V,b),!0)).r?parseInt(p.r,10):A+1,x=-1,l.sheetRows&&l.sheetRows=b)break;if(A=null!=(p=bt(w.slice(V,b),!0)).r?parseInt(p.r,10):A+1,x=-1,!(l.sheetRows&&l.sheetRowsA-1&&(f.s.r=A-1),f.e.r":"")+w,null!=E&&2===E.length){for(y=0,_=E[1],S=0;S!=_.length&&!((k=_.charCodeAt(S)-64)<1||k>26);++S)y=26*y+k;x=--y}else++x;for(S=0;S!=w.length&&62!==w.charCodeAt(S);++S);if(++S,(p=bt(w.slice(0,S),!0)).r||(p.r=Zr({r:A-1,c:x})),d={t:""},null!=(E=(_=w.slice(S)).match(s))&&""!==E[1]&&(d.v=yt(E[1])),l.cellFormula){if(null!=(E=_.match(i))&&""!==E[1]){if(d.f=yt(Pt(E[1])).replace(/\r\n/g,"\n"),l.xlfn||(d.f=ao(d.f)),E[0].indexOf('t="array"')>-1)d.F=(_.match(n)||[])[1],d.F.indexOf(":")>-1&&I.push([ta(d.F),d.F]);else if(E[0].indexOf('t="shared"')>-1){g=bt(E[0]);var j=yt(Pt(E[1]));l.xlfn||(j=ao(j)),N[parseInt(g.si,10)]=[g,j,p.r]}}else(E=_.match(/]*\/>/))&&N[(g=bt(E[0])).si]&&(d.f=ro(N[g.si][1],N[g.si][2],p.r));var X=qr(p.r);for(S=0;S=I[S][0].s.r&&X.r<=I[S][0].e.r&&X.c>=I[S][0].s.c&&X.c<=I[S][0].e.c&&(d.F=I[S][1])}if(null==p.t&&void 0===d.v)if(d.f||d.F)d.v=0,d.t="n";else{if(!M)continue;d.t="z"}else d.t=p.t||"n";switch(f.s.c>x&&(f.s.c=x),f.e.c0&&(c["!rows"]=D)}}();function vc(e,t,r,a){var n,s=[ut,Xt("worksheet",null,{xmlns:tr[0],"xmlns:r":Zt})],i=r.SheetNames[e],o="",c=r.Sheets[i];null==c&&(c={});var l=c["!ref"]||"A1",f=ta(l);if(f.e.c>16383||f.e.r>1048575){if(t.WTF)throw new Error("Range "+l+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383),f.e.r=Math.min(f.e.c,1048575),l=ea(f)}a||(a={}),c["!comments"]=[];var h=[];!function(e,t,r,a,n){var s=!1,i={},o=null;if("xlsx"!==a.bookType&&t.vbaraw){var c=t.SheetNames[r];try{t.Workbook&&(c=t.Workbook.Sheets[r].CodeName||c)}catch(e){}s=!0,i.codeName=Lt(_t(c))}if(e&&e["!outline"]){var l={summaryBelow:1,summaryRight:1};e["!outline"].above&&(l.summaryBelow=0),e["!outline"].left&&(l.summaryRight=0),o=(o||"")+Xt("outlinePr",null,l)}(s||o)&&(n[n.length]=Xt("sheetPr",o,i))}(c,r,e,t,s),s[s.length]=Xt("dimension",null,{ref:l}),s[s.length]=function(e,t,r,a){var n={workbookViewId:"0"};return(((a||{}).Workbook||{}).Views||[])[0]&&(n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0"),Xt("sheetViews",Xt("sheetView",null,n),{})}(0,0,0,r),t.sheetFormat&&(s[s.length]=Xt("sheetFormatPr",null,{defaultRowHeight:t.sheetFormat.defaultRowHeight||"16",baseColWidth:t.sheetFormat.baseColWidth||"10",outlineLevelRow:t.sheetFormat.outlineLevelRow||"7"})),null!=c["!cols"]&&c["!cols"].length>0&&(s[s.length]=function(e,t){for(var r,a=[""],n=0;n!=t.length;++n)(r=t[n])&&(a[a.length]=Xt("col",null,Jo(n,r)));return a[a.length]="",a.join("")}(0,c["!cols"])),s[n=s.length]="",c["!links"]=[],null!=c["!ref"]&&(o=function(e,t){var r,a,n=[],s=[],i=ta(e["!ref"]),o="",c="",l=[],f=0,h=0,u=e["!rows"],d=Array.isArray(e),p={r:c},m=-1;for(h=i.s.c;h<=i.e.c;++h)l[h]=Jr(h);for(f=i.s.r;f<=i.e.r;++f){for(s=[],c=Yr(f),h=i.s.c;h<=i.e.c;++h){r=l[h]+c;var g=d?(e[f]||[])[h]:e[r];void 0!==g&&null!=(o=mc(g,r,e,t))&&s.push(o)}(s.length>0||u&&u[f])&&(p={r:c},u&&u[f]&&((a=u[f]).hidden&&(p.hidden=1),m=-1,a.hpx?m=pi(a.hpx):a.hpt&&(m=a.hpt),m>-1&&(p.ht=m,p.customHeight=1),a.level&&(p.outlineLevel=a.level)),n[n.length]=Xt("row",s.join(""),p))}if(u)for(;f-1&&(p.ht=m,p.customHeight=1),a.level&&(p.outlineLevel=a.level),n[n.length]=Xt("row","",p));return n.join("")}(c,t),o.length>0&&(s[s.length]=o)),s.length>n+1&&(s[s.length]="",s[n]=s[n].replace("/>",">")),c["!protect"]&&(s[s.length]=function(e){var t={sheet:1};return uc.forEach(function(r){null!=e[r]&&e[r]&&(t[r]="1")}),dc.forEach(function(r){null==e[r]||e[r]||(t[r]="0")}),e.password&&(t.password=ri(e.password).toString(16).toUpperCase()),Xt("sheetProtection",null,t)}(c["!protect"])),null!=c["!autofilter"]&&(s[s.length]=function(e,t,r,a){var n="string"==typeof e.ref?e.ref:ea(e.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var s=r.Workbook.Names,i=Qr(n);i.s.r==i.e.r&&(i.e.r=Qr(t["!ref"]).e.r,n=ea(i));for(var o=0;o0&&(s[s.length]=function(e){if(0===e.length)return"";for(var t='',r=0;r!=e.length;++r)t+='';return t+""}(c["!merges"]));var u,d,p=-1,m=-1;return c["!links"].length>0&&(s[s.length]="",c["!links"].forEach(function(e){e[1].Target&&(u={ref:e[0]},"#"!=e[1].Target.charAt(0)&&(m=Ka(a,-1,_t(e[1].Target).replace(/#.*$/,""),ja.HLINK),u["r:id"]="rId"+m),(p=e[1].Target.indexOf("#"))>-1&&(u.location=_t(e[1].Target.slice(p+1))),e[1].Tooltip&&(u.tooltip=_t(e[1].Tooltip)),s[s.length]=Xt("hyperlink",null,u))}),s[s.length]=""),delete c["!links"],null!=c["!margins"]&&(s[s.length]=(qo(d=c["!margins"]),Xt("pageMargins",null,d))),t&&!t.ignoreEC&&null!=t.ignoreEC||(s[s.length]=Gt("ignoredErrors",Xt("ignoredError",null,{numberStoredAsText:1,sqref:l}))),h.length>0&&(m=Ka(a,-1,"../drawings/drawing"+(e+1)+".xml",ja.DRAW),s[s.length]=Xt("drawing",null,{"r:id":"rId"+m}),c["!drawing"]=h),c["!comments"].length>0&&(m=Ka(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",ja.VML),s[s.length]=Xt("legacyDrawing",null,{"r:id":"rId"+m}),c["!legacy"]=m),s.length>1&&(s[s.length]="",s[1]=s[1].replace("/>",">")),s.join("")}function bc(e,t,r,a){var n=function(e,t,r){var a=Br(145),n=(r["!rows"]||[])[e]||{};a.write_shift(4,e),a.write_shift(4,0);var s=320;n.hpx?s=20*pi(n.hpx):n.hpt&&(s=20*n.hpt),a.write_shift(2,s),a.write_shift(1,0);var i=0;n.level&&(i|=n.level),n.hidden&&(i|=16),(n.hpx||n.hpt)&&(i|=32),a.write_shift(1,i),a.write_shift(1,0);var o=0,c=a.l;a.l+=4;for(var l={r:e,c:0},f=0;f<16;++f)if(!(t.s.c>f+1<<10||t.e.ca.l?a.slice(0,a.l):a}(a,r,t);(n.length>17||(t["!rows"]||[])[a])&&zr(e,0,n)}var wc=Aa,Tc=xa;function Ec(e){return[pa(e),Ca(e),"n"]}var yc=Aa,Sc=xa,kc=["left","right","top","bottom","header","footer"];function _c(e,t,r,a,n,s,i){if(void 0===t.v)return!1;var o="";switch(t.t){case"b":o=t.v?"1":"0";break;case"d":(t=Ye(t)).z=t.z||H[14],t.v=Me(Xe(t.v)),t.t="n";break;case"n":case"e":o=""+t.v;break;default:o=t.v}var c={r,c:a};switch(c.s=Zo(n.cellXfs,t,n),t.l&&s["!links"].push([Zr(c),t.l]),t.c&&s["!comments"].push([Zr(c),t.c]),t.t){case"s":case"str":return n.bookSST?(o=Ko(n.Strings,t.v,n.revStrings),c.t="s",c.v=o,i?zr(e,18,function(e,t,r){return null==r&&(r=Br(8)),ma(t,r),r.write_shift(4,t.v),r}(0,c)):zr(e,7,function(e,t,r){return null==r&&(r=Br(12)),da(t,r),r.write_shift(4,t.v),r}(0,c))):(c.t="str",i?zr(e,17,function(e,t,r){return null==r&&(r=Br(8+4*e.v.length)),ma(t,r),ca(e.v,r),r.length>r.l?r.slice(0,r.l):r}(t,c)):zr(e,6,function(e,t,r){return null==r&&(r=Br(12+4*e.v.length)),da(t,r),ca(e.v,r),r.length>r.l?r.slice(0,r.l):r}(t,c))),!0;case"n":return t.v==(0|t.v)&&t.v>-1e3&&t.v<1e3?i?zr(e,13,function(e,t,r){return null==r&&(r=Br(8)),ma(t,r),ka(e.v,r),r}(t,c)):zr(e,2,function(e,t,r){return null==r&&(r=Br(12)),da(t,r),ka(e.v,r),r}(t,c)):i?zr(e,16,function(e,t,r){return null==r&&(r=Br(12)),ma(t,r),Oa(e.v,r),r}(t,c)):zr(e,5,function(e,t,r){return null==r&&(r=Br(16)),da(t,r),Oa(e.v,r),r}(t,c)),!0;case"b":return c.t="b",i?zr(e,15,function(e,t,r){return null==r&&(r=Br(5)),ma(t,r),r.write_shift(1,e.v?1:0),r}(t,c)):zr(e,4,function(e,t,r){return null==r&&(r=Br(9)),da(t,r),r.write_shift(1,e.v?1:0),r}(t,c)),!0;case"e":return c.t="e",i?zr(e,14,function(e,t,r){return null==r&&(r=Br(8)),ma(t,r),r.write_shift(1,e.v),r.write_shift(2,0),r.write_shift(1,0),r}(t,c)):zr(e,3,function(e,t,r){return null==r&&(r=Br(9)),da(t,r),r.write_shift(1,e.v),r}(t,c)),!0}return i?zr(e,12,function(e,t,r){return null==r&&(r=Br(4)),ma(t,r)}(0,c)):zr(e,1,function(e,t,r){return null==r&&(r=Br(8)),da(t,r)}(0,c)),!0}function Ac(e,t,r,a){var n=Hr(),s=r.SheetNames[e],i=r.Sheets[s]||{},o=s;try{r&&r.Workbook&&(o=r.Workbook.Sheets[e].CodeName||o)}catch(e){}var c,l,f=ta(i["!ref"]||"A1");if(f.e.c>16383||f.e.r>1048575){if(t.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383),f.e.r=Math.min(f.e.c,1048575)}return i["!links"]=[],i["!comments"]=[],zr(n,129),(r.vbaraw||i["!outline"])&&zr(n,147,function(e,t,r){null==r&&(r=Br(84+4*e.length));var a=192;t&&(t.above&&(a&=-65),t.left&&(a&=-129)),r.write_shift(1,a);for(var n=1;n<3;++n)r.write_shift(1,0);return Ra({auto:1},r),r.write_shift(-4,-1),r.write_shift(-4,-1),va(e,r),r.slice(0,r.l)}(o,i["!outline"])),zr(n,148,Tc(f)),function(e,t,r){zr(e,133),zr(e,137,function(e,t,r){null==r&&(r=Br(30));var a=924;return(((t||{}).Views||[])[0]||{}).RTL&&(a|=32),r.write_shift(2,a),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(2,0),r.write_shift(2,100),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(4,0),r}(0,r)),zr(e,138),zr(e,134)}(n,0,r.Workbook),function(e,t){t&&t["!cols"]&&(zr(e,390),t["!cols"].forEach(function(t,r){t&&zr(e,60,function(e,t,r){null==r&&(r=Br(18));var a=Jo(e,t);r.write_shift(-4,e),r.write_shift(-4,e),r.write_shift(4,256*(a.width||10)),r.write_shift(4,0);var n=0;return t.hidden&&(n|=1),"number"==typeof a.width&&(n|=2),t.level&&(n|=t.level<<8),r.write_shift(2,n),r}(r,t))}),zr(e,391))}(n,i),function(e,t,r,a){var n,s=ta(t["!ref"]||"A1"),i="",o=[];zr(e,145);var c=Array.isArray(t),l=s.e.r;t["!rows"]&&(l=Math.max(s.e.r,t["!rows"].length-1));for(var f=s.s.r;f<=l;++f){i=Yr(f),bc(e,t,s,f);var h=!1;if(f<=s.e.r)for(var u=s.s.c;u<=s.e.c;++u){f===s.s.r&&(o[u]=Jr(u)),n=o[u]+i;var d=c?(t[f]||[])[u]:t[n];h=!!d&&_c(e,d,f,u,a,t,h)}}zr(e,146)}(n,i,0,t),function(e,t){var r,a;t["!protect"]&&zr(e,535,(r=t["!protect"],null==a&&(a=Br(66)),a.write_shift(2,r.password?ri(r.password):0),a.write_shift(4,1),[["objects",!1],["scenarios",!1],["formatCells",!0],["formatColumns",!0],["formatRows",!0],["insertColumns",!0],["insertRows",!0],["insertHyperlinks",!0],["deleteColumns",!0],["deleteRows",!0],["selectLockedCells",!1],["sort",!0],["autoFilter",!0],["pivotTables",!0],["selectUnlockedCells",!1]].forEach(function(e){e[1]?a.write_shift(4,null==r[e[0]]||r[e[0]]?0:1):a.write_shift(4,null!=r[e[0]]&&r[e[0]]?0:1)}),a))}(n,i),function(e,t,r,a){if(t["!autofilter"]){var n=t["!autofilter"],s="string"==typeof n.ref?n.ref:ea(n.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var i=r.Workbook.Names,o=Qr(s);o.s.r==o.e.r&&(o.e.r=Qr(t["!ref"]).e.r,s=ea(o));for(var c=0;c0){var n=Ka(a,-1,"../drawings/vmlDrawing"+(r+1)+".vml",ja.VML);zr(e,551,ya("rId"+n)),t["!legacy"]=n}}(n,i,e,a),zr(n,130),n.end()}var xc=[["allowRefreshQuery",!1,"bool"],["autoCompressPictures",!0,"bool"],["backupFile",!1,"bool"],["checkCompatibility",!1,"bool"],["CodeName",""],["date1904",!1,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",!1,"bool"],["hidePivotFieldList",!1,"bool"],["promptedSolutions",!1,"bool"],["publishItems",!1,"bool"],["refreshAllConnections",!1,"bool"],["saveExternalLinkValues",!0,"bool"],["showBorderUnselectedTables",!0,"bool"],["showInkAnnotation",!0,"bool"],["showObjects","all"],["showPivotChartFilter",!1,"bool"],["updateLinks","userSet"]],Cc=[["activeTab",0,"int"],["autoFilterDateGrouping",!0,"bool"],["firstSheet",0,"int"],["minimized",!1,"bool"],["showHorizontalScroll",!0,"bool"],["showSheetTabs",!0,"bool"],["showVerticalScroll",!0,"bool"],["tabRatio",600,"int"],["visibility","visible"]],Oc=[],Rc=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Ic(e,t){for(var r=0;r!=e.length;++r)for(var a=e[r],n=0;n!=t.length;++n){var s=t[n];if(null==a[s[0]])a[s[0]]=s[1];else switch(s[2]){case"bool":"string"==typeof a[s[0]]&&(a[s[0]]=Rt(a[s[0]]));break;case"int":"string"==typeof a[s[0]]&&(a[s[0]]=parseInt(a[s[0]],10))}}}function Nc(e,t){for(var r=0;r!=t.length;++r){var a=t[r];if(null==e[a[0]])e[a[0]]=a[1];else switch(a[2]){case"bool":"string"==typeof e[a[0]]&&(e[a[0]]=Rt(e[a[0]]));break;case"int":"string"==typeof e[a[0]]&&(e[a[0]]=parseInt(e[a[0]],10))}}}function Fc(e){Nc(e.WBProps,xc),Nc(e.CalcPr,Rc),Ic(e.WBView,Cc),Ic(e.Sheets,Oc),$o.date1904=Rt(e.WBProps.date1904)}var Dc="][*?/\\".split("");function Pc(e,t){if(e.length>31){if(t)return!1;throw new Error("Sheet names cannot exceed 31 chars")}var r=!0;return Dc.forEach(function(a){if(-1!=e.indexOf(a)){if(!t)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");r=!1}}),r}function Lc(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var t,r,a,n=e.Workbook&&e.Workbook.Sheets||[];t=e.SheetNames,r=n,a=!!e.vbaraw,t.forEach(function(e,n){Pc(e);for(var s=0;s22)throw new Error("Bad Code Name: Worksheet"+i)}});for(var s=0;s0,a={codeName:"ThisWorkbook"};e.Workbook&&e.Workbook.WBProps&&(xc.forEach(function(t){null!=e.Workbook.WBProps[t[0]]&&e.Workbook.WBProps[t[0]]!=t[1]&&(a[t[0]]=e.Workbook.WBProps[t[0]])}),e.Workbook.WBProps.CodeName&&(a.codeName=e.Workbook.WBProps.CodeName,delete a.CodeName)),t[t.length]=Xt("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[],s=0;if(n&&n[0]&&n[0].Hidden){for(t[t.length]="",s=0;s!=e.SheetNames.length&&n[s]&&n[s].Hidden;++s);s==e.SheetNames.length&&(s=0),t[t.length]='',t[t.length]=""}for(t[t.length]="",s=0;s!=e.SheetNames.length;++s){var i={name:_t(e.SheetNames[s].slice(0,31))};if(i.sheetId=""+(s+1),i["r:id"]="rId"+(s+1),n[s])switch(n[s].Hidden){case 1:i.state="hidden";break;case 2:i.state="veryHidden"}t[t.length]=Xt("sheet",null,i)}return t[t.length]="",r&&(t[t.length]="",e.Workbook&&e.Workbook.Names&&e.Workbook.Names.forEach(function(e){var r={name:e.Name};e.Comment&&(r.comment=e.Comment),null!=e.Sheet&&(r.localSheetId=""+e.Sheet),e.Hidden&&(r.hidden="1"),e.Ref&&(t[t.length]=Xt("definedName",_t(e.Ref),r))}),t[t.length]=""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Bc(e,t){return t||(t=Br(127)),t.write_shift(4,e.Hidden),t.write_shift(4,e.iTabID),ya(e.strRelID,t),ca(e.name.slice(0,31),t),t.length>t.l?t.slice(0,t.l):t}function Wc(e,t){var r={};return e.read_shift(4),r.ArchID=e.read_shift(4),e.l+=t-8,r}function Hc(e,t){var r=Hr();return zr(r,131),zr(r,128,function(e,t){t||(t=Br(127));for(var r=0;4!=r;++r)t.write_shift(4,0);return ca("SheetJS",t),ca(a,t),ca(a,t),ca("7262",t),t.length>t.l?t.slice(0,t.l):t}()),zr(r,153,function(e,t){t||(t=Br(72));var r=0;return e&&e.filterPrivacy&&(r|=8),t.write_shift(4,r),t.write_shift(4,0),va(e&&e.CodeName||"ThisWorkbook",t),t.slice(0,t.l)}(e.Workbook&&e.Workbook.WBProps||null)),function(e,t){if(t.Workbook&&t.Workbook.Sheets){for(var r,a,n=t.Workbook.Sheets,s=0,i=-1,o=-1;si||(zr(e,135),zr(e,158,(r=i,a||(a=Br(29)),a.write_shift(-4,0),a.write_shift(-4,460),a.write_shift(4,28800),a.write_shift(4,17600),a.write_shift(4,500),a.write_shift(4,r),a.write_shift(4,r),a.write_shift(1,120),a.length>a.l?a.slice(0,a.l):a)),zr(e,136))}}(r,e),function(e,t){zr(e,143);for(var r=0;r!=t.SheetNames.length;++r)zr(e,156,Bc({Hidden:t.Workbook&&t.Workbook.Sheets&&t.Workbook.Sheets[r]&&t.Workbook.Sheets[r].Hidden||0,iTabID:r+1,strRelID:"rId"+(r+1),name:t.SheetNames[r]}));zr(e,144)}(r,e),zr(r,132),r.end()}function zc(e,t,r,a,n,s,i,o){return".bin"===t.slice(-4)?function(e,t,r,a,n,s,i){if(!e)return e;var o=t||{};a||(a={"!id":{}});var c,l,f,h,u,d,p,m,g,v,b=o.dense?[]:{},w={s:{r:2e6,c:2e6},e:{r:0,c:0}},T=[],E=!1,y=!1,S=[];o.biff=12,o["!row"]=0;var k=0,_=!1,A=[],x={},C=o.supbooks||n.supbooks||[[]];if(C.sharedf=x,C.arrayf=A,C.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name}),!o.supbooks&&(o.supbooks=C,n.Names))for(var O=0;O=P[0].s.r&&l.r<=P[0].e.r&&d>=P[0].s.c&&d<=P[0].e.c&&(f.F=ea(P[0]),_=!0)}!_&&e.length>3&&(f.f=e[3])}if(w.s.r>l.r&&(w.s.r=l.r),w.s.c>d&&(w.s.c=d),w.e.rl.r&&(w.s.r=l.r),w.s.c>d&&(w.s.c=d),w.e.r=e.s;)N[e.e--]={width:e.w/256,hidden:!!(1&e.flags),level:e.level},D||(D=!0,ui(e.w/256)),di(N[e.e+1]);break;case 161:b["!autofilter"]={ref:ea(e)};break;case 476:b["!margins"]=e;break;case 147:n.Sheets[r]||(n.Sheets[r]={}),e.name&&(n.Sheets[r].CodeName=e.name),(e.above||e.left)&&(b["!outline"]={above:e.above,left:e.left});break;case 137:n.Views||(n.Views=[{}]),n.Views[0]||(n.Views[0]={}),e.RTL&&(n.Views[0].RTL=!0);break;case 485:case 64:case 1053:case 151:case 152:case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 507:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 3072:case 50:case 2070:case 1045:break;case 35:E=!0;break;case 36:E=!1;break;case 37:T.push(O),E=!0;break;case 38:T.pop(),E=!1;break;default:if(t.T);else if(!E||o.WTF)throw new Error("Unexpected record 0x"+O.toString(16))}},o),delete o.supbooks,delete o["!row"],!b["!ref"]&&(w.s.r<2e6||c&&(c.e.r>0||c.e.c>0||c.s.r>0||c.s.c>0))&&(b["!ref"]=ea(c||w)),o.sheetRows&&b["!ref"]){var P=ta(b["!ref"]);o.sheetRows<=+P.e.r&&(P.e.r=o.sheetRows-1,P.e.r>w.e.r&&(P.e.r=w.e.r),P.e.rw.e.c&&(P.e.c=w.e.c),P.e.c0&&(b["!merges"]=S),N.length>0&&(b["!cols"]=N),F.length>0&&(b["!rows"]=F),b}(e,a,r,n,s,i,o):function(e,t,r,a,n,s,i){if(!e)return e;a||(a={"!id":{}});var o=t.dense?[]:{},c={s:{r:2e6,c:2e6},e:{r:0,c:0}},l="",f="",h=e.match(rc);h?(l=e.slice(0,h.index),f=e.slice(h.index+h[0].length)):l=f=e;var u=l.match(cc);u?hc(u[0],0,n,r):(u=l.match(lc))&&function(e,t,r,a,n){hc(e.slice(0,e.indexOf(">")),0,a,n)}(u[0],u[1],0,n,r);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var p=l.slice(d,d+50).match(nc);p&&function(e,t){var r=ta(t);r.s.r<=r.e.r&&r.s.c<=r.e.c&&r.s.r>=0&&r.s.c>=0&&(e["!ref"]=ea(r))}(o,p[1])}var m=l.match(fc);m&&m[1]&&function(e,t){t.Views||(t.Views=[{}]),(e.match(pc)||[]).forEach(function(e,r){var a=bt(e);t.Views[r]||(t.Views[r]={}),+a.zoomScale&&(t.Views[r].zoom=+a.zoomScale),Rt(a.rightToLeft)&&(t.Views[r].RTL=!0)})}(m[1],n);var g=[];if(t.cellStyles){var v=l.match(sc);v&&function(e,t){for(var r=!1,a=0;a!=t.length;++a){var n=bt(t[a],!0);n.hidden&&(n.hidden=Rt(n.hidden));var s=parseInt(n.min,10)-1,i=parseInt(n.max,10)-1;for(n.outlineLevel&&(n.level=+n.outlineLevel||0),delete n.min,delete n.max,n.width=+n.width,!r&&n.width&&(r=!0,ui(n.width)),di(n);s<=i;)e[s++]=Ye(n)}}(g,v)}h&&gc(h[1],o,t,c,s,i);var b=f.match(ic);b&&(o["!autofilter"]=function(e){return{ref:(e.match(/ref="([^"]*)"/)||[])[1]}}(b[0]));var w=[],T=f.match(tc);if(T)for(d=0;d!=T.length;++d)w[d]=ta(T[d].slice(T[d].indexOf('"')+1));var E=f.match(ac);E&&function(e,t,r){for(var a=Array.isArray(e),n=0;n!=t.length;++n){var s=bt(Pt(t[n]),!0);if(!s.ref)return;var i=((r||{})["!id"]||[])[s.id];i?(s.Target=i.Target,s.location&&(s.Target+="#"+yt(s.location))):(s.Target="#"+yt(s.location),i={Target:s.Target,TargetMode:"Internal"}),s.Rel=i,s.tooltip&&(s.Tooltip=s.tooltip,delete s.tooltip);for(var o=ta(s.ref),c=o.s.r;c<=o.e.r;++c)for(var l=o.s.c;l<=o.e.c;++l){var f=Zr({c:l,r:c});a?(e[c]||(e[c]=[]),e[c][l]||(e[c][l]={t:"z",v:void 0}),e[c][l].l=s):(e[f]||(e[f]={t:"z",v:void 0}),e[f].l=s)}}}(o,E,a);var y,S,k=f.match(oc);if(k&&(o["!margins"]=(y=bt(k[0]),S={},["left","right","top","bottom","header","footer"].forEach(function(e){y[e]&&(S[e]=parseFloat(y[e]))}),S)),!o["!ref"]&&c.e.c>=c.s.c&&c.e.r>=c.s.r&&(o["!ref"]=ea(c)),t.sheetRows>0&&o["!ref"]){var _=ta(o["!ref"]);t.sheetRows<=+_.e.r&&(_.e.r=t.sheetRows-1,_.e.r>c.e.r&&(_.e.r=c.e.r),_.e.r<_.s.r&&(_.s.r=_.e.r),_.e.c>c.e.c&&(_.e.c=c.e.c),_.e.c<_.s.c&&(_.s.c=_.e.c),o["!fullref"]=o["!ref"],o["!ref"]=ea(_))}return g.length>0&&(o["!cols"]=g),w.length>0&&(o["!merges"]=w),o}(e,a,r,n,s,i,o)}function Vc(e,t,r,a,n){return(".bin"===t.slice(-4)?Ac:vc)(e,r,a,n)}function Gc(e,t,r){return(".bin"===t.slice(-4)?Ji:$i)(e,r)}var jc,Xc=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g,$c=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function Yc(e,t){var r=e.split(/\s+/),a=[];if(t||(a[0]=r[0]),1===r.length)return a;var n,s,i,o=e.match(Xc);if(o)for(i=0;i!=o.length;++i)-1===(s=(n=o[i].match($c))[1].indexOf(":"))?a[n[1]]=n[2].slice(1,n[2].length-1):a["xmlns:"===n[1].slice(0,6)?"xmlns"+n[1].slice(6):n[1].slice(s+1)]=n[2].slice(1,n[2].length-1);return a}function Kc(e){var t={};if(1===e.split(/\s+/).length)return t;var r,a,n,s=e.match(Xc);if(s)for(n=0;n!=s.length;++n)-1===(a=(r=s[n].match($c))[1].indexOf(":"))?t[r[1]]=r[2].slice(1,r[2].length-1):t["xmlns:"===r[1].slice(0,6)?"xmlns"+r[1].slice(6):r[1].slice(a+1)]=r[2].slice(1,r[2].length-1);return t}function Jc(e,t,r,a){var n=a;switch((r[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=Rt(a);break;case"i2":case"int":n=parseInt(a,10);break;case"r4":case"float":n=parseFloat(a);break;case"date":case"dateTime.tz":n=Xe(a);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw new Error("bad custprop:"+r[0])}e[yt(t)]=n}function qc(e,t,r){if(r.cellStyles&&t.Interior){var a=t.Interior;a.Pattern&&(a.patternType=gi[a.Pattern]||a.Pattern)}e[t.ID]=t}function Zc(e,t,r,a,n,s,i,o,c,l){var f="General",h=a.StyleID,u={};l=l||{};var d=[],p=0;for(void 0===h&&o&&(h=o.StyleID),void 0===h&&i&&(h=i.StyleID);void 0!==s[h]&&(s[h].nf&&(f=s[h].nf),s[h].Interior&&d.push(s[h].Interior),s[h].Parent);)h=s[h].Parent;switch(r.Type){case"Boolean":a.t="b",a.v=Rt(e);break;case"String":a.t="s",a.r=Ot(yt(e)),a.v=e.indexOf("<")>-1?yt(t||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":"Z"!=e.slice(-1)&&(e+="Z"),a.v=(Xe(e)-new Date(Date.UTC(1899,11,30)))/864e5,a.v!=a.v?a.v=yt(e):a.v<60&&(a.v=a.v-1),f&&"General"!=f||(f="yyyy-mm-dd");case"Number":void 0===a.v&&(a.v=+e),a.t||(a.t="n");break;case"Error":a.t="e",a.v=Ha[e],!1!==l.cellText&&(a.w=e);break;default:""==e&&""==t?a.t="z":(a.t="s",a.v=Ot(t||e))}if(function(e,t,r){if("z"!==e.t){if(!r||!1!==r.cellText)try{"e"===e.t?e.w=e.w||Wa[e.v]:"General"===t?"n"===e.t?(0|e.v)===e.v?e.w=e.v.toString(10):e.w=Z(e.v):e.w=Q(e.v):e.w=(a=t||"General",n=e.v,"General"===(s=jc[a]||yt(a))?Q(n):we(s,n))}catch(e){if(r.WTF)throw e}var a,n,s;try{var i=jc[t]||t||"General";if(r.cellNF&&(e.z=i),r.cellDates&&"n"==e.t&&ge(i)){var o=j(e.v);o&&(e.t="d",e.v=new Date(o.y,o.m-1,o.d,o.H,o.M,o.S,o.u))}}catch(e){if(r.WTF)throw e}}}(a,f,l),!1!==l.cellFormula)if(a.Formula){var m=yt(a.Formula);61==m.charCodeAt(0)&&(m=m.slice(1)),a.f=Zi(m,n),delete a.Formula,"RC"==a.ArrayRange?a.F=Zi("RC:RC",n):a.ArrayRange&&(a.F=Zi(a.ArrayRange,n),c.push([ta(a.F),a.F]))}else for(p=0;p=c[p][0].s.r&&n.r<=c[p][0].e.r&&n.c>=c[p][0].s.c&&n.c<=c[p][0].e.c&&(a.F=c[p][1]);l.cellStyles&&(d.forEach(function(e){!u.patternType&&e.patternType&&(u.patternType=e.patternType)}),a.s=u),void 0!==a.StyleID&&(a.ixfe=a.StyleID)}function Qc(e){e.t=e.v||"",e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),e.v=e.w=e.ixfe=void 0}function el(e,t){var r=t||{};ye();var a=p(Yt(e));"binary"!=r.type&&"array"!=r.type&&"base64"!=r.type||(a=void 0!==d?d.utils.decode(65001,h(a)):Pt(a));var n,s=a.slice(0,1024).toLowerCase(),i=!1;if((1023&(s=s.replace(/".*?"/g,"")).indexOf(">"))>Math.min(1023&s.indexOf(","),1023&s.indexOf(";"))){var o=Ye(r);return o.type="string",Fs.to_workbook(a,o)}if(-1==s.indexOf("=0&&(i=!0)}),i)return function(e,t){var r=e.match(/[\s\S]*?<\/table>/gi);if(!r||0==r.length)throw new Error("Invalid HTML: could not find ");if(1==r.length)return aa(Sl(r[0],t),t);var a={SheetNames:[],Sheets:{}};return r.forEach(function(e,r){Vf(a,Sl(e,t),"Sheet"+(r+1))}),a}(a,r);jc={"General Number":"General","General Date":H[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":H[15],"Short Date":H[14],"Long Time":H[19],"Medium Time":H[18],"Short Time":H[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:H[2],Standard:H[4],Percent:H[10],Scientific:H[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var c,l,f=[],u={},m=[],g=r.dense?[]:{},v="",b={},w={},T=Yc(''),E=0,y=0,S=0,k={s:{r:2e6,c:2e6},e:{r:0,c:0}},_={},A={},x="",C=0,O=[],R={},I={},N=0,F=[],D=[],P={},L=[],M=!1,U=[],B=[],W={},z=0,V=0,G={Sheets:[],WBProps:{date1904:!1}},j={};Kt.lastIndex=0,a=a.replace(//gm,"");for(var X="";n=Kt.exec(a);)switch(n[3]=(X=n[3]).toLowerCase()){case"data":if("data"==X){if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&f.push([n[3],!0]);break}if(f[f.length-1][1])break;"/"===n[1]?Zc(a.slice(E,n.index),x,T,"comment"==f[f.length-1][0]?P:b,{c:y,r:S},_,L[y],w,U,r):(x="",T=Yc(n[0]),E=n.index+n[0].length);break;case"cell":if("/"===n[1])if(D.length>0&&(b.c=D),(!r.sheetRows||r.sheetRows>S)&&void 0!==b.v&&(r.dense?(g[S]||(g[S]=[]),g[S][y]=b):g[Jr(y)+Yr(S)]=b),b.HRef&&(b.l={Target:yt(b.HRef)},b.HRefScreenTip&&(b.l.Tooltip=b.HRefScreenTip),delete b.HRef,delete b.HRefScreenTip),(b.MergeAcross||b.MergeDown)&&(z=y+(0|parseInt(b.MergeAcross,10)),V=S+(0|parseInt(b.MergeDown,10)),O.push({s:{c:y,r:S},e:{c:z,r:V}})),r.sheetStubs)if(b.MergeAcross||b.MergeDown){for(var $=y;$<=z;++$)for(var Y=S;Y<=V;++Y)($>y||Y>S)&&(r.dense?(g[Y]||(g[Y]=[]),g[Y][$]={t:"z"}):g[Jr($)+Yr(Y)]={t:"z"});y=z+1}else++y;else b.MergeAcross?y=z+1:++y;else(b=Kc(n[0])).Index&&(y=+b.Index-1),yk.e.c&&(k.e.c=y),"/>"===n[0].slice(-2)&&++y,D=[];break;case"row":"/"===n[1]||"/>"===n[0].slice(-2)?(Sk.e.r&&(k.e.r=S),"/>"===n[0].slice(-2)&&(w=Yc(n[0])).Index&&(S=+w.Index-1),y=0,++S):((w=Yc(n[0])).Index&&(S=+w.Index-1),W={},("0"==w.AutoFitHeight||w.Height)&&(W.hpx=parseInt(w.Height,10),W.hpt=pi(W.hpx),B[S]=W),"1"==w.Hidden&&(W.hidden=!0,B[S]=W));break;case"worksheet":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"));m.push(v),k.s.r<=k.e.r&&k.s.c<=k.e.c&&(g["!ref"]=ea(k),r.sheetRows&&r.sheetRows<=k.e.r&&(g["!fullref"]=g["!ref"],k.e.r=r.sheetRows-1,g["!ref"]=ea(k))),O.length&&(g["!merges"]=O),L.length>0&&(g["!cols"]=L),B.length>0&&(g["!rows"]=B),u[v]=g}else k={s:{r:2e6,c:2e6},e:{r:0,c:0}},S=y=0,f.push([n[3],!1]),c=Yc(n[0]),v=yt(c.Name),g=r.dense?[]:{},O=[],U=[],B=[],j={name:v,Hidden:0},G.Sheets.push(j);break;case"table":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else{if("/>"==n[0].slice(-2))break;f.push([n[3],!1]),L=[],M=!1}break;case"style":"/"===n[1]?qc(_,A,r):A=Yc(n[0]);break;case"numberformat":A.nf=yt(Yc(n[0]).Format||"General"),jc[A.nf]&&(A.nf=jc[A.nf]);for(var K=0;392!=K&&H[K]!=A.nf;++K);if(392==K)for(K=57;392!=K;++K)if(null==H[K]){Te(A.nf,K);break}break;case"column":if("table"!==f[f.length-1][0])break;if((l=Yc(n[0])).Hidden&&(l.hidden=!0,delete l.Hidden),l.Width&&(l.wpx=parseInt(l.Width,10)),!M&&l.wpx>10){M=!0,oi=6;for(var J=0;J0&&(Q.Sheet=G.Sheets.length-1),G.Names.push(Q);break;case"namedcell":case"b":case"i":case"u":case"s":case"em":case"h2":case"h3":case"sub":case"sup":case"span":case"alignment":case"borders":case"border":case"protection":case"paragraphs":case"name":case"pixelsperinch":case"null":break;case"font":if("/>"===n[0].slice(-2))break;"/"===n[1]?x+=a.slice(C,n.index):C=n.index+n[0].length;break;case"interior":if(!r.cellStyles)break;A.Interior=Yc(n[0]);break;case"author":case"title":case"description":case"created":case"keywords":case"subject":case"category":case"company":case"lastauthor":case"lastsaved":case"lastprinted":case"version":case"revision":case"totaltime":case"hyperlinkbase":case"manager":case"contentstatus":case"identifier":case"language":case"appname":if("/>"===n[0].slice(-2))break;"/"===n[1]?dn(R,X,a.slice(N,n.index)):N=n.index+n[0].length;break;case"styles":case"workbook":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else f.push([n[3],!1]);break;case"comment":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"));Qc(P),D.push(P)}else f.push([n[3],!1]),P={a:(c=Yc(n[0])).Author};break;case"autofilter":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else if("/"!==n[0].charAt(n[0].length-2)){var ee=Yc(n[0]);g["!autofilter"]={ref:Zi(ee.Range).replace(/\$/g,"")},f.push([n[3],!0])}break;case"datavalidation":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&f.push([n[3],!0]);break;case"componentoptions":case"documentproperties":case"customdocumentproperties":case"officedocumentsettings":case"pivottable":case"pivotcache":case"names":case"mapinfo":case"pagebreaks":case"querytable":case"sorting":case"schema":case"conditionalformatting":case"smarttagtype":case"smarttags":case"excelworkbook":case"workbookoptions":case"worksheetoptions":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&f.push([n[3],!0]);break;default:if(0==f.length&&"document"==n[3])return Ll(a,r);if(0==f.length&&"uof"==n[3])return Ll(a,r);var te=!0;switch(f[f.length-1][0]){case"officedocumentsettings":switch(n[3]){case"allowpng":case"removepersonalinformation":case"downloadcomponents":case"locationofcomponents":case"colors":case"color":case"index":case"rgb":case"targetscreensize":case"readonlyrecommended":break;default:te=!1}break;case"componentoptions":switch(n[3]){case"toolbar":case"hideofficelogo":case"spreadsheetautofit":case"label":case"caption":case"maxheight":case"maxwidth":case"nextsheetnumber":break;default:te=!1}break;case"excelworkbook":switch(n[3]){case"date1904":G.WBProps.date1904=!0;break;case"windowheight":case"windowwidth":case"windowtopx":case"windowtopy":case"tabratio":case"protectstructure":case"protectwindow":case"protectwindows":case"activesheet":case"displayinknotes":case"firstvisiblesheet":case"supbook":case"sheetname":case"sheetindex":case"sheetindexfirst":case"sheetindexlast":case"dll":case"acceptlabelsinformulas":case"donotsavelinkvalues":case"iteration":case"maxiterations":case"maxchange":case"path":case"xct":case"count":case"selectedsheets":case"calculation":case"uncalced":case"startupprompt":case"crn":case"externname":case"formula":case"colfirst":case"collast":case"wantadvise":case"boolean":case"error":case"text":case"ole":case"noautorecover":case"publishobjects":case"donotcalculatebeforesave":case"number":case"refmoder1c1":case"embedsavesmarttags":break;default:te=!1}break;case"workbookoptions":switch(n[3]){case"owcversion":case"height":case"width":break;default:te=!1}break;case"worksheetoptions":switch(n[3]){case"visible":if("/>"===n[0].slice(-2));else if("/"===n[1])switch(a.slice(N,n.index)){case"SheetHidden":j.Hidden=1;break;case"SheetVeryHidden":j.Hidden=2}else N=n.index+n[0].length;break;case"header":g["!margins"]||qo(g["!margins"]={},"xlml"),isNaN(+bt(n[0]).Margin)||(g["!margins"].header=+bt(n[0]).Margin);break;case"footer":g["!margins"]||qo(g["!margins"]={},"xlml"),isNaN(+bt(n[0]).Margin)||(g["!margins"].footer=+bt(n[0]).Margin);break;case"pagemargins":var re=bt(n[0]);g["!margins"]||qo(g["!margins"]={},"xlml"),isNaN(+re.Top)||(g["!margins"].top=+re.Top),isNaN(+re.Left)||(g["!margins"].left=+re.Left),isNaN(+re.Right)||(g["!margins"].right=+re.Right),isNaN(+re.Bottom)||(g["!margins"].bottom=+re.Bottom);break;case"displayrighttoleft":G.Views||(G.Views=[]),G.Views[0]||(G.Views[0]={}),G.Views[0].RTL=!0;break;case"freezepanes":case"frozennosplit":case"splithorizontal":case"splitvertical":case"donotdisplaygridlines":case"activerow":case"activecol":case"toprowbottompane":case"leftcolumnrightpane":case"unsynced":case"print":case"printerrors":case"panes":case"scale":case"pane":case"number":case"layout":case"pagesetup":case"selected":case"protectobjects":case"enableselection":case"protectscenarios":case"validprinterinfo":case"horizontalresolution":case"verticalresolution":case"numberofcopies":case"activepane":case"toprowvisible":case"leftcolumnvisible":case"fittopage":case"rangeselection":case"papersizeindex":case"pagelayoutzoom":case"pagebreakzoom":case"filteron":case"fitwidth":case"fitheight":case"commentslayout":case"zoom":case"lefttoright":case"gridlines":case"allowsort":case"allowfilter":case"allowinsertrows":case"allowdeleterows":case"allowinsertcols":case"allowdeletecols":case"allowinserthyperlinks":case"allowformatcells":case"allowsizecols":case"allowsizerows":case"tabcolorindex":case"donotdisplayheadings":case"showpagelayoutzoom":case"blackandwhite":case"donotdisplayzeros":case"displaypagebreak":case"rowcolheadings":case"donotdisplayoutline":case"noorientation":case"allowusepivottables":case"zeroheight":case"viewablerange":case"selection":case"protectcontents":break;case"nosummaryrowsbelowdetail":g["!outline"]||(g["!outline"]={}),g["!outline"].above=!0;break;case"nosummarycolumnsrightdetail":g["!outline"]||(g["!outline"]={}),g["!outline"].left=!0;break;default:te=!1}break;case"pivottable":case"pivotcache":switch(n[3]){case"immediateitemsondrop":case"showpagemultipleitemlabel":case"compactrowindent":case"location":case"pivotfield":case"orientation":case"layoutform":case"layoutsubtotallocation":case"layoutcompactrow":case"position":case"pivotitem":case"datatype":case"datafield":case"sourcename":case"parentfield":case"ptlineitems":case"ptlineitem":case"countofsameitems":case"item":case"itemtype":case"ptsource":case"cacheindex":case"consolidationreference":case"filename":case"reference":case"nocolumngrand":case"norowgrand":case"blanklineafteritems":case"hidden":case"subtotal":case"basefield":case"mapchilditems":case"function":case"refreshonfileopen":case"printsettitles":case"mergelabels":case"defaultversion":case"refreshname":case"refreshdate":case"refreshdatecopy":case"versionlastrefresh":case"versionlastupdate":case"versionupdateablemin":case"versionrefreshablemin":case"calculation":break;default:te=!1}break;case"pagebreaks":switch(n[3]){case"colbreaks":case"colbreak":case"rowbreaks":case"rowbreak":case"colstart":case"colend":case"rowend":break;default:te=!1}break;case"autofilter":switch(n[3]){case"autofiltercolumn":case"autofiltercondition":case"autofilterand":case"autofilteror":break;default:te=!1}break;case"querytable":switch(n[3]){case"id":case"autoformatfont":case"autoformatpattern":case"querysource":case"querytype":case"enableredirections":case"refreshedinxl9":case"urlstring":case"htmltables":case"connection":case"commandtext":case"refreshinfo":case"notitles":case"nextid":case"columninfo":case"overwritecells":case"donotpromptforfile":case"textwizardsettings":case"source":case"number":case"decimal":case"thousandseparator":case"trailingminusnumbers":case"formatsettings":case"fieldtype":case"delimiters":case"tab":case"comma":case"autoformatname":case"versionlastedit":case"versionlastrefresh":break;default:te=!1}break;case"datavalidation":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":case"cellrangelist":break;default:te=!1}break;case"sorting":case"conditionalformatting":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"cellrangelist":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":break;default:te=!1}break;case"mapinfo":case"schema":case"data":switch(n[3]){case"map":case"entry":case"range":case"xpath":case"field":case"xsdtype":case"filteron":case"aggregate":case"elementtype":case"attributetype":case"schema":case"element":case"complextype":case"datatype":case"all":case"attribute":case"extends":case"row":break;default:te=!1}break;case"smarttags":break;default:te=!1}if(te)break;if(n[3].match(/!\[CDATA/))break;if(!f[f.length-1][1])throw"Unrecognized tag: "+n[3]+"|"+f.join("|");if("customdocumentproperties"===f[f.length-1][0]){if("/>"===n[0].slice(-2))break;"/"===n[1]?Jc(I,X,F,a.slice(N,n.index)):(F=n,N=n.index+n[0].length);break}if(r.WTF)throw"Unrecognized tag: "+n[3]+"|"+f.join("|")}var ae={};return r.bookSheets||r.bookProps||(ae.Sheets=u),ae.SheetNames=m,ae.Workbook=G,ae.SSF=Ye(H),ae.Props=R,ae.Custprops=I,ae}function tl(e,t){switch(uf(t=t||{}),t.type||"base64"){case"base64":return el(T(e),t);case"binary":case"buffer":case"file":return el(e,t);case"array":return el(x(e),t)}}function rl(e){return Xt("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+eo(e.Ref,{r:0,c:0})})}function al(e,t,r,a,n,s,i){if(!e||null==e.v&&null==e.f)return"";var o={};if(e.f&&(o["ss:Formula"]="="+_t(eo(e.f,i))),e.F&&e.F.slice(0,t.length)==t){var c=qr(e.F.slice(t.length+1));o["ss:ArrayRange"]="RC:R"+(c.r==i.r?"":"["+(c.r-i.r)+"]")+"C"+(c.c==i.c?"":"["+(c.c-i.c)+"]")}if(e.l&&e.l.Target&&(o["ss:HRef"]=_t(e.l.Target),e.l.Tooltip&&(o["x:HRefScreenTip"]=_t(e.l.Tooltip))),r["!merges"])for(var l=r["!merges"],f=0;f!=l.length;++f)l[f].s.c==i.c&&l[f].s.r==i.r&&(l[f].e.c>l[f].s.c&&(o["ss:MergeAcross"]=l[f].e.c-l[f].s.c),l[f].e.r>l[f].s.r&&(o["ss:MergeDown"]=l[f].e.r-l[f].s.r));var h="",u="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":h="Number",u=String(e.v);break;case"b":h="Boolean",u=e.v?"1":"0";break;case"e":h="Error",u=Wa[e.v];break;case"d":h="DateTime",u=new Date(e.v).toISOString(),null==e.z&&(e.z=e.z||H[14]);break;case"s":h="String",u=((e.v||"")+"").replace(St,function(e){return Et[e]}).replace(xt,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var d=Zo(a.cellXfs,e,a);o["ss:StyleID"]="s"+(21+d),o["ss:Index"]=i.c+1;var p=null!=e.v?u:"",m="z"==e.t?"":''+p+"";return(e.c||[]).length>0&&(m+=e.c.map(function(e){var t=Xt("ss:Data",(e.t||"").replace(/(\r\n|[\r\n])/g," "),{xmlns:"http://www.w3.org/TR/REC-html40"});return Xt("Comment",t,{"ss:Author":e.a})}).join("")),Xt("Cell",m,o)}function nl(e,t){var r='"}function sl(e,t,r){var a=[],n=r.SheetNames[e],s=r.Sheets[n],i=s?function(e,t,r,a){if(!e)return"";if(!((a||{}).Workbook||{}).Names)return"";for(var n=a.Workbook.Names,s=[],i=0;i0&&a.push(""+i+""),i=s?function(e,t){if(!e["!ref"])return"";var r=ta(e["!ref"]),a=e["!merges"]||[],n=0,s=[];e["!cols"]&&e["!cols"].forEach(function(e,t){di(e);var r=!!e.width,a=Jo(t,e),n={"ss:Index":t+1};r&&(n["ss:Width"]=ci(a.width)),e.hidden&&(n["ss:Hidden"]="1"),s.push(Xt("Column",null,n))});for(var i=Array.isArray(e),o=r.s.r;o<=r.e.r;++o){for(var c=[nl(o,(e["!rows"]||[])[o])],l=r.s.c;l<=r.e.c;++l){var f=!1;for(n=0;n!=a.length;++n)if(!(a[n].s.c>l||a[n].s.r>o||a[n].e.c"),c.length>2&&s.push(c.join(""))}return s.join("")}(s,t):"",i.length>0&&a.push("
"+i+"
"),a.push(function(e,t,r,a){if(!e)return"";var n=[];if(e["!margins"]&&(n.push(""),e["!margins"].header&&n.push(Xt("Header",null,{"x:Margin":e["!margins"].header})),e["!margins"].footer&&n.push(Xt("Footer",null,{"x:Margin":e["!margins"].footer})),n.push(Xt("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"})),n.push("")),a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[r])if(a.Workbook.Sheets[r].Hidden)n.push(Xt("Visible",1==a.Workbook.Sheets[r].Hidden?"SheetHidden":"SheetVeryHidden",{}));else{for(var s=0;s")}return((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL&&n.push(""),e["!protect"]&&(n.push(Gt("ProtectContents","True")),e["!protect"].objects&&n.push(Gt("ProtectObjects","True")),e["!protect"].scenarios&&n.push(Gt("ProtectScenarios","True")),null==e["!protect"].selectLockedCells||e["!protect"].selectLockedCells?null==e["!protect"].selectUnlockedCells||e["!protect"].selectUnlockedCells||n.push(Gt("EnableSelection","UnlockedCells")):n.push(Gt("EnableSelection","NoSelection")),[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(t){e["!protect"][t[0]]&&n.push("<"+t[1]+"/>")})),0==n.length?"":Xt("WorksheetOptions",n.join(""),{xmlns:ar})}(s,0,e,r)),a.join("")}function il(e,t){t||(t={}),e.SSF||(e.SSF=Ye(H)),e.SSF&&(ye(),Ee(e.SSF),t.revssf=Pe(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF,t.cellXfs=[],Zo(t.cellXfs,{},{revssf:{General:0}}));var r=[];r.push(function(e,t){var r=[];return e.Props&&r.push(function(e,t){var r=[];return Ne(un).map(function(e){for(var t=0;t'+n.join("")+""}(e.Props,e.Custprops)),r.join("")}(e,t)),r.push(""),r.push(""),r.push("");for(var a=0;a'];return t.cellXfs.forEach(function(e,t){var a=[];a.push(Xt("NumberFormat",null,{"ss:Format":_t(H[e.numFmtId])}));var n={"ss:ID":"s"+(21+t)};r.push(Xt("Style",a.join(""),n))}),Xt("Styles",r.join(""))}(0,t),r[3]=function(e){if(!((e||{}).Workbook||{}).Names)return"";for(var t=e.Workbook.Names,r=[],a=0;a0)switch(e){case 9:case 521:case 1033:case 2057:case 47:case 405:case 225:case 406:case 312:case 404:case 10:case 133:break;default:n.enc.insitu(o)}i.push(o),r.l+=s;for(var c=Cr(r,r.l),l=ml[c],f=0;null!=l&&ol.indexOf(c)>-1;)s=Cr(r,r.l+2),f=r.l+4,2066==c?f+=4:2165!=c&&2175!=c||(f+=12),o=r.slice(f,r.l+4+s),i.push(o),r.l+=4+s,l=ml[c=Cr(r,r.l)];var h=O(i);Mr(h,0);var u=0;h.lens=[];for(var d=0;d40||(r.l-=4,t.Reserved1=r.read_shift(0,"lpstr-ansi"),r.length-r.l<=4||1907505652!==(a=r.read_shift(4))||(t.UnicodeClipboardFormat=function(e){return Ia(e,2)}(r),0==(a=r.read_shift(4))||a>40||(r.l-=4,t.Reserved2=r.read_shift(0,"lpwstr"))))}(r),t.bookProps&&!t.bookSheets)n={};else{var i=E?"buffer":"array";if(a&&a.content)n=function(e,t){var r,a,n,s,i,o,c,f,h={opts:{}},u={},d=t.dense?[]:{},p={},m={},g=null,v=[],b="",w={},T="",E={},y=[],S=[],k=[],_={Sheets:[],WBProps:{date1904:!1},Views:[{}]},A={},x=function(e){return e<8?Ba[e]:e<64&&k[e-8]||Ba[e]},C=function(e,t,a){if(!(U>1||a.sheetRows&&e.r>=a.sheetRows)){if(a.cellStyles&&t.XF&&t.XF.data&&function(e,t,r){var a,n=t.XF.data;n&&n.patternType&&r&&r.cellStyles&&(t.s={},t.s.patternType=n.patternType,(a=si(x(n.icvFore)))&&(t.s.fgColor={rgb:a}),(a=si(x(n.icvBack)))&&(t.s.bgColor={rgb:a}))}(0,t,a),delete t.ixfe,delete t.XF,r=e,T=Zr(e),m&&m.s&&m.e||(m={s:{r:0,c:0},e:{r:0,c:0}}),e.rm.e.r&&(m.e.r=e.r+1),e.c+1>m.e.c&&(m.e.c=e.c+1),a.cellFormula&&t.f)for(var n=0;ne.c||y[n][0].s.r>e.r||y[n][0].e.c>8)!==j)throw new Error("rt mismatch: "+Y+"!="+j);12==$.r&&(e.l+=10,X-=10)}var K={};if(K=10===j?$.f(e,X,O):cl(j,$,e,X,O),0==U&&-1===[9,521,1033,2057].indexOf(M))continue;switch(j){case 34:h.opts.Date1904=_.WBProps.date1904=K;break;case 134:h.opts.WriteProtect=!0;break;case 47:if(O.enc||(e.l=0),O.enc=K,!t.password)throw new Error("File is password-protected");if(null==K.valid)throw new Error("Encryption scheme unsupported");if(!K.valid)throw new Error("Password is incorrect");break;case 92:O.lastuser=K;break;case 66:var J=Number(K);switch(J){case 21010:J=1200;break;case 32768:J=1e4;break;case 32769:J=1252}l(O.codepage=J),V=!0;break;case 317:O.rrtabid=K;break;case 25:O.winlocked=K;break;case 439:h.opts.RefreshAll=K;break;case 12:h.opts.CalcCount=K;break;case 16:h.opts.CalcDelta=K;break;case 17:h.opts.CalcIter=K;break;case 13:h.opts.CalcMode=K;break;case 14:h.opts.CalcPrecision=K;break;case 95:h.opts.CalcSaveRecalc=K;break;case 15:O.CalcRefMode=K;break;case 2211:h.opts.FullCalc=K;break;case 129:K.fDialog&&(d["!type"]="dialog"),K.fBelow||((d["!outline"]||(d["!outline"]={})).above=!0),K.fRight||((d["!outline"]||(d["!outline"]={})).left=!0);break;case 224:S.push(K);break;case 430:P.push([K]),P[P.length-1].XTI=[];break;case 35:case 547:P[P.length-1].push(K);break;case 24:case 536:L={Name:K.Name,Ref:Ro(K.rgce,0,null,P,O)},K.itab>0&&(L.Sheet=K.itab-1),P.names.push(L),P[0]||(P[0]=[],P[0].XTI=[]),P[P.length-1].push(K),"_xlnm._FilterDatabase"==K.Name&&K.itab>0&&K.rgce&&K.rgce[0]&&K.rgce[0][0]&&"PtgArea3d"==K.rgce[0][0][0]&&(z[K.itab-1]={ref:ea(K.rgce[0][0][1][2])});break;case 22:O.ExternCount=K;break;case 23:0==P.length&&(P[0]=[],P[0].XTI=[]),P[P.length-1].XTI=P[P.length-1].XTI.concat(K),P.XTI=P.XTI.concat(K);break;case 2196:if(O.biff<8)break;null!=L&&(L.Comment=K[1]);break;case 18:d["!protect"]=K;break;case 19:0!==K&&O.WTF&&console.error("Password verifier: "+K);break;case 133:p[K.pos]=K,O.snames.push(K.name);break;case 10:if(--U)break;if(m.e){if(m.e.r>0&&m.e.c>0){if(m.e.r--,m.e.c--,d["!ref"]=ea(m),t.sheetRows&&t.sheetRows<=m.e.r){var q=m.e.r;m.e.r=t.sheetRows-1,d["!fullref"]=d["!ref"],d["!ref"]=ea(m),m.e.r=q}m.e.r++,m.e.c++}R.length>0&&(d["!merges"]=R),I.length>0&&(d["!objects"]=I),N.length>0&&(d["!cols"]=N),F.length>0&&(d["!rows"]=F),_.Sheets.push(A)}""===b?w=d:u[b]=d,d=t.dense?[]:{};break;case 9:case 521:case 1033:case 2057:if(8===O.biff&&(O.biff={9:2,521:3,1033:4}[j]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[K.BIFFVer]||8),O.biffguess=0==K.BIFFVer,0==K.BIFFVer&&4096==K.dt&&(O.biff=5,V=!0,l(O.codepage=28591)),8==O.biff&&0==K.BIFFVer&&16==K.dt&&(O.biff=2),U++)break;if(d=t.dense?[]:{},O.biff<8&&!V&&(V=!0,l(O.codepage=t.codepage||1252)),O.biff<5||0==K.BIFFVer&&4096==K.dt){""===b&&(b="Sheet1"),m={s:{r:0,c:0},e:{r:0,c:0}};var Z={pos:e.l-X,name:b};p[Z.pos]=Z,O.snames.push(b)}else b=(p[G]||{name:""}).name;32==K.dt&&(d["!type"]="chart"),64==K.dt&&(d["!type"]="macro"),R=[],I=[],O.arrayf=y=[],N=[],F=[],D=!1,A={Hidden:(p[G]||{hs:0}).hs,name:b};break;case 515:case 3:case 2:"chart"==d["!type"]&&(t.dense?(d[K.r]||[])[K.c]:d[Zr({c:K.c,r:K.r})])&&++K.c,o={ixfe:K.ixfe,XF:S[K.ixfe]||{},v:K.val,t:"n"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 5:case 517:o={ixfe:K.ixfe,XF:S[K.ixfe],v:K.val,t:K.t},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 638:o={ixfe:K.ixfe,XF:S[K.ixfe],v:K.rknum,t:"n"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 189:for(var Q=K.c;Q<=K.C;++Q){var ee=K.rkrec[Q-K.c][0];o={ixfe:ee,XF:S[ee],v:K.rkrec[Q-K.c][1],t:"n"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:Q,r:K.r},o,t)}break;case 6:case 518:case 1030:if("String"==K.val){g=K;break}if((o=fl(K.val,K.cell.ixfe,K.tt)).XF=S[o.ixfe],t.cellFormula){var te=K.formula;if(te&&te[0]&&te[0][0]&&"PtgExp"==te[0][0][0]){var re=te[0][0][1][0],ae=te[0][0][1][1],ne=Zr({r:re,c:ae});E[ne]?o.f=""+Ro(K.formula,0,K.cell,P,O):o.F=((t.dense?(d[re]||[])[ae]:d[ne])||{}).F}else o.f=""+Ro(K.formula,0,K.cell,P,O)}B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C(K.cell,o,t),g=K;break;case 7:case 519:if(!g)throw new Error("String record expects Formula");g.val=K,(o=fl(K,g.cell.ixfe,"s")).XF=S[o.ixfe],t.cellFormula&&(o.f=""+Ro(g.formula,0,g.cell,P,O)),B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C(g.cell,o,t),g=null;break;case 33:case 545:y.push(K);var se=Zr(K[0].s);if(a=t.dense?(d[K[0].s.r]||[])[K[0].s.c]:d[se],t.cellFormula&&a){if(!g)break;if(!se||!a)break;a.f=""+Ro(K[1],0,K[0],P,O),a.F=ea(K[0])}break;case 1212:if(!t.cellFormula)break;if(T){if(!g)break;E[Zr(g.cell)]=K[0],((a=t.dense?(d[g.cell.r]||[])[g.cell.c]:d[Zr(g.cell)])||{}).f=""+Ro(K[0],0,r,P,O)}break;case 253:o=fl(v[K.isst].t,K.ixfe,"s"),v[K.isst].h&&(o.h=v[K.isst].h),o.XF=S[o.ixfe],B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 513:t.sheetStubs&&(o={ixfe:K.ixfe,XF:S[K.ixfe],t:"z"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t));break;case 190:if(t.sheetStubs)for(var ie=K.c;ie<=K.C;++ie){var oe=K.ixfe[ie-K.c];o={ixfe:oe,XF:S[oe],t:"z"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:ie,r:K.r},o,t)}break;case 214:case 516:case 4:(o=fl(K.val,K.ixfe,"s")).XF=S[o.ixfe],B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 0:case 512:1===U&&(m=K);break;case 252:v=K;break;case 1054:if(4==O.biff){W[B++]=K[1];for(var ce=0;ce=163&&Te(K[1],B+163)}else Te(K[1],K[0]);break;case 30:W[B++]=K;for(var le=0;le=163&&Te(K,B+163);break;case 229:R=R.concat(K);break;case 93:I[K.cmo[0]]=O.lastobj=K;break;case 438:O.lastobj.TxO=K;break;case 127:O.lastobj.ImData=K;break;case 440:for(i=K[0].s.r;i<=K[0].e.r;++i)for(s=K[0].s.c;s<=K[0].e.c;++s)(a=t.dense?(d[i]||[])[s]:d[Zr({c:s,r:i})])&&(a.l=K[1]);break;case 2048:for(i=K[0].s.r;i<=K[0].e.r;++i)for(s=K[0].s.c;s<=K[0].e.c;++s)(a=t.dense?(d[i]||[])[s]:d[Zr({c:s,r:i})])&&a.l&&(a.l.Tooltip=K[1]);break;case 28:if(O.biff<=5&&O.biff>=2)break;a=t.dense?(d[K[0].r]||[])[K[0].c]:d[Zr(K[0])];var fe=I[K[2]];a||(t.dense?(d[K[0].r]||(d[K[0].r]=[]),a=d[K[0].r][K[0].c]={t:"z"}):a=d[Zr(K[0])]={t:"z"},m.e.r=Math.max(m.e.r,K[0].r),m.s.r=Math.min(m.s.r,K[0].r),m.e.c=Math.max(m.e.c,K[0].c),m.s.c=Math.min(m.s.c,K[0].c)),a.c||(a.c=[]),n={a:K[1],t:fe.TxO.t},a.c.push(n);break;case 2173:Hi(S[K.ixfe],K.ext);break;case 125:if(!O.cellStyles)break;for(;K.e>=K.s;)N[K.e--]={width:K.w/256,level:K.level||0,hidden:!!(1&K.flags)},D||(D=!0,ui(K.w/256)),di(N[K.e+1]);break;case 520:var he={};null!=K.level&&(F[K.r]=he,he.level=K.level),K.hidden&&(F[K.r]=he,he.hidden=!0),K.hpt&&(F[K.r]=he,he.hpt=K.hpt,he.hpx=mi(K.hpt));break;case 38:case 39:case 40:case 41:d["!margins"]||qo(d["!margins"]={}),d["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[j]]=K;break;case 161:d["!margins"]||qo(d["!margins"]={}),d["!margins"].header=K.header,d["!margins"].footer=K.footer;break;case 574:K.RTL&&(_.Views[0].RTL=!0);break;case 146:k=K;break;case 2198:f=K;break;case 140:c=K;break;case 442:b?A.CodeName=K||A.name:_.WBProps.CodeName=K||"ThisWorkbook"}}else $||console.error("Missing Info for XLS Record 0x"+j.toString(16)),e.l+=X}return h.SheetNames=Ne(p).sort(function(e,t){return Number(e)-Number(t)}).map(function(e){return p[e].name}),t.bookSheets||(h.Sheets=u),!h.SheetNames.length&&w["!ref"]?(h.SheetNames.push("Sheet1"),h.Sheets&&(h.Sheets.Sheet1=w)):h.Preamble=w,h.Sheets&&z.forEach(function(e,t){h.Sheets[h.SheetNames[t]]["!autofilter"]=e}),h.Strings=v,h.SSF=Ye(H),O.enc&&(h.Encryption=O.enc),f&&(h.Themes=f),h.Metadata={},void 0!==c&&(h.Metadata.Country=c),P.names.length>0&&(_.Names=P.names),h.Workbook=_,h}(a.content,t);else if((s=xe.find(e,"PerfectOffice_MAIN"))&&s.content)n=Ds.to_workbook(s.content,(t.type=i,t));else{if(!(s=xe.find(e,"NativeContent_MAIN"))||!s.content)throw(s=xe.find(e,"MN0"))&&s.content?new Error("Unsupported Works 4 for Mac file"):new Error("Cannot find Workbook stream");n=Ds.to_workbook(s.content,(t.type=i,t))}t.bookVBA&&e.FullPaths&&xe.find(e,"/_VBA_PROJECT_CUR/VBA/dir")&&(n.vbaraw=function(e){var t=xe.utils.cfb_new({root:"R"});return e.FullPaths.forEach(function(r,a){if("/"!==r.slice(-1)&&r.match(/_VBA_PROJECT_CUR/)){var n=r.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");xe.utils.cfb_add(t,n,e.FileIndex[a].content)}}),xe.write(t)}(e))}var o={};return e.FullPaths&&function(e,t,r){var a=xe.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=Cn(a,Da,ul);for(var s in n)t[s]=n[s]}catch(e){if(r.WTF)throw e}var i=xe.find(e,"/!SummaryInformation");if(i&&i.size>0)try{var o=Cn(i,Pa,hl);for(var c in o)null==t[c]&&(t[c]=o[c])}catch(e){if(r.WTF)throw e}t.HeadingPairs&&t.TitlesOfParts&&(on(t.HeadingPairs,t.TitlesOfParts,t,r),delete t.HeadingPairs,delete t.TitlesOfParts)}(e,o,t),n.Props=n.Custprops=o,t.bookFiles&&(n.cfb=e),n}var pl={0:{f:function(e,t){var r={},a=e.l+t;r.r=e.read_shift(4),e.l+=4;var n=e.read_shift(2);e.l+=1;var s=e.read_shift(1);return e.l=a,7&s&&(r.level=7&s),16&s&&(r.hidden=!0),32&s&&(r.hpt=n/20),r}},1:{f:function(e){return[ua(e)]}},2:{f:function(e){return[ua(e),Sa(e),"n"]}},3:{f:function(e){return[ua(e),e.read_shift(1),"e"]}},4:{f:function(e){return[ua(e),e.read_shift(1),"b"]}},5:{f:function(e){return[ua(e),Ca(e),"n"]}},6:{f:function(e){return[ua(e),oa(e),"str"]}},7:{f:function(e){return[ua(e),e.read_shift(4),"s"]}},8:{f:function(e,t,r){var a=e.l+t,n=ua(e);n.r=r["!row"];var s=[n,oa(e),"str"];if(r.cellFormula){e.l+=2;var i=Lo(e,a-e.l,r);s[3]=Ro(i,0,n,r.supbooks,r)}else e.l=a;return s}},9:{f:function(e,t,r){var a=e.l+t,n=ua(e);n.r=r["!row"];var s=[n,Ca(e),"n"];if(r.cellFormula){e.l+=2;var i=Lo(e,a-e.l,r);s[3]=Ro(i,0,n,r.supbooks,r)}else e.l=a;return s}},10:{f:function(e,t,r){var a=e.l+t,n=ua(e);n.r=r["!row"];var s=[n,e.read_shift(1),"b"];if(r.cellFormula){e.l+=2;var i=Lo(e,a-e.l,r);s[3]=Ro(i,0,n,r.supbooks,r)}else e.l=a;return s}},11:{f:function(e,t,r){var a=e.l+t,n=ua(e);n.r=r["!row"];var s=[n,e.read_shift(1),"e"];if(r.cellFormula){e.l+=2;var i=Lo(e,a-e.l,r);s[3]=Ro(i,0,n,r.supbooks,r)}else e.l=a;return s}},12:{f:function(e){return[pa(e)]}},13:{f:function(e){return[pa(e),Sa(e),"n"]}},14:{f:function(e){return[pa(e),e.read_shift(1),"e"]}},15:{f:function(e){return[pa(e),e.read_shift(1),"b"]}},16:{f:Ec},17:{f:function(e){return[pa(e),oa(e),"str"]}},18:{f:function(e){return[pa(e),e.read_shift(4),"s"]}},19:{f:fa},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:function(e,t,r){var a=e.l+t;e.l+=4,e.l+=1;var n=e.read_shift(4),s=Ta(e),i=Mo(e,0,r),o=ba(e);e.l=a;var c={Name:s,Ptg:i};return n<268435455&&(c.Sheet=n),o&&(c.Comment=o),c}},40:{},42:{},43:{f:function(e,t,r){var a={};a.sz=e.read_shift(2)/20;var n=function(e){var t=e.read_shift(1);return e.l++,{fBold:1&t,fItalic:2&t,fUnderline:4&t,fStrikeout:8&t,fOutline:16&t,fShadow:32&t,fCondense:64&t,fExtend:128&t}}(e);switch(n.fItalic&&(a.italic=1),n.fCondense&&(a.condense=1),n.fExtend&&(a.extend=1),n.fShadow&&(a.shadow=1),n.fOutline&&(a.outline=1),n.fStrikeout&&(a.strike=1),700===e.read_shift(2)&&(a.bold=1),e.read_shift(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript"}var s=e.read_shift(1);0!=s&&(a.underline=s);var i=e.read_shift(1);i>0&&(a.family=i);var o=e.read_shift(1);switch(o>0&&(a.charset=o),e.l++,a.color=function(e){var t={},r=e.read_shift(1)>>>1,a=e.read_shift(1),n=e.read_shift(2,"i"),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(1);switch(e.l++,r){case 0:t.auto=1;break;case 1:t.index=a;var c=Ba[a];c&&(t.rgb=si(c));break;case 2:t.rgb=si([s,i,o]);break;case 3:t.theme=a}return 0!=n&&(t.tint=n>0?n/32767:n/32768),t}(e),e.read_shift(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor"}return a.name=oa(e),a}},44:{f:function(e,t){return[e.read_shift(2),oa(e)]}},45:{f:ki},46:{f:Ci},47:{f:function(e,t){var r=e.l+t,a=e.read_shift(2),n=e.read_shift(2);return e.l=r,{ixfe:a,numFmtId:n}}},48:{},49:{f:function(e){return e.read_shift(4,"i")}},50:{},51:{f:function(e){for(var t=[],r=e.read_shift(4);r-- >0;)t.push([e.read_shift(4),e.read_shift(4)]);return t}},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:ks},62:{f:function(e){return[ua(e),fa(e),"is"]}},63:{f:function(e){var t={};t.i=e.read_shift(4);var r={};r.r=e.read_shift(4),r.c=e.read_shift(4),t.r=Zr(r);var a=e.read_shift(1);return 2&a&&(t.l="1"),8&a&&(t.a="1"),t}},64:{f:function(){}},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Ur,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:function(e){var t=e.read_shift(2);return e.l+=28,{RTL:32&t}}},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:function(e,t){var r={},a=e[e.l];return++e.l,r.above=!(64&a),r.left=!(128&a),e.l+=18,r.name=ga(e,t-19),r}},148:{f:wc,p:16},151:{f:function(){}},152:{},153:{f:function(e,t){var r={},a=e.read_shift(4);r.defaultThemeVersion=e.read_shift(4);var n=t>8?oa(e):"";return n.length>0&&(r.CodeName=n),r.autoCompressPictures=!!(65536&a),r.backupFile=!!(64&a),r.checkCompatibility=!!(4096&a),r.date1904=!!(1&a),r.filterPrivacy=!!(8&a),r.hidePivotFieldList=!!(1024&a),r.promptedSolutions=!!(16&a),r.publishItems=!!(2048&a),r.refreshAllConnections=!!(262144&a),r.saveExternalLinkValues=!!(128&a),r.showBorderUnselectedTables=!!(4&a),r.showInkAnnotation=!!(32&a),r.showObjects=["all","placeholders","none"][a>>13&3],r.showPivotChartFilter=!!(32768&a),r.updateLinks=["userSet","never","always"][a>>8&3],r}},154:{},155:{},156:{f:function(e,t){var r={};return r.Hidden=e.read_shift(4),r.iTabID=e.read_shift(4),r.strRelID=Ea(e,t-8),r.name=oa(e),r}},157:{},158:{},159:{T:1,f:function(e){return[e.read_shift(4),e.read_shift(4)]}},160:{T:-1},161:{T:1,f:Aa},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:yc},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:function(e,t){return{flags:e.read_shift(4),version:e.read_shift(4),name:oa(e)}}},336:{T:-1},337:{f:function(e){return e.l+=4,0!=e.read_shift(4)},T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Ea},357:{},358:{},359:{},360:{T:1},361:{},362:{f:ws},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:function(e,t,r){var a=e.l+t,n=_a(e),s=e.read_shift(1),i=[n];if(i[2]=s,r.cellFormula){var o=Po(e,a-e.l,r);i[1]=o}else e.l=a;return i}},427:{f:function(e,t,r){var a=e.l+t,n=[Aa(e,16)];if(r.cellFormula){var s=Uo(e,a-e.l,r);n[1]=s,e.l=a}else e.l=a;return n}},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:function(e){var t={};return kc.forEach(function(r){t[r]=Ca(e)}),t}},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:function(){}},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:function(e,t){var r=e.l+t,a=Aa(e,16),n=ba(e),s=oa(e),i=oa(e),o=oa(e);e.l=r;var c={rfx:a,relId:n,loc:s,display:o};return i&&(c.Tooltip=i),c}},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Ea},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:Ki},633:{T:1},634:{T:-1},635:{T:1,f:function(e){var t={};t.iauthor=e.read_shift(4);var r=Aa(e,16);return t.rfx=r.s,t.ref=Zr(r.s),e.l+=16,t}},636:{T:-1},637:{f:ha},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:function(e,t){return e.l+=10,{name:oa(e)}}},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:function(){}},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}},ml={6:{f:Fo},10:{f:Rn},12:{f:Fn},13:{f:Fn},14:{f:In},15:{f:In},16:{f:Ca},17:{f:In},18:{f:In},19:{f:Fn},20:{f:ms},21:{f:ms},23:{f:ws},24:{f:bs},25:{f:In},26:{},27:{},28:{f:function(e,t,r){return function(e,t,r){if(!(r.biff<8)){var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2),i=e.read_shift(2),o=zn(e,0,r);return r.biff<8&&e.read_shift(1),[{r:a,c:n},o,i,s]}}(e,0,r)}},29:{},34:{f:In},35:{f:gs},38:{f:Ca},39:{f:Ca},40:{f:Ca},41:{f:Ca},42:{f:In},43:{f:In},47:{f:function(e,t,r){var a={Type:r.biff>=8?e.read_shift(2):0};return a.Type?function(e,t,r){var a=r||{};a.Info=e.read_shift(2),e.l-=2,1===a.Info?a.Data=function(e){var t={},r=t.EncryptionVersionInfo=Ks(e,4);if(1!=r.Major||1!=r.Minor)throw"unrecognized version code "+r.Major+" : "+r.Minor;return t.Salt=e.read_shift(16),t.EncryptedVerifier=e.read_shift(16),t.EncryptedVerifierHash=e.read_shift(16),t}(e):a.Data=function(e,t){var r={},a=r.EncryptionVersionInfo=Ks(e,4);if(t-=4,2!=a.Minor)throw new Error("unrecognized minor version code: "+a.Minor);if(a.Major>4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);r.Flags=e.read_shift(4),t-=4;var n=e.read_shift(4);return t-=4,r.EncryptionHeader=qs(e,n),t-=n,r.EncryptionVerifier=Zs(e,t),r}(e,t)}(e,t-2,a):function(e,t,r,a){var n,s,i,o={key:Fn(e),verificationBytes:Fn(e)};r.password&&(o.verifier=ri(r.password)),a.valid=o.verificationBytes===o.verifier,a.valid&&(a.insitu=(n=r.password,s=0,i=ai(n),function(e){var t=function(e,t,r,a,n){var s,i;for(n||(n=t),a||(a=ai("")),s=0;s!=t.length;++s)i=t[s],i=255&((i^=a[r])>>5|i<<3),n[s]=i,++r;return[n,r,a]}(0,e,s,i);return s=t[1],t[0]}))}(e,r.biff,r,a),a}},49:{f:function(e,t,r){var a={dyHeight:e.read_shift(2),fl:e.read_shift(2)};switch(r&&r.biff||8){case 2:break;case 3:case 4:e.l+=2;break;default:e.l+=10}return a.name=Mn(e,0,r),a}},51:{f:Fn},60:{},61:{f:function(e){return{Pos:[e.read_shift(2),e.read_shift(2)],Dim:[e.read_shift(2),e.read_shift(2)],Flags:e.read_shift(2),CurTab:e.read_shift(2),FirstTab:e.read_shift(2),Selected:e.read_shift(2),TabRatio:e.read_shift(2)}}},64:{f:In},65:{f:function(){}},66:{f:Fn},77:{},80:{},81:{},82:{},85:{f:Fn},89:{},90:{},91:{},92:{f:function(e,t,r){if(r.enc)return e.l+=t,"";var a=e.l,n=zn(e,0,r);return e.read_shift(t+a-e.l),n}},93:{f:function(e,t,r){if(r&&r.biff<8)return function(e,t,r){e.l+=4;var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2);e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=6,t-=36;var i=[];return i.push((Es[a]||Ur)(e,t,r)),{cmo:[n,a,s],ft:i}}(e,t,r);var a=as(e),n=function(e,t){for(var r=e.l+t,a=[];e.l7||t[1]>7)throw new Error("Bad Gutters: "+t.join("|"));return t}},129:{f:function(e,t,r){var a=r&&8==r.biff||2==t?e.read_shift(2):(e.l+=t,0);return{fDialog:16&a,fBelow:64&a,fRight:128&a}}},130:{f:Fn},131:{f:In},132:{f:In},133:{f:function(e,t,r){var a=e.read_shift(4),n=3&e.read_shift(1),s=e.read_shift(1);switch(s){case 0:s="Worksheet";break;case 1:s="Macrosheet";break;case 2:s="Chartsheet";break;case 6:s="VBAModule"}var i=Mn(e,0,r);return 0===i.length&&(i="Sheet1"),{pos:a,hs:n,dt:s,name:i}}},134:{},140:{f:function(e){var t,r=[0,0];return t=e.read_shift(2),r[0]=La[t]||t,t=e.read_shift(2),r[1]=La[t]||t,r}},141:{f:Fn},144:{},146:{f:function(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(Yn(e));return r}},151:{},152:{},153:{},154:{},155:{},156:{f:Fn},157:{},158:{},160:{f:As},161:{f:function(e,t){var r={};return t<32||(e.l+=16,r.header=Ca(e),r.footer=Ca(e),e.l+=2),r}},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:function(e,t){for(var r=e.l+t-2,a=e.read_shift(2),n=e.read_shift(2),s=[];e.l>2&1,a.data=function(e,t,r,a){var n={},s=e.read_shift(4),i=e.read_shift(4),o=e.read_shift(4),c=e.read_shift(2);return n.patternType=Ma[o>>26],a.cellStyles?(n.alc=7&s,n.fWrap=s>>3&1,n.alcV=s>>4&7,n.fJustLast=s>>7&1,n.trot=s>>8&255,n.cIndent=s>>16&15,n.fShrinkToFit=s>>20&1,n.iReadOrder=s>>22&2,n.fAtrNum=s>>26&1,n.fAtrFnt=s>>27&1,n.fAtrAlc=s>>28&1,n.fAtrBdr=s>>29&1,n.fAtrPat=s>>30&1,n.fAtrProt=s>>31&1,n.dgLeft=15&i,n.dgRight=i>>4&15,n.dgTop=i>>8&15,n.dgBottom=i>>12&15,n.icvLeft=i>>16&127,n.icvRight=i>>23&127,n.grbitDiag=i>>30&3,n.icvTop=127&o,n.icvBottom=o>>7&127,n.icvDiag=o>>14&127,n.dgDiag=o>>21&15,n.icvFore=127&c,n.icvBack=c>>7&127,n.fsxButton=c>>14&1,n):n}(e,0,a.fStyle,r),a}},225:{f:function(e,t){return 0===t||e.read_shift(2),1200}},226:{f:Rn},227:{},229:{f:function(e,t){for(var r=[],a=e.read_shift(2);a--;)r.push(Qn(e));return r}},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:function(e,t){for(var r=e.l+t,a=e.read_shift(4),n=e.read_shift(4),s=[],i=0;i!=n&&e.l255)throw new Error("Unexpected SupBook type: "+s);for(var i=Wn(e,s),o=[];a>e.l;)o.push(Hn(e));return[s,n,i,o]}},431:{f:In},432:{},433:{},434:{},437:{},438:{f:function(e,t,r){var a=e.l,n="";try{e.l+=4;var s=(r.lastobj||{cmo:[0,0]}).cmo[1];-1==[0,5,7,11,12,14].indexOf(s)?e.l+=6:function(e){var t=e.read_shift(1);e.l++;var r=e.read_shift(2);e.l+=2}(e);var i=e.read_shift(2);e.read_shift(2),Fn(e);var o=e.read_shift(2);e.l+=o;for(var c=1;c=(l?i:2*i))break}if(n.length!==i&&n.length!==2*i)throw new Error("cchText: "+i+" != "+n.length);return e.l=a+t,{t:n}}catch(r){return e.l=a+t,{t:n}}}},439:{f:In},440:{f:function(e,t){var r=Qn(e);e.l+=16;var a=function(e,t){var r=e.l+t,a=e.read_shift(4);if(2!==a)throw new Error("Unrecognized streamVersion: "+a);var n=e.read_shift(2);e.l+=2;var s,i,o,c,l,f,h="";16&n&&(s=Gn(e,e.l)),128&n&&(i=Gn(e,e.l)),257&~n||(o=Gn(e,e.l)),1==(257&n)&&(c=function(e){var t=e.read_shift(16);switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return function(e){var t=e.read_shift(4),r=e.l,a=!1;t>24&&(e.l+=t-24,"795881f43b1d7f48af2c825dc4852763"===e.read_shift(16)&&(a=!0),e.l=r);var n=e.read_shift((a?t-24:t)>>1,"utf16le").replace(R,"");return a&&(e.l+=24),n}(e);case"0303000000000000c000000000000046":return function(e){for(var t=e.read_shift(2),r="";t-- >0;)r+="../";var a=e.read_shift(0,"lpstr-ansi");if(e.l+=2,57005!=e.read_shift(2))throw new Error("Bad FileMoniker");if(0===e.read_shift(4))return r+a.replace(/\\/g,"/");var n=e.read_shift(4);if(3!=e.read_shift(2))throw new Error("Bad FileMoniker");return r+e.read_shift(n>>1,"utf16le").replace(R,"")}(e);default:throw new Error("Unsupported Moniker "+t)}}(e,e.l)),8&n&&(h=Gn(e,e.l)),32&n&&(l=e.read_shift(16)),64&n&&(f=pn(e)),e.l=r;var u=i||o||c||"";u&&h&&(u+="#"+h),u||(u="#"+h),2&n&&"/"==u.charAt(0)&&"/"!=u.charAt(1)&&(u="file://"+u);var d={Target:u};return l&&(d.guid=l),f&&(d.time=f),s&&(d.Tooltip=s),d}(e,t-24);return[r,a]}},441:{},442:{f:Hn},443:{},444:{f:Fn},445:{},446:{},448:{f:Rn},449:{f:function(e){return e.read_shift(2),e.read_shift(4)},r:2},450:{f:Rn},512:{f:us},513:{f:_s},515:{f:function(e,t,r){r.biffguess&&2==r.biff&&(r.biff=5);var a=Kn(e),n=Ca(e);return a.val=n,a}},516:{f:function(e,t,r){r.biffguess&&2==r.biff&&(r.biff=5),e.l;var a=Kn(e);2==r.biff&&e.l++;var n=Hn(e,e.l,r);return a.val=n,a}},517:{f:ps},519:{f:xs},520:{f:function(e){var t={};t.r=e.read_shift(2),t.c=e.read_shift(2),t.cnt=e.read_shift(2)-t.c;var r=e.read_shift(2);e.l+=4;var a=e.read_shift(1);return e.l+=3,7&a&&(t.level=7&a),32&a&&(t.hidden=!0),64&a&&(t.hpt=r/20),t}},523:{},545:{f:Ts},549:{f:ls},566:{},574:{f:function(e,t,r){return r&&r.biff>=2&&r.biff<5?{}:{RTL:64&e.read_shift(2)}}},638:{f:function(e){var t=e.read_shift(2),r=e.read_shift(2),a=Zn(e);return{r:t,c:r,ixfe:a[0],rknum:a[1]}}},659:{},1048:{},1054:{f:function(e,t,r){return[e.read_shift(2),zn(e,0,r)]}},1084:{},1212:{f:function(e,t,r){var a=ts(e);e.l++;var n=e.read_shift(1);return[No(e,t-=8,r),n,a]}},2048:{f:function(e,t){e.read_shift(2);var r=Qn(e),a=e.read_shift((t-10)/2,"dbcs-cont");return[r,a=a.replace(R,"")]}},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:is},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Rn},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:function(e){e.l+=2;var t={cxfs:0,crc:0};return t.cxfs=e.read_shift(2),t.crc=e.read_shift(4),t},r:12},2173:{f:function(e,t){e.l,e.l+=2;var r=e.read_shift(2);e.l+=2;for(var a=e.read_shift(2),n=[];a-- >0;)n.push(Wi(e,e.l));return{ixfe:r,ext:n}},r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:In,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:function(e,t,r){if(!(r.biff<8)){var a=e.read_shift(2),n=e.read_shift(2);return[Wn(e,a,r),Wn(e,n,r)]}e.l+=t},r:12},2197:{},2198:{f:function(e,t,r){var a=e.l+t;if(124226!==e.read_shift(4))if(r.cellStyles){var n,s=e.slice(e.l);e.l=a;try{n=ft(s,{type:"array"})}catch(e){return}var i=st(n,"theme/theme/theme1.xml",!0);if(i)return Ui(i,r)}else e.l=a},r:12},2199:{},2200:{},2201:{},2202:{f:function(e){return[0!==e.read_shift(4),0!==e.read_shift(4),e.read_shift(4)]},r:12},2203:{f:Rn},2204:{},2205:{},2206:{},2207:{},2211:{f:function(e){var t=function(e){var t=e.read_shift(2),r=e.read_shift(2);return e.l+=8,{type:t,flags:r}}(e);if(2211!=t.type)throw new Error("Invalid Future Record "+t.type);return 0!==e.read_shift(4)}},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:Fn},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:function(e,t,r){var a={area:!1};if(5!=r.biff)return e.l+=t,a;var n=e.read_shift(1);return e.l+=3,16&n&&(a.area=!0),a}},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:function(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(Yn(e));return r}},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:us},1:{},2:{f:function(e){var t=Kn(e);++e.l;var r=e.read_shift(2);return t.t="n",t.val=r,t}},3:{f:function(e){var t=Kn(e);++e.l;var r=Ca(e);return t.t="n",t.val=r,t}},4:{f:function(e,t,r){r.biffguess&&5==r.biff&&(r.biff=2);var a=Kn(e);++e.l;var n=zn(e,0,r);return a.t="str",a.val=n,a}},5:{f:ps},7:{f:function(e){var t=e.read_shift(1);return 0===t?(e.l++,""):e.read_shift(t,"sbcs-cont")}},8:{},9:{f:is},11:{},22:{f:Fn},30:{f:hs},31:{},32:{},33:{f:Ts},36:{},37:{f:ls},50:{f:function(e,t){e.l+=6,e.l+=2,e.l+=1,e.l+=3,e.l+=1,e.l+=t-13}},62:{},52:{},67:{},68:{f:Fn},69:{},86:{},126:{},127:{f:function(e){var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n={fmt:t,env:r,len:a,data:e.slice(e.l,e.l+a)};return e.l+=a,n}},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:function(e,t,r){var a=e.l+t,n=Kn(e),s=e.read_shift(2),i=Wn(e,s,r);return e.l=a,n.t="str",n.val=i,n}},223:{},234:{},354:{},421:{},518:{f:Fo},521:{f:is},536:{f:bs},547:{f:gs},561:{},579:{},1030:{f:Fo},1033:{f:is},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function gl(e,t,r,a){var n=t;if(!isNaN(n)){var s=a||(r||[]).length||0,i=e.next(4);i.write_shift(2,n),i.write_shift(2,s),s>0&&_r(r)&&e.push(r)}}function vl(e,t,r){return e||(e=Br(7)),e.write_shift(2,t),e.write_shift(2,r),e.write_shift(2,0),e.write_shift(1,0),e}function bl(e,t,r,a){if(null!=t.v)switch(t.t){case"d":case"n":var n="d"==t.t?Me(Xe(t.v)):t.v;return void(n==(0|n)&&n>=0&&n<65536?gl(e,2,(s=r,i=a,o=n,c=Br(9),vl(c,s,i),c.write_shift(2,o),c)):gl(e,3,function(e,t,r){var a=Br(15);return vl(a,e,t),a.write_shift(8,r,"f"),a}(r,a,n)));case"b":case"e":return void gl(e,5,function(e,t,r,a){var n=Br(9);return vl(n,e,t),Ln(r,a||"b",n),n}(r,a,t.v,t.t));case"s":case"str":return void gl(e,4,function(e,t,r){var a=Br(8+2*r.length);return vl(a,e,t),a.write_shift(1,r.length),a.write_shift(r.length,r,"sbcs"),a.l255||m.e.r>=g){if(t.WTF)throw new Error("Range "+(c["!ref"]||"A1")+" exceeds format limit A1:IV16384");m.e.c=Math.min(m.e.c,255),m.e.r=Math.min(m.e.c,g-1)}gl(i,2057,os(0,16,t)),gl(i,13,Dn(1)),gl(i,12,Dn(100)),gl(i,15,Nn(!0)),gl(i,17,Nn(!1)),gl(i,16,Oa(.001)),gl(i,95,Nn(!0)),gl(i,42,Nn(!1)),gl(i,43,Nn(!1)),gl(i,130,Dn(1)),gl(i,128,(n=[0,0],(s=Br(8)).write_shift(4,0),s.write_shift(2,n[0]?n[0]+1:0),s.write_shift(2,n[1]?n[1]+1:0),s)),gl(i,131,Nn(!1)),gl(i,132,Nn(!1)),u&&function(e,t){if(t){var r=0;t.forEach(function(t,a){++r<=256&&t&&gl(e,125,function(e,t){var r=Br(12);r.write_shift(2,t),r.write_shift(2,t),r.write_shift(2,256*e.width),r.write_shift(2,0);var a=0;return e.hidden&&(a|=1),r.write_shift(1,a),a=e.level||0,r.write_shift(1,a),r.write_shift(2,0),r}(Jo(a,t),a))})}}(i,c["!cols"]),gl(i,512,function(e,t){var r=8!=t.biff&&t.biff?2:4,a=Br(2*r+6);return a.write_shift(r,e.s.r),a.write_shift(r,e.e.r+1),a.write_shift(2,e.s.c),a.write_shift(2,e.e.c+1),a.write_shift(2,0),a}(m,t)),u&&(c["!links"]=[]);for(var v=m.s.r;v<=m.e.r;++v){d=Yr(v);for(var b=m.s.c;b<=m.e.c;++b){v===m.s.r&&(p[b]=Jr(b)),a=p[b]+d;var w=h?(c[v]||[])[b]:c[a];w&&(wl(i,w,v,b,t),u&&w.l&&c["!links"].push([a,w.l]))}}var T=f.CodeName||f.name||o;return u&&gl(i,574,function(e){var t=Br(18),r=1718;return e&&e.RTL&&(r|=64),t.write_shift(2,r),t.write_shift(4,0),t.write_shift(4,64),t.write_shift(4,0),t.write_shift(4,0),t}((l.Views||[])[0])),u&&(c["!merges"]||[]).length&&gl(i,229,function(e){var t=Br(2+8*e.length);t.write_shift(2,e.length);for(var r=0;r255&&"undefined"!=typeof console&&console.error&&console.error("Worksheet '"+e.SheetNames[r]+"' extends beyond column IV (255). Data may be lost.")}var n=t||{};switch(n.biff||2){case 8:case 5:return function(e,t){var r=t||{},a=[];e&&!e.SSF&&(e.SSF=Ye(H)),e&&e.SSF&&(ye(),Ee(e.SSF),r.revssf=Pe(e.SSF),r.revssf[e.SSF[65535]]=0,r.ssf=e.SSF),r.Strings=[],r.Strings.Count=0,r.Strings.Unique=0,df(r),r.cellXfs=[],Zo(r.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});for(var n=0;n255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(t["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255),i.e.r=Math.min(i.e.c,16383),n=ea(i)}for(var l=i.s.r;l<=i.e.r;++l){o=Yr(l);for(var f=i.s.c;f<=i.e.c;++f){l===i.s.r&&(c[f]=Jr(f)),n=c[f]+o;var h=s?(t[l]||[])[f]:t[n];h&&bl(e,h,l,f)}}}(a,e.Sheets[e.SheetNames[n]],0,r),gl(a,10),a.end()}(e,t)}throw new Error("invalid type "+n.bookType+" for BIFF")}function Sl(e,t){var r=t||{},a=r.dense?[]:{},n=(e=e.replace(//g,"")).match(/");var s=e.match(/<\/table/i),i=n.index,o=s&&s.index||e.length,c=Qe(e.slice(i,o),/(:?]*>)/i,""),l=-1,f=0,h=0,u=0,d={s:{r:1e7,c:1e7},e:{r:0,c:0}},p=[];for(i=0;i/i);for(o=0;o"))>-1;)w=w.slice(T+1);for(var E=0;E")));u=S.colspan?+S.colspan:1,((h=+S.rowspan)>1||u>1)&&p.push({s:{r:l,c:f},e:{r:l+(h||1)-1,c:f+u-1}});var k=S.t||S["data-t"]||"";if(w.length)if(w=Ut(w),d.s.r>l&&(d.s.r=l),d.e.rf&&(d.s.c=f),d.e.cr||n[l].s.c>i||n[l].e.r1&&(d.rowspan=o),c>1&&(d.colspan=c),a.editable?u=''+u+"":h&&(d["data-t"]=h&&h.t||"z",null!=h.v&&(d["data-v"]=h.v),null!=h.z&&(d["data-z"]=h.z),h.l&&"#"!=(h.l.Target||"#").charAt(0)&&(u=''+u+"")),d.id=(a.id||"sjs")+"-"+f,s.push(Xt("td",u,d))}}return""+s.join("")+""}var _l='SheetJS Table Export',Al="";function xl(e,t,r){return[].join("")+""}function Cl(e,t){var r=t||{},a=null!=r.header?r.header:_l,n=null!=r.footer?r.footer:Al,s=[a],i=Qr(e["!ref"]);r.dense=Array.isArray(e),s.push(xl(0,0,r));for(var o=i.s.r;o<=i.e.r;++o)s.push(kl(e,i,o,r));return s.push("
"+n),s.join("")}function Ol(e,t,r){var a=r||{},n=0,s=0;if(null!=a.origin)if("number"==typeof a.origin)n=a.origin;else{var i="string"==typeof a.origin?qr(a.origin):a.origin;n=i.r,s=i.c}var o=t.getElementsByTagName("tr"),c=Math.min(a.sheetRows||1e7,o.length),l={s:{r:0,c:0},e:{r:n,c:s}};if(e["!ref"]){var f=Qr(e["!ref"]);l.s.r=Math.min(l.s.r,f.s.r),l.s.c=Math.min(l.s.c,f.s.c),l.e.r=Math.max(l.e.r,f.e.r),l.e.c=Math.max(l.e.c,f.e.c),-1==n&&(l.e.r=n=f.e.r+1)}var h=[],u=0,d=e["!rows"]||(e["!rows"]=[]),p=0,m=0,g=0,v=0,b=0,w=0;for(e["!cols"]||(e["!cols"]=[]);p1||w>1)&&h.push({s:{r:m+n,c:v+s},e:{r:m+n+(b||1)-1,c:v+s+(w||1)-1}});var A={t:"s",v:S},x=y.getAttribute("data-t")||y.getAttribute("t")||"";null!=S&&(0==S.length?A.t=x||"z":a.raw||0==S.trim().length||"s"==x||("TRUE"===S?A={t:"b",v:!0}:"FALSE"===S?A={t:"b",v:!1}:isNaN(Je(S))?isNaN(Ze(S).getDate())||(A={t:"d",v:Xe(S)},a.cellDates||(A={t:"n",v:Me(A.v)}),A.z=a.dateNF||H[14]):A={t:"n",v:Je(S)})),void 0===A.z&&null!=k&&(A.z=k);var C="",O=y.getElementsByTagName("A");if(O&&O.length)for(var R=0;R=c&&(e["!fullref"]=ea((l.e.r=o.length-p+m-1+n,l))),e}function Rl(e,t){return Ol((t||{}).dense?[]:{},e,t)}function Il(e){var t="",r=function(e){return e.ownerDocument.defaultView&&"function"==typeof e.ownerDocument.defaultView.getComputedStyle?e.ownerDocument.defaultView.getComputedStyle:"function"==typeof getComputedStyle?getComputedStyle:null}(e);return r&&(t=r(e).getPropertyValue("display")),t||(t=e.style&&e.style.display),"none"===t}function Nl(e){var t=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,t){return Array(parseInt(t,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");return[yt(t.replace(/<[^>]*>/g,""))]}var Fl={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function Dl(e,t){var r,a,n,s,i,o,c=t||{},l=Yt(e),f=[],h={name:""},u="",d=0,p={},m=[],g=c.dense?[]:{},v={value:""},b="",w=0,T=[],E=-1,y=-1,S={s:{r:1e6,c:1e7},e:{r:0,c:0}},k=0,_={},A=[],x={},C=[],O=1,R=1,I=[],N={Names:[]},F={},D=["",""],P=[],L={},M="",U=0,B=!1,W=!1,H=0;for(Kt.lastIndex=0,l=l.replace(//gm,"").replace(//gm,"");i=Kt.exec(l);)switch(i[3]=i[3].replace(/_.*$/,"")){case"table":case"工作表":"/"===i[1]?(S.e.c>=S.s.c&&S.e.r>=S.s.r?g["!ref"]=ea(S):g["!ref"]="A1:A1",c.sheetRows>0&&c.sheetRows<=S.e.r&&(g["!fullref"]=g["!ref"],S.e.r=c.sheetRows-1,g["!ref"]=ea(S)),A.length&&(g["!merges"]=A),C.length&&(g["!rows"]=C),n.name=n["名称"]||n.name,"undefined"!=typeof JSON&&JSON.stringify(n),m.push(n.name),p[n.name]=g,W=!1):"/"!==i[0].charAt(i[0].length-2)&&(n=bt(i[0],!1),E=y=-1,S.s.r=S.s.c=1e7,S.e.r=S.e.c=0,g=c.dense?[]:{},A=[],C=[],W=!0);break;case"table-row-group":"/"===i[1]?--k:++k;break;case"table-row":case"行":if("/"===i[1]){E+=O,O=1;break}if((s=bt(i[0],!1))["行号"]?E=s["行号"]-1:-1==E&&(E=0),(O=+s["number-rows-repeated"]||1)<10)for(H=0;H0&&(C[E+H]={level:k});y=-1;break;case"covered-table-cell":"/"!==i[1]&&++y,c.sheetStubs&&(c.dense?(g[E]||(g[E]=[]),g[E][y]={t:"z"}):g[Zr({r:E,c:y})]={t:"z"}),b="",T=[];break;case"table-cell":case"数据":if("/"===i[0].charAt(i[0].length-2))++y,v=bt(i[0],!1),R=parseInt(v["number-columns-repeated"]||"1",10),o={t:"z",v:null},v.formula&&0!=c.cellFormula&&(o.f=zo(yt(v.formula))),"string"==(v["数据类型"]||v["value-type"])&&(o.t="s",o.v=yt(v["string-value"]||""),c.dense?(g[E]||(g[E]=[]),g[E][y]=o):g[Zr({r:E,c:y})]=o),y+=R-1;else if("/"!==i[1]){b="",w=0,T=[],R=1;var z=O?E+O-1:E;if(++y>S.e.c&&(S.e.c=y),yS.e.r&&(S.e.r=z),P=[],L={},o={t:(v=bt(i[0],!1))["数据类型"]||v["value-type"],v:null},c.cellFormula)if(v.formula&&(v.formula=yt(v.formula)),v["number-matrix-columns-spanned"]&&v["number-matrix-rows-spanned"]&&(x={s:{r:E,c:y},e:{r:E+(parseInt(v["number-matrix-rows-spanned"],10)||0)-1,c:y+(parseInt(v["number-matrix-columns-spanned"],10)||0)-1}},o.F=ea(x),I.push([x,o.F])),v.formula)o.f=zo(v.formula);else for(H=0;H=I[H][0].s.r&&E<=I[H][0].e.r&&y>=I[H][0].s.c&&y<=I[H][0].e.c&&(o.F=I[H][1]);switch((v["number-columns-spanned"]||v["number-rows-spanned"])&&(x={s:{r:E,c:y},e:{r:E+(parseInt(v["number-rows-spanned"],10)||0)-1,c:y+(parseInt(v["number-columns-spanned"],10)||0)-1}},A.push(x)),v["number-columns-repeated"]&&(R=parseInt(v["number-columns-repeated"],10)),o.t){case"boolean":o.t="b",o.v=Rt(v["boolean-value"]);break;case"float":case"percentage":case"currency":o.t="n",o.v=parseFloat(v.value);break;case"date":o.t="d",o.v=Xe(v["date-value"]),c.cellDates||(o.t="n",o.v=Me(o.v)),o.z="m/d/yy";break;case"time":o.t="n",o.v=ze(v["time-value"])/86400,c.cellDates&&(o.t="d",o.v=He(o.v)),o.z="HH:MM:SS";break;case"number":o.t="n",o.v=parseFloat(v["数据数值"]);break;default:if("string"!==o.t&&"text"!==o.t&&o.t)throw new Error("Unsupported value type "+o.t);o.t="s",null!=v["string-value"]&&(b=yt(v["string-value"]),T=[])}}else{if(B=!1,"s"===o.t&&(o.v=b||"",T.length&&(o.R=T),B=0==w),F.Target&&(o.l=F),P.length>0&&(o.c=P,P=[]),b&&!1!==c.cellText&&(o.w=b),B&&(o.t="z",delete o.v),(!B||c.sheetStubs)&&!(c.sheetRows&&c.sheetRows<=E))for(var V=0;V0;)g[E+V][y+R]=Ye(o);else for(g[Zr({r:E+V,c:y})]=o;--R>0;)g[Zr({r:E+V,c:y+R})]=Ye(o);S.e.c<=y&&(S.e.c=y)}y+=(R=parseInt(v["number-columns-repeated"]||"1",10))-1,R=0,o={},b="",T=[]}F={};break;case"document":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":case"font-face-decls":case"master-styles":if("/"===i[1]){if((r=f.pop())[0]!==i[3])throw"Bad state: "+r}else"/"!==i[0].charAt(i[0].length-2)&&f.push([i[3],!0]);break;case"annotation":if("/"===i[1]){if((r=f.pop())[0]!==i[3])throw"Bad state: "+r;L.t=b,T.length&&(L.R=T),L.a=M,P.push(L)}else"/"!==i[0].charAt(i[0].length-2)&&f.push([i[3],!1]);M="",U=0,b="",w=0,T=[];break;case"creator":"/"===i[1]?M=l.slice(U,i.index):U=i.index+i[0].length;break;case"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"event-listeners":case"chart":if("/"===i[1]){if((r=f.pop())[0]!==i[3])throw"Bad state: "+r}else"/"!==i[0].charAt(i[0].length-2)&&f.push([i[3],!1]);b="",w=0,T=[];break;case"scientific-number":case"currency-symbol":case"currency-style":case"script":case"libraries":case"automatic-styles":case"default-style":case"page-layout":case"style":case"map":case"font-face":case"paragraph-properties":case"table-properties":case"table-column-properties":case"table-row-properties":case"table-cell-properties":case"fraction":case"boolean-style":case"boolean":case"text-style":case"text-content":case"text-properties":case"embedded-text":case"body":case"电子表格":case"forms":case"table-column":case"table-header-rows":case"table-rows":case"table-column-group":case"table-header-columns":case"table-columns":case"null-date":case"graphic-properties":case"calculation-settings":case"named-expressions":case"label-range":case"label-ranges":case"named-expression":case"sort":case"sort-by":case"sort-groups":case"tab":case"line-break":case"span":case"s":case"date":case"object":case"title":case"标题":case"desc":case"binary-data":case"table-source":case"scenario":case"iteration":case"content-validations":case"content-validation":case"help-message":case"error-message":case"database-ranges":case"filter":case"filter-and":case"filter-or":case"filter-condition":case"list-level-style-bullet":case"list-level-style-number":case"list-level-properties":case"sender-firstname":case"sender-lastname":case"sender-initials":case"sender-title":case"sender-position":case"sender-email":case"sender-phone-private":case"sender-fax":case"sender-company":case"sender-phone-work":case"sender-street":case"sender-city":case"sender-postal-code":case"sender-country":case"sender-state-or-province":case"author-name":case"author-initials":case"chapter":case"file-name":case"template-name":case"sheet-name":case"event-listener":case"initial-creator":case"creation-date":case"print-date":case"generator":case"document-statistic":case"user-defined":case"editing-duration":case"editing-cycles":case"config-item":case"page-number":case"page-count":case"time":case"cell-range-source":case"detective":case"operation":case"highlighted-range":case"data-pilot-table":case"source-cell-range":case"source-service":case"data-pilot-field":case"data-pilot-level":case"data-pilot-subtotals":case"data-pilot-subtotal":case"data-pilot-members":case"data-pilot-member":case"data-pilot-display-info":case"data-pilot-sort-info":case"data-pilot-layout-info":case"data-pilot-field-reference":case"data-pilot-groups":case"data-pilot-group":case"data-pilot-group-member":case"rect":case"dde-connection-decls":case"dde-connection-decl":case"dde-link":case"dde-source":case"properties":case"property":case"table-protection":case"data-pilot-grand-total":case"office-document-common-attrs":break;case"number-style":case"percentage-style":case"date-style":case"time-style":if("/"===i[1]){if(_[h.name]=u,(r=f.pop())[0]!==i[3])throw"Bad state: "+r}else"/"!==i[0].charAt(i[0].length-2)&&(u="",h=bt(i[0],!1),f.push([i[3],!0]));break;case"number":case"day":case"month":case"year":case"era":case"day-of-week":case"week-of-year":case"quarter":case"hours":case"minutes":case"seconds":case"am-pm":switch(f[f.length-1][0]){case"time-style":case"date-style":a=bt(i[0],!1),u+=Fl[i[3]]["long"===a.style?1:0]}break;case"text":if("/>"===i[0].slice(-2))break;if("/"===i[1])switch(f[f.length-1][0]){case"number-style":case"date-style":case"time-style":u+=l.slice(d,i.index)}else d=i.index+i[0].length;break;case"named-range":D=Go((a=bt(i[0],!1))["cell-range-address"]);var G={Name:a.name,Ref:D[0]+"!"+D[1]};W&&(G.Sheet=m.length),N.Names.push(G);break;case"p":case"文本串":if(["master-styles"].indexOf(f[f.length-1][0])>-1)break;if("/"!==i[1]||v&&v["string-value"])bt(i[0],!1),w=i.index+i[0].length;else{var j=Nl(l.slice(w,i.index));b=(b.length>0?b+"\n":"")+j[0]}break;case"database-range":if("/"===i[1])break;try{p[(D=Go(bt(i[0])["target-range-address"]))[0]]["!autofilter"]={ref:D[1]}}catch(e){}break;case"a":if("/"!==i[1]){if(!(F=bt(i[0],!1)).href)break;F.Target=yt(F.href),delete F.href,"#"==F.Target.charAt(0)&&F.Target.indexOf(".")>-1?(D=Go(F.Target.slice(1)),F.Target="#"+D[0]+"!"+D[1]):F.Target.match(/^\.\.[\\\/]/)&&(F.Target=F.Target.slice(3))}break;default:switch(i[2]){case"dc:":case"calcext:":case"loext:":case"ooo:":case"chartooo:":case"draw:":case"style:":case"chart:":case"form:":case"uof:":case"表:":case"字:":break;default:if(c.WTF)throw new Error(i)}}var X={Sheets:p,SheetNames:m,Workbook:N};return c.bookSheets&&delete X.Sheets,X}function Pl(e,t){t=t||{},rt(e,"META-INF/manifest.xml")&&function(e,t){for(var r,a,n=Yt(e);r=Kt.exec(n);)switch(r[3]){case"manifest":break;case"file-entry":if("/"==(a=bt(r[0],!1)).path&&"application/vnd.oasis.opendocument.spreadsheet"!==a.type)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":case"algorithm":case"start-key-generation":case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(t&&t.WTF)throw r}}(nt(e,"META-INF/manifest.xml"),t);var r=st(e,"content.xml");if(!r)throw new Error("Missing content.xml in ODS / UOF file");var a=Dl(Pt(r),t);return rt(e,"meta.xml")&&(a.Props=tn(nt(e,"meta.xml"))),a}function Ll(e,t){return Dl(e,t)}var Ml=function(){var e=["",'',"",'',"",'',"",""].join(""),t=""+e+"";return function(){return ut+t}}(),Ul=function(){var e=function(e){return _t(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")},t=" \n",r=function(r,a,n){var s=[];s.push(' \n');var i=0,o=0,c=Qr(r["!ref"]||"A1"),l=r["!merges"]||[],f=0,h=Array.isArray(r);if(r["!cols"])for(o=0;o<=c.e.c;++o)s.push(" \n");var u="",d=r["!rows"]||[];for(i=0;i\n");for(;i<=c.e.r;++i){for(u=d[i]?' table:style-name="ro'+d[i].ods+'"':"",s.push(" \n"),o=0;oo||l[f].s.r>i||l[f].e.c\n");else{var v=Zr({r:i,c:o}),b=h?(r[i]||[])[o]:r[v];if(b&&b.f&&(m["table:formula"]=_t(Vo(b.f)),b.F&&b.F.slice(0,v.length)==v)){var w=Qr(b.F);m["table:number-matrix-columns-spanned"]=w.e.c-w.s.c+1,m["table:number-matrix-rows-spanned"]=w.e.r-w.s.r+1}if(b){switch(b.t){case"b":g=b.v?"TRUE":"FALSE",m["office:value-type"]="boolean",m["office:boolean-value"]=b.v?"true":"false";break;case"n":g=b.w||String(b.v||0),m["office:value-type"]="float",m["office:value"]=b.v||0;break;case"s":case"str":g=null==b.v?"":b.v,m["office:value-type"]="string";break;case"d":g=b.w||Xe(b.v).toISOString(),m["office:value-type"]="date",m["office:date-value"]=Xe(b.v).toISOString(),m["table:style-name"]="ce1";break;default:s.push(t);continue}var T=e(g);if(b.l&&b.l.Target){var E=b.l.Target;"#"==(E="#"==E.charAt(0)?"#"+jo(E.slice(1)):E).charAt(0)||E.match(/^\w+:/)||(E="../"+E),T=Xt("text:a",T,{"xlink:href":E.replace(/&/g,"&")})}s.push(" "+Xt("table:table-cell",Xt("text:p",T,{}),m)+"\n")}else s.push(t)}}s.push(" \n")}return s.push(" \n"),s.join("")};return function(e,t){var a=[ut],n=jt({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"}),s=jt({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});"fods"==t.bookType?(a.push("\n"),a.push(Za().replace(/office:document-meta/g,"office:meta"))):a.push("\n"),function(e,t){e.push(" \n"),e.push(' \n'),e.push(' \n'),e.push(" /\n"),e.push(' \n'),e.push(" /\n"),e.push(" \n"),e.push(" \n");var r=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!cols"])for(var a=0;a\n'),e.push(' \n'),e.push(" \n"),++r}});var a=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!rows"])for(var r=0;r\n'),e.push(' \n'),e.push(" \n"),++a}}),e.push(' \n'),e.push(' \n'),e.push(" \n"),e.push(' \n'),e.push(" \n")}(a,e),a.push(" \n"),a.push(" \n");for(var i=0;i!=e.SheetNames.length;++i)a.push(r(e.Sheets[e.SheetNames[i]],e,i));return a.push(" \n"),a.push(" \n"),"fods"==t.bookType?a.push(""):a.push(""),a.join("")}}();function Bl(e,t){if("fods"==t.bookType)return Ul(e,t);var r=lt(),a="",n=[],s=[];return ct(r,a="mimetype","application/vnd.oasis.opendocument.spreadsheet"),ct(r,a="content.xml",Ul(e,t)),n.push([a,"text/xml"]),s.push([a,"ContentFile"]),ct(r,a="styles.xml",Ml(e,t)),n.push([a,"text/xml"]),s.push([a,"StylesFile"]),ct(r,a="meta.xml",ut+Za()),n.push([a,"text/xml"]),s.push([a,"MetadataFile"]),ct(r,a="manifest.rdf",function(e){var t=[ut];t.push('\n');for(var r=0;r!=e.length;++r)t.push(Ja(e[r][0],e[r][1])),t.push(qa("",e[r][0]));return t.push(Ja("","Document","pkg")),t.push(""),t.join("")}(s)),n.push([a,"application/rdf+xml"]),ct(r,a="META-INF/manifest.xml",function(e){var t=[ut];t.push('\n'),t.push(' \n');for(var r=0;r\n');return t.push(""),t.join("")}(n)),r}function Wl(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Hl(e){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(e):Pt(x(e))}function zl(e){return"undefined"!=typeof TextEncoder?(new TextEncoder).encode(e):_(Lt(e))}function Vl(e){var t=e.reduce(function(e,t){return e+t.length},0),r=new Uint8Array(t),a=0;return e.forEach(function(e){r.set(e,a),a+=e.length}),r}function Gl(e){return 16843009*((e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135)>>>24}function jl(e,t){var r=t?t[0]:0,a=127&e[r];e:if(e[r++]>=128){if(a|=(127&e[r])<<7,e[r++]<128)break e;if(a|=(127&e[r])<<14,e[r++]<128)break e;if(a|=(127&e[r])<<21,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,28),++r,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,35),++r,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,42),++r,e[r++]<128)break e}return t&&(t[0]=r),a}function Xl(e){var t=new Uint8Array(7);t[0]=127&e;var r=1;e:if(e>127){if(t[r-1]|=128,t[r]=e>>7&127,++r,e<=16383)break e;if(t[r-1]|=128,t[r]=e>>14&127,++r,e<=2097151)break e;if(t[r-1]|=128,t[r]=e>>21&127,++r,e<=268435455)break e;if(t[r-1]|=128,t[r]=e/256>>>21&127,++r,e<=34359738367)break e;if(t[r-1]|=128,t[r]=e/65536>>>21&127,++r,e<=4398046511103)break e;t[r-1]|=128,t[r]=e/16777216>>>21&127,++r}return t.slice(0,r)}function $l(e){var t=0,r=127&e[t];e:if(e[t++]>=128){if(r|=(127&e[t])<<7,e[t++]<128)break e;if(r|=(127&e[t])<<14,e[t++]<128)break e;if(r|=(127&e[t])<<21,e[t++]<128)break e;r|=(127&e[t])<<28}return r}function Yl(e){for(var t=[],r=[0];r[0]=128;);a=e.slice(c,r[0]);break;case 5:o=4,a=e.slice(r[0],r[0]+o),r[0]+=o;break;case 1:o=8,a=e.slice(r[0],r[0]+o),r[0]+=o;break;case 2:o=jl(e,r),a=e.slice(r[0],r[0]+o),r[0]+=o;break;default:throw new Error("PB Type ".concat(i," for Field ").concat(s," at offset ").concat(n))}var l={data:a,type:i};null==t[s]?t[s]=[l]:t[s].push(l)}return t}function Kl(e){var t=[];return e.forEach(function(e,r){e.forEach(function(e){e.data&&(t.push(Xl(8*r+e.type)),2==e.type&&t.push(Xl(e.data.length)),t.push(e.data))})}),Vl(t)}function Jl(e,t){return(null==e?void 0:e.map(function(e){return t(e.data)}))||[]}function ql(e){for(var t,r=[],a=[0];a[0]>>0>0),r.push(i)}return r}function Zl(e){var t=[];return e.forEach(function(e){var r=[];r[1]=[{data:Xl(e.id),type:0}],r[2]=[],null!=e.merge&&(r[3]=[{data:Xl(+!!e.merge),type:0}]);var a=[];e.messages.forEach(function(e){a.push(e.data),e.meta[3]=[{type:0,data:Xl(e.data.length)}],r[2].push({data:Kl(e.meta),type:2})});var n=Kl(r);t.push(Xl(n.length)),t.push(n),a.forEach(function(e){return t.push(e)})}),Vl(t)}function Ql(e,t){if(0!=e)throw new Error("Unexpected Snappy chunk type ".concat(e));for(var r=[0],a=jl(t,r),n=[];r[0]>2&7),i=(224&t[r[0]++])<<3,i|=t[r[0]++]):(o=1+(t[r[0]++]>>2),2==s?(i=t[r[0]]|t[r[0]+1]<<8,r[0]+=2):(i=(t[r[0]]|t[r[0]+1]<<8|t[r[0]+2]<<16|t[r[0]+3]<<24)>>>0,r[0]+=4)),n=[Vl(n)],0==i)throw new Error("Invalid offset 0");if(i>n[0].length)throw new Error("Invalid offset beyond length");if(o>=i)for(n.push(n[0].slice(-i)),o-=i;o>=n[n.length-1].length;)n.push(n[n.length-1]),o-=n[n.length-1].length;n.push(n[0].slice(-i,-i+o))}else{var c=t[r[0]++]>>2;if(c<60)++c;else{var l=c-59;c=t[r[0]],l>1&&(c|=t[r[0]+1]<<8),l>2&&(c|=t[r[0]+2]<<16),l>3&&(c|=t[r[0]+3]<<24),c>>>=0,c++,r[0]+=l}n.push(t.slice(r[0],r[0]+c)),r[0]+=c}}var f=Vl(n);if(f.length!=a)throw new Error("Unexpected length: ".concat(f.length," != ").concat(a));return f}function ef(e){for(var t=[],r=0;r>8&255]))):a<=16777216?(i+=4,t.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))):a<=4294967296&&(i+=5,t.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))),t.push(e.slice(r,r+a)),i+=a,n[0]=0,n[1]=255&i,n[2]=i>>8&255,n[3]=i>>16&255,r+=a}return Vl(t)}function rf(e,t){var r=new Uint8Array(32),a=Wl(r),n=12,s=0;switch(r[0]=5,e.t){case"n":r[1]=2,function(e,t,r){var a=Math.floor(0==r?0:Math.LOG10E*Math.log(Math.abs(r)))+6176-20,n=r/Math.pow(10,a-6176);e[t+15]|=a>>7,e[t+14]|=(127&a)<<1;for(var s=0;n>=1;++s,n/=256)e[t+s]=255&n;e[t+15]|=r>=0?0:128}(r,n,e.v),s|=1,n+=16;break;case"b":r[1]=6,a.setFloat64(n,e.v?1:0,!0),s|=2,n+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));r[1]=3,a.setUint32(n,t.indexOf(e.v),!0),s|=8,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(8,s,!0),r.slice(0,n)}function af(e,t){var r=new Uint8Array(32),a=Wl(r),n=12,s=0;switch(r[0]=3,e.t){case"n":r[2]=2,a.setFloat64(n,e.v,!0),s|=32,n+=8;break;case"b":r[2]=6,a.setFloat64(n,e.v?1:0,!0),s|=32,n+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));r[2]=3,a.setUint32(n,t.indexOf(e.v),!0),s|=16,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(4,s,!0),r.slice(0,n)}function nf(e,t,r){switch(e[0]){case 0:case 1:case 2:case 3:return function(e,t,r,a){var n,s=Wl(e),i=s.getUint32(4,!0),o=(a>1?12:8)+4*Gl(i&(a>1?3470:398)),c=-1,l=-1,f=NaN,h=new Date(2001,0,1);switch(512&i&&(c=s.getUint32(o,!0),o+=4),o+=4*Gl(i&(a>1?12288:4096)),16&i&&(l=s.getUint32(o,!0),o+=4),32&i&&(f=s.getFloat64(o,!0),o+=8),64&i&&(h.setTime(h.getTime()+1e3*s.getFloat64(o,!0)),o+=8),e[2]){case 0:break;case 2:n={t:"n",v:f};break;case 3:n={t:"s",v:t[l]};break;case 5:n={t:"d",v:h};break;case 6:n={t:"b",v:f>0};break;case 7:n={t:"n",v:f/86400};break;case 8:n={t:"e",v:0};break;case 9:if(c>-1)n={t:"s",v:r[c]};else if(l>-1)n={t:"s",v:t[l]};else{if(isNaN(f))throw new Error("Unsupported cell type ".concat(e.slice(0,4)));n={t:"n",v:f}}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}return n}(e,t,r,e[0]);case 5:return function(e,t,r){var a,n=Wl(e),s=n.getUint32(8,!0),i=12,o=-1,c=-1,l=NaN,f=NaN,h=new Date(2001,0,1);switch(1&s&&(l=function(e,t){for(var r=(127&e[t+15])<<7|e[t+14]>>1,a=1&e[t+14],n=t+13;n>=t;--n)a=256*a+e[n];return(128&e[t+15]?-a:a)*Math.pow(10,r-6176)}(e,i),i+=16),2&s&&(f=n.getFloat64(i,!0),i+=8),4&s&&(h.setTime(h.getTime()+1e3*n.getFloat64(i,!0)),i+=8),8&s&&(c=n.getUint32(i,!0),i+=4),16&s&&(o=n.getUint32(i,!0),i+=4),e[1]){case 0:break;case 2:case 10:a={t:"n",v:l};break;case 3:a={t:"s",v:t[c]};break;case 5:a={t:"d",v:h};break;case 6:a={t:"b",v:f>0};break;case 7:a={t:"n",v:f/86400};break;case 8:a={t:"e",v:0};break;case 9:if(!(o>-1))throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)));a={t:"s",v:r[o]};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)))}return a}(e,t,r);default:throw new Error("Unsupported payload version ".concat(e[0]))}}function sf(e){return jl(Yl(e)[1][0].data)}function of(e,t){var r=Yl(t.data),a=$l(r[1][0].data),n=r[3],s=[];return(n||[]).forEach(function(t){var r=Yl(t.data),n=$l(r[1][0].data)>>>0;switch(a){case 1:s[n]=Hl(r[3][0].data);break;case 8:var i=Yl(e[sf(r[9][0].data)][0].data),o=e[sf(i[1][0].data)][0],c=$l(o.meta[1][0].data);if(2001!=c)throw new Error("2000 unexpected reference to ".concat(c));var l=Yl(o.data);s[n]=l[3].map(function(e){return Hl(e.data)}).join("")}}),s}function cf(e,t){var r={"!ref":"A1"},a=e[sf(Yl(t.data)[2][0].data)],n=$l(a[0].meta[1][0].data);if(6001!=n)throw new Error("6000 unexpected reference to ".concat(n));return function(e,t,r){var a,n=Yl(t.data),s={s:{r:0,c:0},e:{r:0,c:0}};if(s.e.r=($l(n[6][0].data)>>>0)-1,s.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));if(s.e.c=($l(n[7][0].data)>>>0)-1,s.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));r["!ref"]=ea(s);var i=Yl(n[4][0].data),o=of(e,e[sf(i[4][0].data)][0]),c=(null==(a=i[17])?void 0:a[0])?of(e,e[sf(i[17][0].data)][0]):[],l=Yl(i[3][0].data),f=0;l[1].forEach(function(t){var a=Yl(t.data),n=e[sf(a[2][0].data)][0],s=$l(n.meta[1][0].data);if(6002!=s)throw new Error("6001 unexpected reference to ".concat(s));var i=function(e,t){var r,a=Yl(t.data),n=(null==(r=null==a?void 0:a[7])?void 0:r[0])?$l(a[7][0].data)>>>0>0?1:0:-1,s=Jl(a[5],function(e){return function(e,t){var r,a,n,s,i,o,c,l,f,h,u,d,p,m,g,v,b=Yl(e),w=$l(b[1][0].data)>>>0,T=$l(b[2][0].data)>>>0,E=(null==(a=null==(r=b[8])?void 0:r[0])?void 0:a.data)&&$l(b[8][0].data)>0||!1;if((null==(s=null==(n=b[7])?void 0:n[0])?void 0:s.data)&&0!=t)g=null==(o=null==(i=b[7])?void 0:i[0])?void 0:o.data,v=null==(l=null==(c=b[6])?void 0:c[0])?void 0:l.data;else{if(!(null==(h=null==(f=b[4])?void 0:f[0])?void 0:h.data)||1==t)throw"NUMBERS Tile missing ".concat(t," cell storage");g=null==(d=null==(u=b[4])?void 0:u[0])?void 0:d.data,v=null==(m=null==(p=b[3])?void 0:p[0])?void 0:m.data}for(var y=E?4:1,S=Wl(g),k=[],_=0;_=1&&(x[k[k.length-1][0]]=v.subarray(k[k.length-1][1]*y)),{R:w,cells:x}}(e,n)});return{nrows:$l(a[4][0].data)>>>0,data:s.reduce(function(e,t){return e[t.R]||(e[t.R]=[]),t.cells.forEach(function(r,a){if(e[t.R][a])throw new Error("Duplicate cell r=".concat(t.R," c=").concat(a));e[t.R][a]=r}),e},[])}}(0,n);i.data.forEach(function(e,t){e.forEach(function(e,a){var n=Zr({r:f+t,c:a}),s=nf(e,o,c);s&&(r[n]=s)})}),f+=i.nrows})}(e,a[0],r),r}function lf(e){var t,r,a,n,s={},i=[];if(e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),e.FileIndex.forEach(function(e){if(e.name.match(/\.iwa$/)){var t,r;try{t=ef(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}try{r=ql(t)}catch(e){return console.log("## "+(e.message||e))}r.forEach(function(e){s[e.id]=e.messages,i.push(e.id)})}}),!i.length)throw new Error("File has no messages");var o=(null==(n=null==(a=null==(r=null==(t=null==s?void 0:s[1])?void 0:t[0])?void 0:r.meta)?void 0:a[1])?void 0:n[0].data)&&1==$l(s[1][0].meta[1][0].data)&&s[1][0];if(o||i.forEach(function(e){s[e].forEach(function(e){if(1==$l(e.meta[1][0].data)>>>0){if(o)throw new Error("Document has multiple roots");o=e}})}),!o)throw new Error("Cannot find Document root");return function(e,t){var r={SheetNames:[],Sheets:{}};if(Jl(Yl(t.data)[1],sf).forEach(function(t){e[t].forEach(function(t){if(2==$l(t.meta[1][0].data)){var a=function(e,t){var r,a=Yl(t.data),n={name:(null==(r=a[1])?void 0:r[0])?Hl(a[1][0].data):"",sheets:[]};return Jl(a[2],sf).forEach(function(t){e[t].forEach(function(t){6e3==$l(t.meta[1][0].data)&&n.sheets.push(cf(e,t))})}),n}(e,t);a.sheets.forEach(function(e,t){Vf(r,e,0==t?a.name:a.name+"_"+t,!0)})}})}),0==r.SheetNames.length)throw new Error("Empty NUMBERS file");return r}(s,o)}function ff(e,t,r){var a,n,s,i;if(!(null==(a=e[6])?void 0:a[0])||!(null==(n=e[7])?void 0:n[0]))throw"Mutation only works on post-BNC storages!";if((null==(i=null==(s=e[8])?void 0:s[0])?void 0:i.data)&&$l(e[8][0].data)>0)throw"Math only works with normal offsets";for(var o=0,c=Wl(e[7][0].data),l=0,f=[],h=Wl(e[4][0].data),u=0,d=[],p=0;p0)i.push(c);else if(a.T<0)i.pop();else if(!o||t.WTF)throw new Error("Unexpected record 0x"+c.toString(16))}},t),a["!id"][s["!rel"]]&&(s["!drawel"]=a["!id"][s["!rel"]]),s}(e,a,r,n,s):function(e,t,r,a,n){if(!e)return e;a||(a={"!id":{}});var s,i={"!type":"chart","!drawel":null,"!rel":""},o=e.match(cc);return o&&hc(o[0],0,n,r),(s=e.match(/drawing r:id="(.*?)"/))&&(i["!rel"]=s[1]),a["!id"][i["!rel"]]&&(i["!drawel"]=a["!id"][i["!rel"]]),i}(e,0,r,n,s)}(d,t,n,c,s[a],l))||!u["!drawel"])break;var p=ht(u["!drawel"].Target,t),m=Xa(p),g=function(e,t){if(!e)return"??";var r=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return t["!id"][r].Target}(st(e,p,!0),$a(st(e,m,!0),p)),v=ht(g,p),b=Xa(v);u=function(e,t,r,a,n,s){var i=s||{"!type":"chart"};if(!e)return s;var o=0,c=0,l="A",f={s:{r:2e6,c:2e6},e:{r:0,c:0}};return(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var t=function(e){var t,r=[],a=e.match(/^/);(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var t=e.match(/(.*)<\/c:v><\/c:pt>/);t&&(r[+t[1]]=a?+t[2]:t[2])});var n=yt((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);return(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){t=e.replace(/<.*?>/g,"")}),[r,n,t]}(e);f.s.r=f.s.c=0,f.e.c=o,l=Jr(o),t[0].forEach(function(e,r){i[l+Yr(r)]={t:"n",v:e,z:t[1]},c=r}),f.e.r0&&(i["!ref"]=ea(f)),i}(st(e,v,!0),0,0,$a(st(e,b,!0),v),0,u);break;case"macro":T=t,s[a],T.slice(-4),u={"!type":"macro"};break;case"dialog":u=function(e,t){return t.slice(-4),{"!type":"dialog"}}(0,t,s[a]);break;default:throw new Error("Unrecognized sheet type "+o)}i[a]=u;var w=[];s&&s[a]&&Ne(s[a]).forEach(function(r){var n="";if(s[a][r].Type==ja.CMNT){n=ht(s[a][r].Target,t);var i=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r=[],a=[],n={},s=!1;return Wr(e,function(e,i,o){switch(o){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t,n.h=e.h,n.r=e.r;break;case 636:if(n.author=a[n.iauthor],delete n.iauthor,t.sheetRows&&n.rfx&&t.sheetRows<=n.rfx.r)break;n.t||(n.t=""),delete n.rfx,r.push(n);break;case 3072:case 37:case 38:break;case 35:s=!0;break;case 36:s=!1;break;default:if(i.T);else if(!s||t.WTF)throw new Error("Unexpected record 0x"+o.toString(16))}}),r}(e,r):function(e,t){if(e.match(/<(?:\w+:)?comments *\/>/))return[];var r=[],a=[],n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);n&&n[1]&&n[1].split(/<\/\w*:?author>/).forEach(function(e){if(""!==e&&""!==e.trim()){var t=e.match(/<(?:\w+:)?author[^>]*>(.*)/);t&&r.push(t[1])}});var s=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);return s&&s[1]&&s[1].split(/<\/\w*:?comment>/).forEach(function(e){if(""!==e&&""!==e.trim()){var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(n){var s=bt(n[0]),i={author:s.authorId&&r[s.authorId]||"sheetjsghost",ref:s.ref,guid:s.guid},o=qr(s.ref);if(!(t.sheetRows&&t.sheetRows<=o.r)){var c=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/),l=!!c&&!!c[1]&&Ws(c[1])||{r:"",t:"",h:""};i.r=l.r,""==l.r&&(l.t=l.h=""),i.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"),t.cellHTML&&(i.h=l.h),a.push(i)}}}}),a}(e,r)}(nt(e,n,!0),n,c);if(!i||!i.length)return;Xi(u,i,!1)}s[a][r].Type==ja.TCMNT&&(n=ht(s[a][r].Target,t),w=w.concat(function(e,t){var r=[],a=!1,n={},s=0;return e.replace(mt,function(i,o){var c=bt(i);switch(wt(c[0])){case"":case"":case"":case"":break;case"":null!=n.t&&r.push(n);break;case"":case"":n.t=e.slice(s,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":case"":case"":a=!1;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+c[0]+" in threaded comments")}return i}),r}(nt(e,n,!0),c)))}),w&&w.length&&Xi(u,w,!0,c.people||[])}catch(e){if(c.WTF)throw e}var T}function mf(e){return"/"==e.charAt(0)?e.slice(1):e}function gf(e,t){if(ye(),uf(t=t||{}),rt(e,"META-INF/manifest.xml"))return Pl(e,t);if(rt(e,"objectdata.xml"))return Pl(e,t);if(rt(e,"Index/Document.iwa")){if("undefined"==typeof Uint8Array)throw new Error("NUMBERS file parsing requires Uint8Array support");if(void 0!==lf){if(e.FileIndex)return lf(e);var r=xe.utils.cfb_new();return ot(e).forEach(function(t){ct(r,t,it(e,t))}),lf(r)}throw new Error("Unsupported NUMBERS file")}if(!rt(e,"[Content_Types].xml")){if(rt(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(rt(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a,n,s=ot(e),i=function(e){var t={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};if(!e||!e.match)return t;var r={};if((e.match(mt)||[]).forEach(function(e){var a=bt(e);switch(a[0].replace(gt,"<")){case"0?t.calcchains[0]:"",t.sst=t.strs.length>0?t.strs[0]:"",t.style=t.styles.length>0?t.styles[0]:"",t.defaults=r,delete t.calcchains,t}(st(e,"[Content_Types].xml")),o=!1;if(0===i.workbooks.length&&nt(e,n="xl/workbook.xml",!0)&&i.workbooks.push(n),0===i.workbooks.length){if(!nt(e,n="xl/workbook.bin",!0))throw new Error("Could not find workbook");i.workbooks.push(n),o=!0}"bin"==i.workbooks[0].slice(-3)&&(o=!0);var c={},l={};if(!t.bookSheets&&!t.bookProps){if(Xo=[],i.sst)try{Xo=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r=[],a=!1;return Wr(e,function(e,n,s){switch(s){case 159:r.Count=e[0],r.Unique=e[1];break;case 19:r.push(e);break;case 160:return!0;case 35:a=!0;break;case 36:a=!1;break;default:if(n.T,!a||t.WTF)throw new Error("Unexpected record 0x"+s.toString(16))}}),r}(e,r):function(e,t){var r=[],a="";if(!e)return r;var n=e.match(Hs);if(n){a=n[2].replace(zs,"").split(Vs);for(var s=0;s!=a.length;++s){var i=Ws(a[s].trim(),t);null!=i&&(r[r.length]=i)}n=bt(n[1]),r.Count=n.count,r.Unique=n.uniqueCount}return r}(e,r)}(nt(e,mf(i.sst)),i.sst,t)}catch(e){if(t.WTF)throw e}t.cellStyles&&i.themes.length&&(c=function(e,t,r){return Ui(e,r)}(st(e,i.themes[0].replace(/^\//,""),!0)||"",i.themes[0],t)),i.style&&(l=function(e,t,r,a){return".bin"===t.slice(-4)?function(e,t,r){var a={NumberFmt:[]};for(var n in H)a.NumberFmt[n]=H[n];a.CellXf=[],a.Fonts=[];var s=[],i=!1;return Wr(e,function(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1],Te(e[1],e[0]);break;case 43:a.Fonts.push(e),null!=e.color.theme&&t&&t.themeElements&&t.themeElements.clrScheme&&(e.color.rgb=ii(t.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0));break;case 1025:case 45:case 46:case 48:case 507:case 572:case 475:case 1171:case 2102:case 1130:case 512:case 2095:case 3072:break;case 47:617==s[s.length-1]&&a.CellXf.push(e);break;case 35:i=!0;break;case 36:i=!1;break;case 37:s.push(o),i=!0;break;case 38:s.pop(),i=!1;break;default:if(n.T>0)s.push(o);else if(n.T<0)s.pop();else if(!i||r.WTF&&37!=s[s.length-1])throw new Error("Unexpected record 0x"+o.toString(16))}}),a}(e,r,a):wi(e,r,a)}(nt(e,mf(i.style)),i.style,c,t))}i.links.map(function(r){try{return $a(st(e,Xa(mf(r))),r),function(e,t,r,a){if(".bin"===r.slice(-4))return function(e,t,r,a){if(!e)return e;var n=a||{},s=!1;Wr(e,function(e,t,r){switch(r){case 359:case 363:case 364:case 366:case 367:case 368:case 369:case 370:case 371:case 472:case 577:case 578:case 579:case 580:case 581:case 582:case 583:case 584:case 585:case 586:case 587:break;case 35:s=!0;break;case 36:s=!1;break;default:if(t.T);else if(!s||n.WTF)throw new Error("Unexpected record 0x"+r.toString(16))}},n)}(e,0,0,a)}(nt(e,mf(r)),0,r,t)}catch(e){}});var f=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""},a=[],n=!1;t||(t={}),t.biff=12;var s=[],i=[[]];return i.SheetNames=[],i.XTI=[],pl[16]={n:"BrtFRTArchID$",f:Wc},Wr(e,function(e,o,c){switch(c){case 156:i.SheetNames.push(e.name),r.Sheets.push(e);break;case 153:r.WBProps=e;break;case 39:null!=e.Sheet&&(t.SID=e.Sheet),e.Ref=Ro(e.Ptg,0,null,i,t),delete t.SID,delete e.Ptg,s.push(e);break;case 1036:case 361:case 2071:case 158:case 143:case 664:case 353:case 3072:case 3073:case 534:case 677:case 157:case 610:case 2050:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 596:case 2076:case 2075:case 2082:case 397:case 154:case 1117:case 553:case 2091:case 16:break;case 357:case 358:case 355:case 667:i[0].length?i.push([c,e]):i[0]=[c,e],i[i.length-1].XTI=[];break;case 362:0===i.length&&(i[0]=[],i[0].XTI=[]),i[i.length-1].XTI=i[i.length-1].XTI.concat(e),i.XTI=i.XTI.concat(e);break;case 35:case 37:a.push(c),n=!0;break;case 36:case 38:a.pop(),n=!1;break;default:if(o.T);else if(!n||t.WTF&&37!=a[a.length-1]&&35!=a[a.length-1])throw new Error("Unexpected record 0x"+c.toString(16))}},t),Fc(r),r.Names=s,r.supbooks=i,r}(e,r):function(e,t){if(!e)throw new Error("Could not find file");var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:""},a=!1,n="xmlns",s={},i=0;if(e.replace(mt,function(o,c){var l=bt(o);switch(wt(l[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":xc.forEach(function(e){if(null!=l[e[0]])switch(e[2]){case"bool":r.WBProps[e[0]]=Rt(l[e[0]]);break;case"int":r.WBProps[e[0]]=parseInt(l[e[0]],10);break;default:r.WBProps[e[0]]=l[e[0]]}}),l.codeName&&(r.WBProps.CodeName=Pt(l.codeName));break;case"":delete l[0],r.WBView.push(l);break;case"":case"":a=!0;break;case"":case"":case"":a=!1;break;case"":s.Ref=yt(Pt(e.slice(i,c))),r.Names.push(s);break;case"":delete l[0],r.CalcPr=l;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+l[0]+" in workbook")}return o}),-1===tr.indexOf(r.xmlns))throw new Error("Unknown Namespace: "+r.xmlns);return Fc(r),r}(e,r)}(nt(e,mf(i.workbooks[0])),i.workbooks[0],t),h={},u="";i.coreprops.length&&((u=nt(e,mf(i.coreprops[0]),!0))&&(h=tn(u)),0!==i.extprops.length&&(u=nt(e,mf(i.extprops[0]),!0))&&function(e,t,r){var a={};t||(t={}),e=Pt(e),nn.forEach(function(r){var n=(e.match(Mt(r[0]))||[])[1];switch(r[2]){case"string":n&&(t[r[1]]=yt(n));break;case"bool":t[r[1]]="true"===n;break;case"raw":var s=e.match(new RegExp("<"+r[0]+"[^>]*>([\\s\\S]*?)"));s&&s.length>0&&(a[r[1]]=s[1])}}),a.HeadingPairs&&a.TitlesOfParts&&on(a.HeadingPairs,a.TitlesOfParts,t,r)}(u,h,t));var d={};t.bookSheets&&!t.bookProps||0!==i.custprops.length&&(u=st(e,mf(i.custprops[0]),!0))&&(d=function(e,t){var r={},a="",n=e.match(ln);if(n)for(var s=0;s!=n.length;++s){var i=n[s],o=bt(i);switch(o[0]){case"":a=null;break;default:if(0===i.indexOf(""),l=c[0].slice(4),f=c[1];switch(l){case"lpstr":case"bstr":case"lpwstr":case"cy":case"error":r[a]=yt(f);break;case"bool":r[a]=Rt(f);break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":r[a]=parseInt(f,10);break;case"r4":case"r8":case"decimal":r[a]=parseFloat(f);break;case"filetime":case"date":r[a]=Xe(f);break;default:if("/"==l.slice(-1))break;t.WTF&&"undefined"!=typeof console&&console.warn("Unexpected",i,l,c)}}else if("0&&(a=h.SheetNames),t.bookProps&&(p.Props=h,p.Custprops=d),t.bookSheets&&void 0!==a&&(p.SheetNames=a),t.bookSheets?p.SheetNames:t.bookProps))return p;a={};var m,g={};t.bookDeps&&i.calcchain&&(m=nt(e,mf(i.calcchain)),g=".bin"===i.calcchain.slice(-4)?function(e){var t=[];return Wr(e,function(e,r,a){if(63===a)t.push(e);else if(!r.T)throw new Error("Unexpected record 0x"+a.toString(16))}),t}(m):function(e){var t=[];if(!e)return t;var r=1;return(e.match(mt)||[]).forEach(function(e){var a=bt(e);switch(a[0]){case"":case"":break;case"=1&&(t.xlmeta=function(e,t,r){return".bin"===t.slice(-4)?function(e,t,r){var a={Types:[],Cell:[],Value:[]},n=r||{},s=[],i=!1,o=2;return Wr(e,function(e,t,r){switch(r){case 335:a.Types.push({name:e.name});break;case 51:e.forEach(function(e){1==o?a.Cell.push({type:a.Types[e[0]-1].name,index:e[1]}):0==o&&a.Value.push({type:a.Types[e[0]-1].name,index:e[1]})});break;case 337:o=e?1:0;break;case 338:o=2;break;case 35:s.push(r),i=!0;break;case 36:s.pop(),i=!1;break;default:if(t.T);else if(!i||n.WTF&&35!=s[s.length-1])throw new Error("Unexpected record 0x"+r.toString(16))}}),a}(e,0,r):function(e,t,r){var a={Types:[],Cell:[],Value:[]};if(!e)return a;var n,s=!1,i=2;return e.replace(mt,function(e){var t=bt(e);switch(wt(t[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":i=2;break;case"":s=!1;break;case"=1&&(t.people=function(e,t){var r=[],a=!1;return e.replace(mt,function(e){var n=bt(e);switch(wt(n[0])){case"":case"":case"":case"":case"":break;case"":a=!1;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments")}return e}),r}(nt(e,mf(i.people[0])),t)),A&&(A=function(e,t){if(!e)return 0;try{e=t.map(function(t){return t.id||(t.id=t.strRelID),[t.name,e["!id"][t.id].Target,(r=e["!id"][t.id].Type,ja.WS.indexOf(r)>-1?"sheet":ja.CS&&r==ja.CS?"chart":ja.DS&&r==ja.DS?"dialog":ja.MS&&r==ja.MS?"macro":r&&r.length?r:"sheet")];var r})}catch(e){return null}return e&&0!==e.length?e:null}(A,f.Sheets));var x=nt(e,"xl/worksheets/sheet.xml",!0)?1:0;e:for(w=0;w!=h.Worksheets;++w){var C="sheet";if(A&&A[w]?(v="xl/"+A[w][1].replace(/[\/]?xl\//,""),rt(e,v)||(v=A[w][1]),rt(e,v)||(v=_.replace(/_rels\/.*$/,"")+A[w][1]),C=A[w][2]):v=(v="xl/worksheets/sheet"+(w+1-x)+"."+S).replace(/sheet0\./,"sheet."),b=v.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),t&&null!=t.sheets)switch(typeof t.sheets){case"number":if(w!=t.sheets)continue e;break;case"string":if(h.SheetNames[w].toLowerCase()!=t.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(t.sheets)){for(var O=!1,R=0;R!=t.sheets.length;++R)"number"==typeof t.sheets[R]&&t.sheets[R]==w&&(O=1),"string"==typeof t.sheets[R]&&t.sheets[R].toLowerCase()==h.SheetNames[w].toLowerCase()&&(O=1);if(!O)continue e}}pf(e,v,b,h.SheetNames[w],w,T,a,C,t,f,c,l)}return p={Directory:i,Workbook:f,Props:h,Custprops:d,Deps:g,Sheets:a,SheetNames:h.SheetNames,Strings:Xo,Styles:l,Themes:c,SSF:Ye(H)},t&&t.bookFiles&&(e.files?(p.keys=s,p.files=e.files):(p.keys=[],p.files={},e.FullPaths.forEach(function(t,r){t=t.replace(/^Root Entry[\/]/,""),p.keys.push(t),p.files[t]=e.FileIndex[r]}))),t&&t.bookVBA&&(i.vba.length>0?p.vbaraw=nt(e,mf(i.vba[0]),!0):i.defaults&&"application/vnd.ms-office.vbaProject"===i.defaults.bin&&(p.vbaraw=nt(e,"xl/vbaProject.bin",!0))),p}function vf(e,t){var r,a,n=t||{},s="Workbook",i=xe.find(e,s);try{if(s="/!DataSpaces/Version",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(r=i.content,(a={}).id=r.read_shift(0,"lpp4"),a.R=Ks(r,4),a.U=Ks(r,4),a.W=Ks(r,4),s="/!DataSpaces/DataSpaceMap",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var o=function(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(Js(e));return t}(i.content);if(1!==o.length||1!==o[0].comps.length||0!==o[0].comps[0].t||"StrongEncryptionDataSpace"!==o[0].name||"EncryptedPackage"!==o[0].comps[0].v)throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var c=function(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(e.read_shift(0,"lpp4"));return t}(i.content);if(1!=c.length||"StrongEncryptionTransform"!=c[0])throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);!function(e){var t=function(e){var t={};return e.read_shift(4),e.l+=4,t.id=e.read_shift(0,"lpp4"),t.name=e.read_shift(0,"lpp4"),t.R=Ks(e,4),t.U=Ks(e,4),t.W=Ks(e,4),t}(e);if(t.ename=e.read_shift(0,"8lpp4"),t.blksz=e.read_shift(4),t.cmode=e.read_shift(4),4!=e.read_shift(4))throw new Error("Bad !Primary record")}(i.content)}catch(e){}if(s="/EncryptionInfo",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var l=function(e){var t=Ks(e);switch(t.Minor){case 2:return[t.Minor,Qs(e)];case 3:return[t.Minor,ei()];case 4:return[t.Minor,ti(e)]}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+t.Minor)}(i.content);if(s="/EncryptedPackage",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(4==l[0]&&"undefined"!=typeof decrypt_agile)return decrypt_agile(l[1],i.content,n.password||"",n);if(2==l[0]&&"undefined"!=typeof decrypt_std76)return decrypt_std76(l[1],i.content,n.password||"",n);throw new Error("File is password-protected")}function bf(e,t){return"ods"==t.bookType?Bl(e,t):"numbers"==t.bookType?function(e,t){if(!t||!t.numbers)throw new Error("Must pass a `numbers` option -- check the README");var r=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error("The Numbers writer currently writes only the first table");var a=Qr(r["!ref"]);a.s.r=a.s.c=0;var n=!1;a.e.c>9&&(n=!0,a.e.c=9),a.e.r>49&&(n=!0,a.e.r=49),n&&console.error("The Numbers writer is currently limited to ".concat(ea(a)));var s=Lf(r,{range:a,header:1}),i=["~Sh33tJ5~"];s.forEach(function(e){return e.forEach(function(e){"string"==typeof e&&i.push(e)})});var o={},c=[],l=xe.read(t.numbers,{type:"base64"});l.FileIndex.map(function(e,t){return[e,l.FullPaths[t]]}).forEach(function(e){var t=e[0],r=e[1];2==t.type&&t.name.match(/\.iwa/)&&ql(ef(t.content)).forEach(function(e){c.push(e.id),o[e.id]={deps:[],location:r,type:$l(e.messages[0].meta[1][0].data)}})}),c.sort(function(e,t){return e-t});var f=c.filter(function(e){return e>1}).map(function(e){return[e,Xl(e)]});l.FileIndex.map(function(e,t){return[e,l.FullPaths[t]]}).forEach(function(e){var t=e[0];e[1],t.name.match(/\.iwa/)&&ql(ef(t.content)).forEach(function(e){e.messages.forEach(function(t){f.forEach(function(t){e.messages.some(function(e){return 11006!=$l(e.meta[1][0].data)&&function(e,t){e:for(var r=0;r<=e.length-t.length;++r){for(var a=0;a-1,n={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};df(t=t||{});var s=lt(),i="",o=0;if(t.cellXfs=[],Zo(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),ct(s,i="docProps/core.xml",an(e.Props,t)),n.coreprops.push(i),Ka(t.rels,2,i,ja.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var c=[],l=0;l0&&(ct(s,i="docProps/custom.xml",fn(e.Custprops)),n.custprops.push(i),Ka(t.rels,4,i,ja.CUST_PROPS)),o=1;o<=e.SheetNames.length;++o){var f={"!id":{}},h=e.Sheets[e.SheetNames[o-1]];if((h||{})["!type"],ct(s,i="xl/worksheets/sheet"+o+"."+r,Vc(o-1,i,t,e,f)),n.sheets.push(i),Ka(t.wbrels,-1,"worksheets/sheet"+o+"."+r,ja.WS[0]),h){var u=h["!comments"],d=!1,p="";u&&u.length>0&&(ct(s,p="xl/comments"+o+"."+r,Gc(u,p,t)),n.comments.push(p),Ka(f,-1,"../comments"+o+"."+r,ja.CMNT),d=!0),h["!legacy"]&&d&&ct(s,"xl/drawings/vmlDrawing"+o+".vml",ji(o,h["!comments"])),delete h["!comments"],delete h["!legacy"]}f["!id"].rId1&&ct(s,Xa(i),Ya(f))}return null!=t.Strings&&t.Strings.length>0&&(ct(s,i="xl/sharedStrings."+r,function(e,t,r){return(".bin"===t.slice(-4)?$s:js)(e,r)}(t.Strings,i,t)),n.strs.push(i),Ka(t.wbrels,-1,"sharedStrings."+r,ja.SST)),ct(s,i="xl/workbook."+r,function(e,t,r){return(".bin"===t.slice(-4)?Hc:Uc)(e,r)}(e,i,t)),n.workbooks.push(i),Ka(t.rels,1,i,ja.WB),ct(s,i="xl/theme/theme1.xml",Bi(e.Themes,t)),n.themes.push(i),Ka(t.wbrels,-1,"theme/theme1.xml",ja.THEME),ct(s,i="xl/styles."+r,function(e,t,r){return(".bin"===t.slice(-4)?Oi:Ti)(e,r)}(e,i,t)),n.styles.push(i),Ka(t.wbrels,-1,"styles."+r,ja.STY),e.vbaraw&&a&&(ct(s,i="xl/vbaProject.bin",e.vbaraw),n.vba.push(i),Ka(t.wbrels,-1,"vbaProject.bin",ja.VBA)),ct(s,i="xl/metadata."+r,(".bin"===i.slice(-4)?zi:Vi)()),n.metadata.push(i),Ka(t.wbrels,-1,"metadata."+r,ja.XLMETA),ct(s,"[Content_Types].xml",Ga(n,t)),ct(s,"_rels/.rels",Ya(t.rels)),ct(s,"xl/_rels/workbook."+r+".rels",Ya(t.wbrels)),delete t.revssf,delete t.ssf,s}(e,t):wf(e,t)}function wf(e,t){Gi=1024,e&&!e.SSF&&(e.SSF=Ye(H)),e&&e.SSF&&(ye(),Ee(e.SSF),t.revssf=Pe(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,Yo?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r="xml",a=qi.indexOf(t.bookType)>-1,n={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};df(t=t||{});var s=lt(),i="",o=0;if(t.cellXfs=[],Zo(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),ct(s,i="docProps/core.xml",an(e.Props,t)),n.coreprops.push(i),Ka(t.rels,2,i,ja.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var c=[],l=0;l0&&(ct(s,i="docProps/custom.xml",fn(e.Custprops)),n.custprops.push(i),Ka(t.rels,4,i,ja.CUST_PROPS));var f=["SheetJ5"];for(t.tcid=0,o=1;o<=e.SheetNames.length;++o){var h={"!id":{}},u=e.Sheets[e.SheetNames[o-1]];if((u||{})["!type"],ct(s,i="xl/worksheets/sheet"+o+"."+r,vc(o-1,t,e,h)),n.sheets.push(i),Ka(t.wbrels,-1,"worksheets/sheet"+o+"."+r,ja.WS[0]),u){var d=u["!comments"],p=!1,m="";if(d&&d.length>0){var g=!1;d.forEach(function(e){e[1].forEach(function(e){1==e.T&&(g=!0)})}),g&&(ct(s,m="xl/threadedComments/threadedComment"+o+"."+r,Yi(d,f,t)),n.threadedcomments.push(m),Ka(h,-1,"../threadedComments/threadedComment"+o+"."+r,ja.TCMNT)),ct(s,m="xl/comments"+o+"."+r,$i(d)),n.comments.push(m),Ka(h,-1,"../comments"+o+"."+r,ja.CMNT),p=!0}u["!legacy"]&&p&&ct(s,"xl/drawings/vmlDrawing"+o+".vml",ji(o,u["!comments"])),delete u["!comments"],delete u["!legacy"]}h["!id"].rId1&&ct(s,Xa(i),Ya(h))}return null!=t.Strings&&t.Strings.length>0&&(ct(s,i="xl/sharedStrings."+r,js(t.Strings,t)),n.strs.push(i),Ka(t.wbrels,-1,"sharedStrings."+r,ja.SST)),ct(s,i="xl/workbook."+r,Uc(e)),n.workbooks.push(i),Ka(t.rels,1,i,ja.WB),ct(s,i="xl/theme/theme1.xml",Bi(e.Themes,t)),n.themes.push(i),Ka(t.wbrels,-1,"theme/theme1.xml",ja.THEME),ct(s,i="xl/styles."+r,Ti(e,t)),n.styles.push(i),Ka(t.wbrels,-1,"styles."+r,ja.STY),e.vbaraw&&a&&(ct(s,i="xl/vbaProject.bin",e.vbaraw),n.vba.push(i),Ka(t.wbrels,-1,"vbaProject.bin",ja.VBA)),ct(s,i="xl/metadata."+r,Vi()),n.metadata.push(i),Ka(t.wbrels,-1,"metadata."+r,ja.XLMETA),f.length>1&&(ct(s,i="xl/persons/person.xml",function(e){var t=[ut,Xt("personList",null,{xmlns:qt,"xmlns:x":tr[0]}).replace(/[\/]>/,">")];return e.forEach(function(e,r){t.push(Xt("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+r).slice(-12)+"}",userId:e,providerId:"None"}))}),t.push(""),t.join("")}(f)),n.people.push(i),Ka(t.wbrels,-1,"persons/person.xml",ja.PEOPLE)),ct(s,"[Content_Types].xml",Ga(n,t)),ct(s,"_rels/.rels",Ya(t.rels)),ct(s,"xl/_rels/workbook.xml.rels",Ya(t.wbrels)),delete t.revssf,delete t.ssf,s}function Tf(e,t){var r="";switch((t||{}).type||"base64"){case"buffer":case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":r=T(e.slice(0,12));break;case"binary":r=e;break;default:throw new Error("Unrecognized type "+(t&&t.type||"undefined"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3),r.charCodeAt(4),r.charCodeAt(5),r.charCodeAt(6),r.charCodeAt(7)]}function Ef(e,t){var r=0;e:for(;r=2&&0===a[3])return Ds.to_workbook(n,r);if(0===a[2]&&(8===a[3]||9===a[3]))return Ds.to_workbook(n,r)}break;case 3:case 131:case 139:case 140:return Os.to_workbook(n,r);case 123:if(92===a[1]&&114===a[2]&&116===a[3])return ni.to_workbook(n,r);break;case 10:case 13:case 32:return function(e,t){var r="",a=Tf(e,t);switch(t.type){case"base64":r=T(e);break;case"binary":r=e;break;case"buffer":r=e.toString("binary");break;case"array":r=$e(e);break;default:throw new Error("Unrecognized type "+t.type)}return 239==a[0]&&187==a[1]&&191==a[2]&&(r=Pt(r)),t.type="binary",Ef(r,t)}(n,r);case 137:if(80===a[1]&&78===a[2]&&71===a[3])throw new Error("PNG Image File is not a spreadsheet")}return Cs.indexOf(a[0])>-1&&a[2]<=12&&a[3]<=31?Os.to_workbook(n,r):yf(e,n,r,s)}function kf(e,t){var r=t||{};return r.type="file",Sf(e,r)}function _f(e,t){switch(t.type){case"base64":case"binary":break;case"buffer":case"array":t.type="";break;case"file":return Ie(t.file,xe.write(e,{type:E?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");default:throw new Error("Unrecognized type "+t.type)}return xe.write(e,t)}function Af(e,t){var r={},a=E?"nodebuffer":"undefined"!=typeof Uint8Array?"array":"string";if(t.compression&&(r.compression="DEFLATE"),t.password)r.type=a;else switch(t.type){case"base64":r.type="base64";break;case"binary":r.type="string";break;case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");case"buffer":case"file":r.type=a;break;default:throw new Error("Unrecognized type "+t.type)}var n=e.FullPaths?xe.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[r.type]||r.type,compression:!!t.compression}):e.generate(r);if("undefined"!=typeof Deno&&"string"==typeof n){if("binary"==t.type||"base64"==t.type)return n;n=new Uint8Array(A(n))}return t.password&&"undefined"!=typeof encrypt_agile?_f(encrypt_agile(n,t.password),t):"file"===t.type?Ie(t.file,n):"string"==t.type?Pt(n):n}function xf(e,t,r){r||(r="");var a=r+e;switch(t.type){case"base64":return w(Lt(a));case"binary":return Lt(a);case"string":return e;case"file":return Ie(t.file,a,"utf8");case"buffer":return E?y(a,"utf8"):"undefined"!=typeof TextEncoder?(new TextEncoder).encode(a):xf(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})}throw new Error("Unrecognized type "+t.type)}function Cf(e,t){switch(t.type){case"string":case"base64":case"binary":for(var r="",a=0;a-1||sn.indexOf(s[i][0])>-1||null!=s[i][1]&&l.push(s[i]);n.length&&xe.utils.cfb_add(t,"/SummaryInformation",On(n,hl,c,Pa)),(a.length||l.length)&&xe.utils.cfb_add(t,"/DocumentSummaryInformation",On(a,ul,o,Da,l.length?l:null,"05d5cdd59c2e1b10939708002b2cf9ae"))}(e,a),8==r.biff&&e.vbaraw&&function(e,t){t.FullPaths.forEach(function(r,a){if(0!=a){var n=r.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");"/"!==n.slice(-1)&&xe.utils.cfb_add(e,n,t.FileIndex[a].content)}})}(a,xe.read(e.vbaraw,{type:"string"==typeof e.vbaraw?"binary":"buffer"})),a}(e,r),r)}(e,r);case"xlsx":case"xlsm":case"xlam":case"xlsb":case"numbers":case"ods":return function(e,t){var r=Ye(t||{});return Af(bf(e,r),r)}(e,r);default:throw new Error("Unrecognized bookType |"+r.bookType+"|")}}function If(e){if(!e.bookType){var t=e.file.slice(e.file.lastIndexOf(".")).toLowerCase();t.match(/^\.[a-z]+$/)&&(e.bookType=t.slice(1)),e.bookType={xls:"biff8",htm:"html",slk:"sylk",socialcalc:"eth",Sh33tJS:"WTF"}[e.bookType]||e.bookType}}function Nf(e,t,r){var a=r||{};return a.type="file",a.file=t,If(a),Rf(e,a)}function Ff(e,t,r){var a=r||{};return a.type="file",a.file=t,If(a),Of(e,a)}function Df(e,t,r,a){var n=r||{};n.type="file",n.file=e,If(n),n.type="buffer";var s=a;return s instanceof Function||(s=r),Ce.writeFile(e,Rf(t,n),s)}function Pf(e,t,r,a,n,s,i,o){var c=Yr(r),l=o.defval,f=o.raw||!Object.prototype.hasOwnProperty.call(o,"raw"),h=!0,u=1===n?[]:{};if(1!==n)if(Object.defineProperty)try{Object.defineProperty(u,"__rowNum__",{value:r,enumerable:!1})}catch(e){u.__rowNum__=r}else u.__rowNum__=r;if(!i||e[r])for(var d=t.s.c;d<=t.e.c;++d){var p=i?e[r][d]:e[a[d]+c];if(void 0!==p&&void 0!==p.t){var m=p.v;switch(p.t){case"z":if(null==m)break;continue;case"e":m=0==m?null:void 0;break;case"s":case"d":case"b":case"n":break;default:throw new Error("unrecognized type "+p.t)}if(null!=s[d]){if(null==m)if("e"==p.t&&null===m)u[s[d]]=null;else if(void 0!==l)u[s[d]]=l;else{if(!f||null!==m)continue;u[s[d]]=null}else u[s[d]]=f&&("n"!==p.t||"n"===p.t&&!1!==o.rawNumbers)?m:ra(p,m,o);null!=m&&(h=!1)}}else{if(void 0===l)continue;null!=s[d]&&(u[s[d]]=l)}}return{row:u,isempty:h}}function Lf(e,t){if(null==e||null==e["!ref"])return[];var r={t:"n",v:0},a=0,n=1,s=[],i=0,o="",c={s:{r:0,c:0},e:{r:0,c:0}},l=t||{},f=null!=l.range?l.range:e["!ref"];switch(1===l.header?a=1:"A"===l.header?a=2:Array.isArray(l.header)?a=3:null==l.header&&(a=0),typeof f){case"string":c=ta(f);break;case"number":(c=ta(e["!ref"])).s.r=f;break;default:c=f}a>0&&(n=0);var h=Yr(c.s.r),u=[],d=[],p=0,m=0,g=Array.isArray(e),v=c.s.r,b=0,w={};g&&!e[v]&&(e[v]=[]);var T=l.skipHidden&&e["!cols"]||[],E=l.skipHidden&&e["!rows"]||[];for(b=c.s.c;b<=c.e.c;++b)if(!(T[b]||{}).hidden)switch(u[b]=Jr(b),r=g?e[v][b]:e[u[b]+h],a){case 1:s[b]=b-c.s.c;break;case 2:s[b]=u[b];break;case 3:s[b]=l.header[b-c.s.c];break;default:if(null==r&&(r={w:"__EMPTY",t:"s"}),o=i=ra(r,null,l),m=w[i]||0){do{o=i+"_"+m++}while(w[o]);w[i]=m,w[o]=1}else w[i]=1;s[b]=o}for(v=c.s.r+n;v<=c.e.r;++v)if(!(E[v]||{}).hidden){var y=Pf(e,c,v,u,a,s,g,l);(!1===y.isempty||(1===a?!1!==l.blankrows:l.blankrows))&&(d[p++]=y.row)}return d.length=p,d}var Mf=/"/g;function Uf(e,t,r,a,n,s,i,o){for(var c=!0,l=[],f="",h=Yr(r),u=t.s.c;u<=t.e.c;++u)if(a[u]){var d=o.dense?(e[r]||[])[u]:e[a[u]+h];if(null==d)f="";else if(null!=d.v){c=!1,f=""+(o.rawNumbers&&"n"==d.t?d.v:ra(d,null,o));for(var p=0,m=0;p!==f.length;++p)if((m=f.charCodeAt(p))===n||m===s||34===m||o.forceQuotes){f='"'+f.replace(Mf,'""')+'"';break}"ID"==f&&(f='"ID"')}else null==d.f||d.F?f="":(c=!1,(f="="+d.f).indexOf(",")>=0&&(f='"'+f.replace(Mf,'""')+'"'));l.push(f)}return!1===o.blankrows&&c?null:l.join(i)}function Bf(e,t){var r=[],a=null==t?{}:t;if(null==e||null==e["!ref"])return"";var n=ta(e["!ref"]),s=void 0!==a.FS?a.FS:",",i=s.charCodeAt(0),o=void 0!==a.RS?a.RS:"\n",c=o.charCodeAt(0),l=new RegExp(("|"==s?"\\|":s)+"+$"),f="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=Jr(p));for(var m=0,g=n.s.r;g<=n.e.r;++g)(d[g]||{}).hidden||null!=(f=Uf(e,n,g,h,i,c,s,a))&&(a.strip&&(f=f.replace(l,"")),(f||!1!==a.blankrows)&&r.push((m++?o:"")+f));return delete a.dense,r.join("")}function Wf(e,t){t||(t={}),t.FS="\t",t.RS="\n";var r=Bf(e,t);if(void 0===d||"string"==t.type)return r;var a=d.utils.encode(1200,r,"str");return String.fromCharCode(255)+String.fromCharCode(254)+a}function Hf(e,t,r){var a,n=r||{},s=+!n.skipHeader,i=e||{},o=0,c=0;if(i&&null!=n.origin)if("number"==typeof n.origin)o=n.origin;else{var l="string"==typeof n.origin?qr(n.origin):n.origin;o=l.r,c=l.c}var f={s:{c:0,r:0},e:{c,r:o+t.length-1+s}};if(i["!ref"]){var h=ta(i["!ref"]);f.e.c=Math.max(f.e.c,h.e.c),f.e.r=Math.max(f.e.r,h.e.r),-1==o&&(o=h.e.r+1,f.e.r=o+t.length-1+s)}else-1==o&&(o=0,f.e.r=t.length-1+s);var u=n.header||[],d=0;t.forEach(function(e,t){Ne(e).forEach(function(r){-1==(d=u.indexOf(r))&&(u[d=u.length]=r);var l=e[r],f="z",h="",p=Zr({c:c+d,r:o+t+s});a=zf(i,p),!l||"object"!=typeof l||l instanceof Date?("number"==typeof l?f="n":"boolean"==typeof l?f="b":"string"==typeof l?f="s":l instanceof Date?(f="d",n.cellDates||(f="n",l=Me(l)),h=n.dateNF||H[14]):null===l&&n.nullError&&(f="e",l=0),a?(a.t=f,a.v=l,delete a.w,delete a.R,h&&(a.z=h)):i[p]=a={t:f,v:l},h&&(a.z=h)):i[p]=l})}),f.e.c=Math.max(f.e.c,c+u.length-1);var p=Yr(o);if(s)for(d=0;d=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(r)>=0){var s=r.match(/(^.*?)(\d+)$/);n=s&&+s[2]||0;var i=s&&s[1]||r;for(++n;n<=65535&&-1!=e.SheetNames.indexOf(r=i+n);++n);}if(Pc(r),e.SheetNames.indexOf(r)>=0)throw new Error("Worksheet with name |"+r+"| already exists!");return e.SheetNames.push(r),e.Sheets[r]=t,r}function Gf(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e}var jf,Xf={encode_col:Jr,encode_row:Yr,encode_cell:Zr,encode_range:ea,decode_col:Kr,decode_row:$r,split_cell:function(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")},decode_cell:qr,decode_range:Qr,format_cell:ra,sheet_add_aoa:na,sheet_add_json:Hf,sheet_add_dom:Ol,aoa_to_sheet:sa,json_to_sheet:function(e,t){return Hf(null,e,t)},table_to_sheet:Rl,table_to_book:function(e,t){return aa(Rl(e,t),t)},sheet_to_csv:Bf,sheet_to_txt:Wf,sheet_to_json:Lf,sheet_to_html:Cl,sheet_to_formulae:function(e){var t,r="",a="";if(null==e||null==e["!ref"])return[];var n,s=ta(e["!ref"]),i="",o=[],c=[],l=Array.isArray(e);for(n=s.s.c;n<=s.e.c;++n)o[n]=Jr(n);for(var f=s.s.r;f<=s.e.r;++f)for(i=Yr(f),n=s.s.c;n<=s.e.c;++n)if(r=o[n]+i,a="",void 0!==(t=l?(e[f]||[])[n]:e[r])){if(null!=t.F){if(r=t.F,!t.f)continue;a=t.f,-1==r.indexOf(":")&&(r=r+":"+r)}if(null!=t.f)a=t.f;else{if("z"==t.t)continue;if("n"==t.t&&null!=t.v)a=""+t.v;else if("b"==t.t)a=t.v?"TRUE":"FALSE";else if(void 0!==t.w)a="'"+t.w;else{if(void 0===t.v)continue;a="s"==t.t?"'"+t.v:""+t.v}}c[c.length]=r+"="+a}return c},sheet_to_row_object_array:Lf,sheet_get_cell:zf,book_new:function(){return{SheetNames:[],Sheets:{}}},book_append_sheet:Vf,book_set_sheet_visibility:function(e,t,r){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=function(e,t){if("number"==typeof t){if(t>=0&&e.SheetNames.length>t)return t;throw new Error("Cannot find sheet # "+t)}if("string"==typeof t){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error("Cannot find sheet name |"+t+"|")}throw new Error("Cannot find sheet |"+t+"|")}(e,t);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+r)}e.Workbook.Sheets[a].Hidden=r},cell_set_number_format:function(e,t){return e.z=t,e},cell_set_hyperlink:Gf,cell_set_internal_link:function(e,t,r){return Gf(e,"#"+t,r)},cell_add_comment:function(e,t,r){e.c||(e.c=[]),e.c.push({t,a:r||"SheetJS"})},sheet_set_array_formula:function(e,t,r,a){for(var n="string"!=typeof t?t:ta(t),s="string"==typeof t?t:ea(t),i=n.s.r;i<=n.e.r;++i)for(var o=n.s.c;o<=n.e.c;++o){var c=zf(e,i,o);c.t="n",c.F=s,delete c.v,i==n.s.r&&o==n.s.c&&(c.f=r,a&&(c.D=!0))}return e},consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}},$f={to_json:function(e,t){var r=jf({objectMode:!0});if(null==e||null==e["!ref"])return r.push(null),r;var a={t:"n",v:0},n=0,s=1,i=[],o=0,c="",l={s:{r:0,c:0},e:{r:0,c:0}},f=t||{},h=null!=f.range?f.range:e["!ref"];switch(1===f.header?n=1:"A"===f.header?n=2:Array.isArray(f.header)&&(n=3),typeof h){case"string":l=ta(h);break;case"number":(l=ta(e["!ref"])).s.r=h;break;default:l=h}n>0&&(s=0);var u=Yr(l.s.r),d=[],p=0,m=Array.isArray(e),g=l.s.r,v=0,b={};m&&!e[g]&&(e[g]=[]);var w=f.skipHidden&&e["!cols"]||[],T=f.skipHidden&&e["!rows"]||[];for(v=l.s.c;v<=l.e.c;++v)if(!(w[v]||{}).hidden)switch(d[v]=Jr(v),a=m?e[g][v]:e[d[v]+u],n){case 1:i[v]=v-l.s.c;break;case 2:i[v]=d[v];break;case 3:i[v]=f.header[v-l.s.c];break;default:if(null==a&&(a={w:"__EMPTY",t:"s"}),c=o=ra(a,null,f),p=b[o]||0){do{c=o+"_"+p++}while(b[c]);b[o]=p,b[c]=1}else b[o]=1;i[v]=c}return g=l.s.r+s,r._read=function(){for(;g<=l.e.r;)if(!(T[g-1]||{}).hidden){var t=Pf(e,l,g,d,n,i,m,f);if(++g,!1===t.isempty||(1===n?!1!==f.blankrows:f.blankrows))return void r.push(t.row)}return r.push(null)},r},to_html:function(e,t){var r=jf(),a=t||{},n=null!=a.header?a.header:_l,s=null!=a.footer?a.footer:Al;r.push(n);var i=Qr(e["!ref"]);a.dense=Array.isArray(e),r.push(xl(0,0,a));var o=i.s.r,c=!1;return r._read=function(){if(o>i.e.r)return c||(c=!0,r.push(""+s)),r.push(null);for(;o<=i.e.r;){r.push(kl(e,i,o,a)),++o;break}},r},to_csv:function(e,t){var r=jf(),a=null==t?{}:t;if(null==e||null==e["!ref"])return r.push(null),r;var n=ta(e["!ref"]),s=void 0!==a.FS?a.FS:",",i=s.charCodeAt(0),o=void 0!==a.RS?a.RS:"\n",c=o.charCodeAt(0),l=new RegExp(("|"==s?"\\|":s)+"+$"),f="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=Jr(p));var m=n.s.r,g=!1,v=0;return r._read=function(){if(!g)return g=!0,r.push("\ufeff");for(;m<=n.e.r;)if(++m,!(d[m-1]||{}).hidden&&null!=(f=Uf(e,n,m-1,h,i,c,s,a))&&(a.strip&&(f=f.replace(l,"")),f||!1!==a.blankrows))return r.push((v++?o:"")+f);return r.push(null)},r},set_readable:function(e){jf=e}};const Yf=a;r.d(t,["version",0,Yf])}}]); //# sourceMappingURL=async-export.js.map \ No newline at end of file diff --git a/dash/dash_table/async-export.js.map b/dash/dash_table/async-export.js.map index 93d1da5e9d..96347d96b9 100644 --- a/dash/dash_table/async-export.js.map +++ b/dash/dash_table/async-export.js.map @@ -1 +1 @@ -{"version":3,"file":"async-export.js","mappings":"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hM,EAjEvB,IAkEA,IAAuBgM,EAAA,cAAAhM,EAlEvB,IAmEA,IAAuBgM,EAAA,eAAAhM,EAnEvB,IAoEA,IAAuBgM,EAAA,YAAAhM,EAAA62B,IACvB,IAAuB7qB,EAAA,YAAAhM,EAAA62B,IACvB,IAAuB7qB,EAAA,YAAAhM,EAAA62B,IACvB,IAAuB7qB,EAAA,YAAAhM,EAhEvB,IAiEA,IAAuBgM,EAAA,cAAAhM,EAAA+2B,IACvB,IAAuB/qB,EAAA,cAAAhM,EAAA62B,IACvB,OAEA,YAA6B7qB,EAAA,SAAAhM,EAnF7B,IAoFA,YAA6BgM,EAAA,WAAAhM,EApF7B,IAqFA,eAIAo3B,GAAA,CACA,OACA,OACA,KACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAIAC,GAAA,CACA,KACA,QACA,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,YAGA,SAAAC,GAAA7R,GAA6E,OAAAA,EAAAhnB,IAAA,SAAAzC,GAA6B,OAAAA,GAAA,OAAAA,GAAA,UAAAA,EAAA,EAAwC,CAIlJ,IA4FAu7B,GAAA3R,GA5FA0R,GAAA,CAEA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,SACA,EACA,EA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AA0Y,GAAA7tC,EAAAm1B,EAAAuY,EAAAzmC,GAAA,KAEA,CAGA,IAAA+uD,GAAAD,GAEAE,GAAAF,GAMAG,GAAAH,GAEAI,GAAAJ,GACAlE,GAAA,CACA,SACA,SACA,eACA,cACA,SACA,YACA,gBACA,eACA,UACA,kBACA,UACA,gBACA,iBACA,iBACA,iBACA,UACA,WACA,SACA,oBACA,sBACA,oBACA,uBACA,UACA,aACA,sBACA,eACA,aACA,mBACA,iBACA,eACA,aACA,iBACA,kBACA,kBACA,UACA,iBACA,WACA,mBACA,eACA,WACA,YACA,qBACA,kBACA,UACA,SACA,UACA,WACA,WACA,mBACA,iBACA,YACA,gBACA,eACA,iBACA,kBACA,kBACA,kBACA,sBACA,sBACA,kBACA,iBACA,oBACA,kBACA,iBACA,qBACA,iBACA,eACA,iBACA,eACA,mBACA,UACA,YACA,iBACA,eACA,kBACA,sBACA,cACA,gBACA,aACA,WACA,mBACA,iBACA,iBACA,WACA,aACA,UACA,YACA,eACA,aACA,kBACA,mBACA,oBACA,qBACA,wBACA,wBACA,eACA,oBACA,oBACA,oBACA,oBACA,mBACA,aACA,kBACA,oBACA,YACA,YACA,YACA,YACA,cACA,cACA,YACA,UACA,kBACA,qBACA,cACA,iBACA,mBACA,mBACA,iBACA,kBACA,kBACA,sBACA,gBACA,qBACA,kBACA,mBACA,mBACA,gBACA,YACA,gBACA,cACA,oBACA,cACA,iBACA,iBACA,oBACA,gBACA,iBACA,cACA,WACA,kBACA,cACA,gBACA,qBACA,kBACA,wBACA,oBACA,mBACA,qBACA,sBACA,kBACA,yBACA,aACA,kBACA,eACA,eACA,mBACA,mBACA,qBACA,mBACA,sBACA,yBACA,iBACA,gBACA,gBACA,oBACA,kBACA,mBACA,sBACA,wBACA,sBACA,qBACA,cACA,gBACA,gBACA,iBACA,kBACA,cACA,aACA,kBACA,cACA,wBACA,sBACA,YACA,iBACA,gBACA,kBACA,uBACA,wBACA,kBACA,kBACA,uBACA,mBACA,iBACA,mBACA,oBACA,iBACA,kBACA,kBACA,qBACA,gBACA,kBACA,mBACA,iBACA,iBACA,oBACA,mBACA,sBACA,oBACA,yBACA,eACA,WACA,oBACA,sBACA,iBACA,iBACA,mBACA,qBACA,kBACA,qBACA,yBACA,gBACA,wBACA,eACA,kBACA,qBACA,eACA,mBACA,oBACA,oBACA,uBACA,qBACA,mBACA,kBACA,gBACA,sBACA,wBACA,qBACA,gBACA,iBACA,wBACA,iBACA,mBACA,qBACA,sBACA,mBACA,oBACA,oBACA,yBACA,uBACA,yBACA,6BACA,kBACA,iBACA,uBACA,0BACA,mBACA,mBACA,oBACA,kBACA,sBACA,kBACA,oBACA,sBACA,+BACA,mBACA,qBACA,iBACA,qBACA,gBACA,uBACA,kBACA,4BACA,sBACA,yBACA,sBACA,sBACA,sBACA,yBACA,iBACA,qBACA,mBACA,uBACA,iBACA,mBACA,sBACA,oBACA,oBACA,sBACA,sBACA,oBACA,qBACA,2BACA,8BACA,qBACA,mBACA,gBACA,kBACA,iBACA,qBACA,sBACA,sBACA,oBACA,sBACA,oBACA,oBACA,yBACA,kBACA,uBACA,2BACA,uBACA,sBACA,uBACA,kBACA,qBACA,sBACA,mBACA,mBACA,wBACA,0BACA,0BACA,uBACA,yBACA,yBACA,oBACA,iBACA,gBACA,kBACA,uBACA,oBACA,4BACA,yBACA,aACA,sBACA,oBACA,sBACA,oBACA,oBACA,uBACA,uBACA,wBACA,mBACA,wBACA,2BACA,kBACA,eACA,eACA,iBACA,iBACA,mBACA,mBACA,kBACA,yBACA,6BACA,uBACA,eACA,qBACA,qBACA,mBACA,gBACA,uBACA,uBACA,qBACA,sBACA,wBACA,uBACA,kBACA,oBACA,eACA,gBACA,kBACA,kBACA,uBACA,wBACA,qBACA,gBACA,aACA,aACA,oBACA,uBACA,qBACA,eACA,oBACA,oBACA,kBACA,qBACA,qBACA,wBACA,0BACA,iBACA,kBACA,kBACA,wBACA,mBACA,oBACA,yBAEAJ,GAAA,CACA,UACA,OACA,SACA,YACA,QACA,YACA,QACA,QACA,QACA,WACA,QACA,SACA,WACA,YACA,WACA,SACA,SACA,SACA,UACA,QACA,UACA,SACA,QACA,WACA,SACA,SACA,UACA,WACA,YACA,WACA,UACA,SACA,SACA,WACA,UACA,WACA,SACA,QACA,SACA,SACA,YACA,UACA,cACA,UACA,UACA,YACA,SACA,UACA,UACA,YACA,WACA,YACA,YACA,UACA,UACA,YACA,QACA,QACA,UACA,SACA,UACA,UACA,SACA,UACA,WACA,UACA,UACA,SACA,WACA,UACA,aACA,UACA,YACA,YACA,SACA,WACA,UACA,aACA,YACA,YACA,YACA,cACA,YACA,eACA,WACA,UACA,UACA,UACA,cACA,YACA,WACA,aACA,YACA,eACA,iBACA,eACA,YACA,WACA,UACA,UACA,aACA,cACA,cACA,YACA,YACA,YACA,kBACA,eACA,gBACA,UACA,WACA,WACA,YACA,YACA,aACA,WACA,YACA,YACA,WACA,cACA,iBACA,WACA,YACA,gBACA,WACA,WACA,YACA,aACA,eACA,cACA,QACA,QACA,YACA,aACA,YACA,cACA,YACA,eACA,aACA,WACA,gBACA,gBACA,UACA,UACA,UACA,cACA,cACA,cACA,eACA,eACA,WACA,cACA,eACA,kBACA,qBACA,oBACA,qBACA,eACA,kBACA,qBACA,qBACA,iBACA,YACA,cACA,eACA,YACA,YACA,WACA,WACA,aACA,iBACA,UACA,YACA,YACA,WACA,eACA,cACA,WACA,cACA,gBACA,cACA,WACA,cACA,cACA,WACA,eACA,oBACA,iBACA,mBACA,eACA,gBACA,eACA,WACA,aACA,WACA,cACA,YACA,YACA,gBACA,cACA,iBACA,iBACA,eACA,YACA,cACA,eACA,YACA,aACA,WACA,WACA,cACA,gBACA,UACA,WACA,WACA,cACA,cACA,YACA,UACA,WACA,cACA,aACA,eACA,aACA,iBACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,oBACA,eACA,iBACA,kBACA,oBACA,sBACA,oBACA,eACA,WACA,YACA,iBACA,SACA,YACA,aACA,gBACA,kBACA,qBACA,WACA,oBACA,eACA,kBACA,eACA,qBACA,iBACA,gBACA,mBACA,mBACA,kBACA,iBACA,kBACA,mBACA,aACA,eACA,cACA,cACA,gBACA,cACA,aACA,aACA,iBACA,gBACA,WACA,gBACA,YACA,WACA,aACA,gBACA,YACA,gBACA,eACA,cACA,kBACA,kBACA,aACA,mBACA,eACA,gBACA,cACA,eACA,kBACA,UACA,aACA,cACA,YACA,cACA,cACA,eACA,eACA,cACA,aACA,YACA,eACA,YACA,gBACA,cACA,UACA,YACA,YACA,YACA,WACA,YACA,cACA,cACA,YACA,WACA,WACA,YACA,YACA,YACA,eACA,iBACA,kBACA,WACA,eACA,WACA,oBACA,gBACA,kBACA,YACA,qBACA,sBACA,sBACA,qBACA,cACA,cACA,eACA,YACA,cACA,iBACA,mBACA,wBACA,YACA,cACA,iBACA,mBACA,YACA,kBACA,kBACA,eACA,mBACA,gBACA,eACA,eACA,WACA,WACA,cACA,YACA,aACA,WACA,eACA,oBACA,gBACA,sBACA,mBACA,oBACA,uBACA,kBACA,oBACA,kBACA,eACA,UACA,gBACA,iBACA,yBACA,uBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,YACA,YACA,cACA,YACA,aACA,WACA,aACA,cACA,YACA,YACA,YACA,iBACA,kBACA,gBACA,aACA,cACA,YACA,gBACA,gBACA,iBACA,aACA,eACA,YACA,aACA,aACA,YACA,aACA,UACA,WACA,cACA,cACA,cACA,cACA,WACA,WACA,eACA,eACA,cACA,eACA,WACA,gBACA,gBACA,cACA,iBACA,iBACA,YACA,YACA,eACA,eACA,cACA,aACA,eACA,cACA,YACA,cACA,eACA,gBACA,eACA,iBACA,cACA,cACA,cACA,eACA,gBACA,gBACA,gBACA,gBACA,gBACA,kBACA,cACA,gBACA,eACA,cACA,cACA,cACA,eACA,cACA,kBACA,UACA,kBACA,UACA,iBACA,oBACA,cACA,mBACA,cACA,eACA,aACA,gBACA,kBAEAD,GAAA,CACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA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CA,oBACA,iBACA,0BACA,aACA,eACA,gBACA,oBACA,eACA,wBACA,qBACA,kBACA,qBACA,kBACA,kBACA,sBACA,yBACA,wBACA,2BACA,4BACA,wBACA,QAAAnwD,IAAA,EACM,MAGN,wBAAAmwD,EAAA,IACA,gBACA,eACA,gBACA,eACA,eACA,aACA,mBACA,QAAAnwD,IAAA,EACM,MAGN,wBAAAmwD,EAAA,IACA,uBACA,0BACA,oBACA,yBACA,QAAAnwD,IAAA,EACM,MAGN,wBAAAmwD,EAAA,IACA,SACA,qBACA,wBACA,kBACA,gBACA,yBACA,qBACA,gBACA,iBACA,iBACA,kBACA,kBACA,eACA,aACA,iBACA,qBACA,yBACA,yBACA,aACA,aACA,cACA,wBACA,2BACA,qBACA,gBACA,iBACA,UACA,YACA,qBACA,sBACA,+BACA,QAAAnwD,IAAA,EACM,MAEN,qBACA,OAAAmwD,EAAA,IACA,YAEA,WACA,UACA,UACA,WACA,iBACA,YACA,oBACA,YACA,iBACA,mBACA,iBACA,mBACA,iBACA,gBACA,gBACA,gBACA,gBACA,eACA,aACA,aACA,aAEA,0BACA,QAAAnwD,IAAA,EACM,MAEN,cACA,4BACA,OAAAmwD,EAAA,IACA,YACA,WACA,UACA,UACA,WACA,iBACA,YACA,oBACA,YACA,iBACA,mBACA,iBACA,oBACA,mBACA,iBACA,gBACA,gBACA,gBACA,gBACA,eACA,aACA,aACA,mBACA,QAAAnwD,IAAA,EACM,MAGN,6CAAAmwD,EAAA,IACA,UACA,YACA,YACA,YACA,YACA,cACA,eACA,gBACA,kBACA,oBAEA,aACA,cACA,kBACA,eACA,UACA,gBACA,cAEA,gBACA,QAAAnwD,IAAA,EACM,MAGN,sBAEA,QAAAA,IAAA,EAEA,GAAAA,GAAA,MAEA,GAAAmwD,EAAA,GAAAt8D,MAAA,kBACA,IAAAuN,EAAAA,EAAAhY,OAAA,gCAAA+mE,EAAA,OAAA/uD,EAAA3X,KAAA,KACA,gCAAA2X,EAAAA,EAAAhY,OAAA,OACA,UAAA+mE,EAAA,GAAApmE,OAAA,SACA,MAA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zB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyB,EACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GAC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MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyB,EACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,OAAyByJ,EAAA,KAIzBi7D,GAAA,CAEA,GAAyB19D,EAAAknD,IACzB,IAAyBlnD,EAAA05B,IACzB,IAAyB15B,EAAA45B,IACzB,IAAyB55B,EAAA45B,IACzB,IAAyB55B,EAAA63B,IACzB,IAAyB73B,EAAA63B,IACzB,IAAyB73B,EAAA2sB,IACzB,IAAyB3sB,EAAA63B,IACzB,IAAyB73B,EAAA63B,IACzB,IAAyB73B,EAAA45B,IACzB,IAAyB55B,EAAAg+B,IACzB,IAAyBh+B,EAAAg+B,IACzB,IAAyBh+B,EAAAu/B,IACzB,IAAyBv/B,EAAA6+B,IACzB,IAAyB7+B,EAAA63B,IACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB73B,EAtjZzB,SAAAgF,EAAApT,EAAA6G,GAEA,OAZA,SAAAuM,EAAApT,EAAA6G,GACA,KAAAA,EAAAovB,KAAA,IACA,IAAA5hB,EAAAjB,EAAAG,WAAA,GAAAsjB,EAAAzjB,EAAAG,WAAA,GACAD,EAAAF,EAAAG,WAAA,GAAAsgE,EAAAzgE,EAAAG,WAAA,GACAugE,EAAA5qC,GAAA91B,EAAA,EAAAvM,GAEA,OADAA,EAAAovB,KAAA,GAAA7iB,EAAAG,WAAA,GACA,EAAUpH,EAAAkI,EAAAzQ,EAAAizB,GAAYi9C,EAAAD,EAAAvgE,EALtB,CAMA,CAKAygE,CAAA3gE,EAAApT,EAAA6G,EACA,GAojZA,IAAyB,EACzB,IAAyBuH,EAAA63B,IACzB,IAAyB73B,EAAAi+B,IACzB,IAAyBj+B,EAAA2sB,IACzB,IAAyB3sB,EAAA2sB,IACzB,IAAyB3sB,EAAA2sB,IACzB,IAAyB3sB,EAAA2sB,IACzB,IAAyB3sB,EAAA63B,IACzB,IAAyB73B,EAAA63B,IACzB,IAAyB73B,EAn3TzB,SAAAgF,EAAApT,EAAA6G,GACA,IAAAhH,EAAA,CAAYggC,KAAAh5B,EAAAovB,MAAA,EAAA7iB,EAAAG,WAAA,MAGZ,OAFA1T,EAAAggC,KARA,SAAAzsB,EAAApT,EAAA8zB,GACA,IAAAj0B,EAAAi0B,GAAA,GAAmBj0B,EAAAm0E,KAAA5gE,EAAAG,WAAA,GAA6BH,EAAA7E,GAAA,EAChD,IAAA1O,EAAAm0E,KAAAn0E,EAAAo0E,KA5HA,SAAA7gE,GACA,IAAAvT,EAAA,GACA46C,EAAA56C,EAAAq0E,sBAAAr0B,GAAAzsC,EAAA,GACA,MAAAqnC,EAAAqF,OAAA,GAAArF,EAAAsF,MAAA,kCAAAtF,EAAAqF,MAAA,MAAArF,EAAAsF,MAIA,OAHAlgD,EAAA8gD,KAAAvtC,EAAAG,WAAA,IACA1T,EAAAs0E,kBAAA/gE,EAAAG,WAAA,IACA1T,EAAAu0E,sBAAAhhE,EAAAG,WAAA,IACA1T,CACA,CAoHAw0E,CAAAjhE,GACAvT,EAAAo0E,KAzIA,SAAA7gE,EAAApT,GACA,IAAAH,EAAA,GACA46C,EAAA56C,EAAAq0E,sBAAAr0B,GAAAzsC,EAAA,GACA,GADoEpT,GAAA,EACpE,GAAAy6C,EAAAsF,MAAA,UAAAj8C,MAAA,oCAAA22C,EAAAsF,OACA,GAAAtF,EAAAqF,MAAA,GAAArF,EAAAqF,MAAA,YAAAh8C,MAAA,oCAAA22C,EAAAqF,OACAjgD,EAAAsgD,MAAA/sC,EAAAG,WAAA,GAA+BvT,GAAA,EAC/B,IAAAwT,EAAAJ,EAAAG,WAAA,GAGA,OAH8BvT,GAAA,EAC9BH,EAAAy0E,iBAAAp0B,GAAA9sC,EAAAI,GAAwDxT,GAAAwT,EACxD3T,EAAA00E,mBAAA7zB,GAAAttC,EAAApT,GACAH,CACA,CA+HA20E,CAAAphE,EAAApT,EAEA,CAGAy0E,CAAArhE,EAAApT,EAAA,EAAAH,GAjBA,SAAAuT,EAAApT,EAAA6G,EAAAM,GACA,IAXA+6C,EACAwyB,EAAAC,EAUA90E,EAAA,CAAYspB,IAAA6e,GAAA50B,GAAAwhE,kBAAA5sC,GAAA50B,IACZvM,EAAAq7C,WAAAriD,EAAAg1E,SAAAvzB,GAAAz6C,EAAAq7C,WACA/6C,EAAAk5C,MAAAxgD,EAAA+0E,oBAAA/0E,EAAAg1E,SACA1tE,EAAAk5C,QAAAl5C,EAAAykE,QAdA1pB,EAcAr7C,EAAAq7C,SAbAwyB,EAAA,EAAAC,EAAAjzB,GAAAQ,GACA,SAAA+xB,GACA,IAAA9lC,EAlBA,SAAA+T,EAAA+xB,EAAAS,EAAAC,EAAAxmC,GAIA,IAAAuU,EAAAoyB,EACA,IAHA3mC,IAAAA,EAAA8lC,GACAU,IAAAA,EAAAjzB,GAeA,KAbAgB,EAAA,EAAgBA,GAAAuxB,EAAAj0E,SAAsB0iD,EACtCoyB,EAAAb,EAAAvxB,GAEAoyB,EAAA,MADAA,GAAAH,EAAAD,KACA,EAAAI,GAAA,GACA3mC,EAAAuU,GAAAoyB,IACAJ,EAEA,OAAAvmC,EAAAumC,EAAAC,EACA,CAKAI,CAAA,EAAAd,EAAAS,EAAAC,GAEA,OADAD,EAAAvmC,EAAA,GACAA,EAAA,EACA,GAUA,CAYA6mC,CAAA5hE,EAAAvM,EAAAovB,KAAApvB,EAAAhH,GACAA,CACA,GA+2TA,IAAyBuO,EA/8ZzB,SAAAgF,EAAApT,EAAA6G,GACA,IAAAhH,EAAA,CACAo1E,SAAA7hE,EAAAG,WAAA,GACA2hE,GAAA9hE,EAAAG,WAAA,IAEA,OAAA1M,GAAAA,EAAAovB,MAAA,GACA,aACA,cAAA7iB,EAAA7E,GAAA,EAA+B,MAC/B,QAAA6E,EAAA7E,GAAA,GAGA,OADA1O,EAAAsX,KAAAkxB,GAAAj1B,EAAA,EAAAvM,GACAhH,CACA,GAo8ZA,IAAyBuO,EAAA45B,IACzB,IAAyB,EACzB,IAAyB55B,EA5/ZzB,SAAAgF,GAIA,OAAU+hE,IAAA,CAHV/hE,EAAAG,WAAA,GAAAH,EAAAG,WAAA,IAGU6hE,IAAA,CAHVhiE,EAAAG,WAAA,GAAAH,EAAAG,WAAA,IAGU4sC,MAFV/sC,EAAAG,WAAA,GAEU8hE,OAFVjiE,EAAAG,WAAA,GAGA+hE,SAHAliE,EAAAG,WAAA,GAGAgiE,SAFAniE,EAAAG,WAAA,GAEAiiE,SAFApiE,EAAAG,WAAA,GAGA,GAu/ZA,IAAyBnF,EAAA63B,IACzB,IAAyB73B,EAx9ZzB,WACA,GAw9ZA,IAAyBA,EAAA45B,IACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB55B,EAAA45B,IACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB55B,EAhpazB,SAAAgF,EAAApT,EAAA6G,GACA,GAAAA,EAAAlE,IAAkC,OAAlByQ,EAAA7E,GAAAvO,EAAkB,GAClC,IAAAuO,EAAA6E,EAAA7E,EAEAknE,EAAAvsC,GAAA91B,EAAA,EAAAvM,GAEA,OADAuM,EAAAG,WAAAvT,EAAAuO,EAAA6E,EAAA7E,GACAknE,CACA,GA0oaA,IAAyBrnE,EA7jZzB,SAAAgF,EAAApT,EAAA6G,GACA,GAAAA,GAAAA,EAAAovB,KAAA,SAuBA,SAAA7iB,EAAApT,EAAA6G,GACAuM,EAAA7E,GAAA,EACA,IAAAk8B,EAAAr3B,EAAAG,WAAA,GACAm3B,EAAAt3B,EAAAG,WAAA,GACAo2C,EAAAv2C,EAAAG,WAAA,GACAH,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACAvO,GAAA,GACA,IAAA01E,EAAA,GAEA,OADAA,EAAA7+D,MAAAm3B,GAAAvD,IAAA5V,IAAAzhB,EAAApT,EAAA6G,IACA,CAAU0pE,IAAA,CAAA7lC,EAAAD,EAAAkf,GAAAva,GAAAsmC,EACV,CA1CAC,CAAAviE,EAAApT,EAAA6G,GACA,IAAA0pE,EAAA/lC,GAAAp3B,GACAsiE,EA7pBA,SAAAtiE,EAAApT,GAGA,IAFA,IAAAyT,EAAAL,EAAA7E,EAAAvO,EACA01E,EAAA,GACAtiE,EAAA7E,EAAAkF,GAAA,CACA,IAAA27B,EAAAh8B,EAAAG,WAAA,GACAH,EAAA7E,GAAA,EACA,IACAmnE,EAAA7+D,KAAA+zB,GAAAwE,GAAAh8B,EAAAK,EAAAL,EAAA7E,GACA,CAAI,MAAA9L,GAAyB,OAAd2Q,EAAA7E,EAAAkF,EAAciiE,CAAA,CAC7B,CAEA,OADAtiE,EAAA7E,GAAAkF,IAAAL,EAAA7E,EAAAkF,GACAiiE,CACA,CAipBAE,CAAAxiE,EAAApT,EAAA,GAAAuwE,EAAA,IACA,OAAUA,IAAAA,EAAAnhC,GAAAsmC,EACV,GAyjZA,IAAyB,EACzB,IAAyBtnE,EAAA63B,IACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB73B,EAAA63B,IACzB,KAAyB73B,EAAAkgC,IACzB,KAAyBlgC,EAzxZzB,SAAAgF,GACAA,EAAA7E,GAAA,EACA,IAAApH,EAAA,CAAAiM,EAAAG,WAAA,GAAAH,EAAAG,WAAA,IAGA,GAFA,IAAApM,EAAA,IAAAA,EAAA,KACA,IAAAA,EAAA,IAAAA,EAAA,KACAA,EAAA,MAAAA,EAAA,eAAArD,MAAA,gBAAAqD,EAAA9G,KAAA,MACA,OAAA8G,CACA,GAmxZA,KAAyBiH,EAroazB,SAAAgF,EAAApT,EAAA6G,GACA,IAAAyM,EAAAzM,GAAA,GAAAA,EAAAovB,MAAA,GAAAj2B,EAAAoT,EAAAG,WAAA,IAAAH,EAAA7E,GAAAvO,EAAA,GACA,OAAUqvE,QAAA,GAAA/7D,EAAAg8D,OAAA,GAAAh8D,EAAAi8D,OAAA,IAAAj8D,EACV,GAmoaA,KAAyBlF,EAAA45B,IACzB,KAAyB55B,EAAA63B,IACzB,KAAyB73B,EAAA63B,IACzB,KAAyB73B,EAnoazB,SAAAgF,EAAApT,EAAA6G,GACA,IAAA+tB,EAAAxhB,EAAAG,WAAA,GACA+iC,EAAA,EAAAljC,EAAAG,WAAA,GACA1E,EAAAuE,EAAAG,WAAA,GACA,OAAA1E,GACA,OAAAA,EAAA,YAA4B,MAC5B,OAAAA,EAAA,aAA6B,MAC7B,OAAAA,EAAA,aAA6B,MAC7B,OAAAA,EAAA,YAEA,IAAAsI,EAAAkxB,GAAAj1B,EAAA,EAAAvM,GAEA,OADA,IAAAsQ,EAAAnX,SAAAmX,EAAA,UACA,CAAUyd,IAAAA,EAAAwW,GAAAkL,EAAAznC,GAAAA,EAAAsI,KAAAA,EACV,GAunaA,KAAyB,EACzB,KAAyB/I,EA/8YzB,SAAAgF,GACA,IAAAxO,EAAA/E,EAAA,MAGA,OAFA+E,EAAAwO,EAAAG,WAAA,GAAyB1T,EAAA,GAAAo8B,GAAAr3B,IAAAA,EACzBA,EAAAwO,EAAAG,WAAA,GAAyB1T,EAAA,GAAAo8B,GAAAr3B,IAAAA,EACzB/E,CACA,GA28YA,KAAyBuO,EAAA45B,IACzB,KAAyB,EACzB,KAAyB55B,EA57YzB,SAAAgF,GAGA,IAFA,IAAAyiE,EAAAziE,EAAAG,WAAA,GACA1T,EAAA,GACAg2E,KAAA,GAAAh2E,EAAAgX,KAAA+yB,GAAAx2B,IACA,OAAAvT,CACA,GAw7YA,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyBuO,EAAA45B,IACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB55B,EAAAygC,IACzB,KAAyBzgC,EAv5YzB,SAAAgF,EAAApT,GACA,IAAAH,EAAA,GACA,OAAAG,EAAA,KACAoT,EAAA7E,GAAA,GACA1O,EAAAgW,OAAAklB,GAAA3nB,GACAvT,EAAAw3D,OAAAt8B,GAAA3nB,GACAA,EAAA7E,GAAA,GAJA1O,CAMA,GAg5YA,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyBuO,EAx5ZzB,SAAAgF,EAAApT,GAIA,IAHA,IAAAitB,EAAA7Z,EAAA7E,EAAAvO,EAAA,EACA81E,EAAA1iE,EAAAG,WAAA,GAAAsjB,EAAAzjB,EAAAG,WAAA,GACAwiE,EAAA,GACA3iE,EAAA7E,EAAA0e,GAAA8oD,EAAAl/D,KAAAozB,GAAA72B,IACA,GAAAA,EAAA7E,IAAA0e,EAAA,UAAAnpB,MAAA,oBACA,IAAAkyE,EAAA5iE,EAAAG,WAAA,GACA,GAAAwiE,EAAA/1E,QAAAg2E,EAAAn/C,EAAA,YAAA/yB,MAAA,yBACA,OAASqI,EAAA2pE,EAAAlyE,EAAAizB,EAAAzkB,EAAA4jE,EAAAnG,MAAAkG,EACT,GAg5ZA,KAAyB3nE,EA94ZzB,SAAAgF,EAAApT,GAIA,IAHA,IAAAitB,EAAA7Z,EAAA7E,EAAAvO,EAAA,EACA81E,EAAA1iE,EAAAG,WAAA,GAAAsjB,EAAAzjB,EAAAG,WAAA,GACA0iE,EAAA,GACA7iE,EAAA7E,EAAA0e,GAAAgpD,EAAAp/D,KAAAzD,EAAAG,WAAA,IACA,GAAAH,EAAA7E,IAAA0e,EAAA,UAAAnpB,MAAA,uBACA,IAAAkyE,EAAA5iE,EAAAG,WAAA,GACA,GAAA0iE,EAAAj2E,QAAAg2E,EAAAn/C,EAAA,YAAA/yB,MAAA,4BACA,OAASqI,EAAA2pE,EAAAlyE,EAAAizB,EAAAzkB,EAAA4jE,EAAAlsC,KAAAmsC,EACT,GAs4ZA,KAAyB7nE,EAAA05B,IACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB15B,EAAA63B,IACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB73B,EAAA45B,IACzB,KAAyB,EACzB,KAAyB55B,EAAA63B,IACzB,KAAyB,EACzB,KAAyB73B,EA/2ZzB,SAAAgF,EAAApT,EAAA6G,GACA,IAAAhH,EAAA,GAKA,OAJAA,EAAAw5B,KAAAjmB,EAAAG,WAAA,GAA8B1T,EAAA03B,SAAAnkB,EAAAG,WAAA,GAAiC1T,EAAAyT,MAAAF,EAAAG,WAAA,GAC/D1T,EAAAq2E,OAAAr2E,EAAAyT,OAAA,IAEAzT,EAAAD,KAjDA,SAAAwT,EAAApT,EAAAisC,EAAAplC,GACA,IAAAhH,EAAA,GACA+e,EAAAxL,EAAAG,WAAA,GAAAuK,EAAA1K,EAAAG,WAAA,GACA3P,EAAAwP,EAAAG,WAAA,GAAA3O,EAAAwO,EAAAG,WAAA,GAGA,OAFA1T,EAAA4nD,YAAAvrB,GAAAt4B,GAAA,IAEAiD,EAAA0nC,YACA1uC,EAAAs2E,IAAA,EAAAv3D,EACA/e,EAAAu2E,MAAAx3D,GAAA,IACA/e,EAAAw2E,KAAAz3D,GAAA,IACA/e,EAAAy2E,UAAA13D,GAAA,IACA/e,EAAA02E,KAAA33D,GAAA,MACA/e,EAAA22E,QAAA53D,GAAA,MACA/e,EAAA42E,aAAA73D,GAAA,KACA/e,EAAA62E,WAAA93D,GAAA,KACA/e,EAAA82E,QAAA/3D,GAAA,KACA/e,EAAA+2E,QAAAh4D,GAAA,KACA/e,EAAAg3E,QAAAj4D,GAAA,KACA/e,EAAAi3E,QAAAl4D,GAAA,KACA/e,EAAAk3E,QAAAn4D,GAAA,KACA/e,EAAAm3E,SAAAp4D,GAAA,KAEA/e,EAAAo3E,OAAA,GAAAn5D,EACAje,EAAAq3E,QAAAp5D,GAAA,KACAje,EAAAs3E,MAAAr5D,GAAA,KACAje,EAAAu3E,SAAAt5D,GAAA,MACAje,EAAAw3E,QAAAv5D,GAAA,OACAje,EAAAy3E,SAAAx5D,GAAA,OACAje,EAAA03E,UAAAz5D,GAAA,KAEAje,EAAA23E,OAAA,IAAA5zE,EACA/D,EAAA43E,UAAA7zE,GAAA,MACA/D,EAAA63E,QAAA9zE,GAAA,OACA/D,EAAA83E,OAAA/zE,GAAA,MAEA/D,EAAAquE,QAAA,IAAAtpE,EACA/E,EAAAsuE,QAAAvpE,GAAA,MACA/E,EAAA+3E,UAAAhzE,GAAA,KACA/E,GAhCAA,CAiCA,CAUAg4E,CAAAzkE,EAAApT,EAAAH,EAAAq2E,OAAArvE,GACAhH,CACA,GAy2ZA,KAAyBuO,EA1tazB,SAAAgF,EAAApT,GACA,WAAAA,GACAoT,EAAAG,WAAA,GADA,IAGA,GAutaA,KAAyBnF,EAAA05B,IACzB,KAAyB,EACzB,KAAyB15B,EA/oZzB,SAAAgF,EAAApT,GAGA,IAFA,IAAAo9D,EAAA,GACA0a,EAAA1kE,EAAAG,WAAA,GACAukE,KAAA1a,EAAAvmD,KAAAqzB,GAAA92B,IACA,OAAAgqD,CACA,GA2oZA,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyBhvD,EA/qazB,SAAAgF,EAAApT,GAKA,IAJA,IAAAykB,EAAArR,EAAA7E,EAAAvO,EACAmZ,EAAA/F,EAAAG,WAAA,GACAwkE,EAAA3kE,EAAAG,WAAA,GACAupB,EAAA,GACAh9B,EAAA,EAAgBA,GAAAi4E,GAAA3kE,EAAA7E,EAAAkW,IAA2B3kB,EAC3Cg9B,EAAAjmB,KAAA0xB,GAAAn1B,IAGA,OADA0pB,EAAAuiB,MAAAlmC,EAAmB2jB,EAAAyiB,OAAAw4B,EACnBj7C,CACA,GAsqaA,KAAyB1uB,EAvhazB,SAAAgF,GACA,IAAA0iB,EAAA+T,GAAAz2B,GAEA,OADA0iB,EAAAo6C,KAAA98D,EAAAG,WAAA,GACAuiB,CACA,GAohaA,KAAyB1nB,EA1pazB,SAAAgF,EAAApT,GACA,IAAAg4E,EAAA,GAGA,OAFAA,EAAAC,KAAA7kE,EAAAG,WAAA,GACAH,EAAA7E,GAAAvO,EAAA,EACAg4E,CACA,GAspaA,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB5pE,EAAA85B,IACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB95B,EAAA63B,IACzB,KAAyB73B,EAAA05B,IACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB15B,EA31ZzB,SAAAgF,EAAApT,EAAA6G,GACA,IAAA4d,EAAArR,EAAA7E,EAAAvO,EACAk4E,EAAA9kE,EAAAG,WAAA,GACA+0B,EAAAl1B,EAAAG,WAAA,GAEA,GADA1M,EAAA+lC,MAAAtE,EACA,MAAAA,GAAA,OAAAA,EAAA,OAAAA,EAAA4vC,GACA,GAAA5vC,EAAA,GAAAA,EAAA,cAAAxkC,MAAA,4BAAAwkC,GAIA,IAHA,IAAA6vC,EAAAnvC,GAAA51B,EAAAk1B,GAEA8vC,EAAA,GACA3zD,EAAArR,EAAA7E,GAAA6pE,EAAAvhE,KAAAoyB,GAAA71B,IACA,OAAAk1B,EAAA4vC,EAAAC,EAAAC,EACA,GAg1ZA,KAAyBhqE,EAAA63B,IACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB73B,EAhpZzB,SAAAgF,EAAApT,EAAA6G,GACA,IAAAzD,EAAAgQ,EAAA7E,EACA8pE,EAAA,GACA,IACAjlE,EAAA7E,GAAA,EACA,IAAAk8B,GAAA5jC,EAAA2pE,SAAA,CAA0BD,IAAA,QAAUA,IAAA,IAEpC,oBAAA/wE,QAAAirC,GAAAr3B,EAAA7E,GAAA,EAv9BA,SAAA6E,GACA,IAAAE,EAAAF,EAAAG,WAAA,GACAH,EAAA7E,IACA,IAAA+pE,EAAAllE,EAAAG,WAAA,GACAH,EAAA7E,GAAA,CAEA,CAk9BAgqE,CAAAnlE,GACA,IAAAolE,EAAAplE,EAAAG,WAAA,GACAH,EAAAG,WAAA,GACAy0B,GAAA50B,GACA,IAAArT,EAAAqT,EAAAG,WAAA,GACAH,EAAA7E,GAAAxO,EAGA,QAAAD,EAAA,EAAgBA,EAAAsT,EAAA4gB,KAAAh0B,OAAA,IAAwBF,EAAA,CACxC,GAAAsT,EAAA7E,EAAAnL,GAAAgQ,EAAA4gB,KAAAl0B,GAAA,UAAAgE,MAAA,4BACA,IAAAyiC,EAAAnzB,EAAAA,EAAA7E,GAGA,IADA8pE,GADArvC,GAAA51B,EAAAA,EAAA4gB,KAAAl0B,EAAA,GAAAsT,EAAA4gB,KAAAl0B,GAAA,IAEAE,SAAAumC,EAAAiyC,EAAA,EAAAA,GAAA,KACA,CACA,GAAAH,EAAAr4E,SAAAw4E,GAAAH,EAAAr4E,SAAA,EAAAw4E,EACA,UAAA10E,MAAA,YAAA00E,EAAA,OAAAH,EAAAr4E,QAWA,OARAoT,EAAA7E,EAAAnL,EAAApD,EAQA,CAAU6E,EAAAwzE,EACV,CAAE,MAAA51E,GAAgC,OAArB2Q,EAAA7E,EAAAnL,EAAApD,EAAqB,CAAS6E,EAAAwzE,EAAA,CAC3C,GA4mZA,KAAyBjqE,EAAA63B,IACzB,KAAyB73B,EA1mZzB,SAAAgF,EAAApT,GACA,IAAA8tC,EAAA5D,GAAA92B,GACAA,EAAA7E,GAAA,GACA,IAAAu2D,EA57BA,SAAA1xD,EAAApT,GACA,IAAAykB,EAAArR,EAAA7E,EAAAvO,EACAy4E,EAAArlE,EAAAG,WAAA,GACA,OAAAklE,EAAA,UAAA30E,MAAA,+BAAA20E,GACA,IAAAnlE,EAAAF,EAAAG,WAAA,GACAH,EAAA7E,GAAA,EACA,IAAAmqE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,GACA,GAAA1lE,IAAAolE,EAAAtvC,GAAAh2B,EAAAA,EAAA7E,IACA,IAAA+E,IAAAqlE,EAAAvvC,GAAAh2B,EAAAA,EAAA7E,IACA,KAAA+E,IAAAslE,EAAAxvC,GAAAh2B,EAAAA,EAAA7E,IACA,QAAA+E,KAAAulE,EAlCA,SAAAzlE,GACA,IAAA2E,EAAA3E,EAAAG,WAAA,IACA,OAAAwE,GACA,8CAjCA,SAAA3E,GACA,IAAArT,EAAAqT,EAAAG,WAAA,GAAA0E,EAAA7E,EAAA7E,EACA0qE,GAAA,EACAl5E,EAAA,KAEAqT,EAAA7E,GAAAxO,EAAA,GACA,qCAAAqT,EAAAG,WAAA,MAAA0lE,GAAA,GACA7lE,EAAA7E,EAAA0J,GAEA,IAAA0P,EAAAvU,EAAAG,YAAA0lE,EAAAl5E,EAAA,GAAAA,IAAA,aAAAiC,QAAAuC,EAAA,IAEA,OADA00E,IAAA7lE,EAAA7E,GAAA,IACAoZ,CACA,CAqBAuxD,CAAA9lE,GACA,8CAnBA,SAAAA,GAEoB,IADpB,IAAA+lE,EAAA/lE,EAAAG,WAAA,GACAyjC,EAAA,GAAoBmiC,KAAA,GAAAniC,GAAA,MACpB,IAAAoiC,EAAAhmE,EAAAG,WAAA,gBAEA,GADAH,EAAA7E,GAAA,EACA,OAAA6E,EAAAG,WAAA,aAAAzP,MAAA,mBAEA,OADAsP,EAAAG,WAAA,GACA,OAAAyjC,EAAAoiC,EAAAp3E,QAAA,WACA,IAAA0iC,EAAAtxB,EAAAG,WAAA,GACA,MAAAH,EAAAG,WAAA,aAAAzP,MAAA,mBAEA,OAAAkzC,EADA5jC,EAAAG,WAAAmxB,GAAA,aAAA1iC,QAAAuC,EAAA,GAEA,CAOA80E,CAAAjmE,GACA,kBAAAtP,MAAA,uBAAAiU,GAEA,CA2BAuhE,CAAAlmE,EAAAA,EAAA7E,IACA,EAAA+E,IAAA0lE,EAAA5vC,GAAAh2B,EAAAA,EAAA7E,IACA,GAAA+E,IAAAwlE,EAAA1lE,EAAAG,WAAA,KACA,GAAAD,IAAAylE,EAAAr1C,GAAAtwB,IACAA,EAAA7E,EAAAkW,EACA,IAAAwI,EAAA0rD,GAAAC,GAAAC,GAAA,GACA5rD,GAAA+rD,IAAA/rD,GAAA,IAAA+rD,GACA/rD,IAAAA,EAAA,IAAA+rD,GACA,EAAA1lE,GAAA,KAAA2Z,EAAAnrB,OAAA,SAAAmrB,EAAAnrB,OAAA,KAAAmrB,EAAA,UAAAA,GACA,IAAA9lB,EAAA,CAAa24B,OAAA7S,GAIb,OAHA6rD,IAAA3xE,EAAA2xE,KAAAA,GACAC,IAAA5xE,EAAAH,KAAA+xE,GACAL,IAAAvxE,EAAAknC,QAAAqqC,GACAvxE,CACA,CAo6BAoyE,CAAAnmE,EAAApT,EAAA,IACA,OAAA8tC,EAAAg3B,EACA,GAsmZA,KAAyB,EACzB,KAAyB12D,EAAA66B,IACzB,KAAyB,EACzB,KAAyB76B,EAAA45B,IACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB55B,EAAA05B,IACzB,KAAyB15B,EAxqazB,SAAAgF,GAEA,OADAA,EAAAG,WAAA,GACAH,EAAAG,WAAA,EACA,EAqqayBpH,EAAA,GACzB,KAAyBiC,EAAA05B,IACzB,KAAyB15B,EAAA09B,IACzB,KAAyB19B,EAAAwgC,IACzB,KAAyBxgC,EAh4ZzB,SAAAgF,EAAApT,EAAA6G,GACAA,EAAA6oE,WAAA,GAAA7oE,EAAAovB,OAAApvB,EAAAovB,KAAA,GACA,IAAAH,EAAA+T,GAAAz2B,GACAomE,EAAAz+C,GAAA3nB,GAEA,OADA0iB,EAAA/rB,IAAAyvE,EACA1jD,CACA,GA23ZA,KAAyB1nB,EArkazB,SAAAgF,EAAApT,EAAA6G,GACAA,EAAA6oE,WAAA,GAAA7oE,EAAAovB,OAAApvB,EAAAovB,KAAA,GACA7iB,EAAA7E,EAAA,IACAunB,EAAA+T,GAAAz2B,GACA,GAAAvM,EAAAovB,MAAA7iB,EAAA7E,IACA,IAAAjD,EAAA29B,GAAA71B,EAAAA,EAAA7E,EAAA1H,GAEA,OADAivB,EAAA/rB,IAAAuB,EACAwqB,CACA,GA8jaA,KAAyB1nB,EAAA89B,IACzB,KAAyB99B,EAAA0gC,IACzB,KAAyB1gC,EA9sazB,SAAAgF,GACA,IAAAya,EAAA,CAAY,EACZA,EAAA1hB,EAAAiH,EAAAG,WAAA,GACAsa,EAAAjqB,EAAAwP,EAAAG,WAAA,GACAsa,EAAA1U,IAAA/F,EAAAG,WAAA,GAAAsa,EAAAjqB,EACA,IAAA0nC,EAAAl4B,EAAAG,WAAA,GACAH,EAAA7E,GAAA,EACA,IAAA+E,EAAAF,EAAAG,WAAA,GAMA,OALAH,EAAA7E,GAAA,EACA,EAAA+E,IAAAua,EAAA8gB,MAAA,EAAAr7B,GAEA,GAAAA,IAAAua,EAAAyoB,QAAA,GACA,GAAAhjC,IAAAua,EAAA2oB,IAAAlL,EAAA,IACAzd,CACA,GAisaA,KAAyB,EACzB,KAAyBzf,EAAAy/B,IACzB,KAAyBz/B,EAAAi9B,IACzB,KAAyB,EACzB,KAAyBj9B,EA5oazB,SAAAgF,EAAApT,EAAA6G,GACA,OAAAA,GAAAA,EAAAovB,MAAA,GAAApvB,EAAAovB,KAAA,KAEA,CAAUmmC,IAAA,GADVhpD,EAAAG,WAAA,GAEA,GAyoaA,KAAyBnF,EAlhazB,SAAAgF,GACA,IAAA0iE,EAAA1iE,EAAAG,WAAA,GAAAsjB,EAAAzjB,EAAAG,WAAA,GACAs8D,EAAA5lC,GAAA72B,GACA,OAASjH,EAAA2pE,EAAAlyE,EAAAizB,EAAAiT,KAAA+lC,EAAA,GAAAD,MAAAC,EAAA,GACT,GA+gaA,KAAyB,EACzB,MAAyB,EACzB,MAAyBzhE,EA5jazB,SAAAgF,EAAApT,EAAA6G,GAGA,OAFAuM,EAAAG,WAAA,GACA21B,GAAA91B,EAAA,EAAAvM,GAEA,GAyjaA,MAAyB,EACzB,MAAyBuH,EAtxZzB,SAAAgF,EAAApT,EAAA6G,GACA,IAAAinC,EAAAxD,GAAAl3B,GACAA,EAAA7E,IACA,IAAAkrE,EAAArmE,EAAAG,WAAA,GAEA,OAAA8hD,GAAAjiD,EADApT,GAAA,EACA6G,GAAA4yE,EAAA3rC,EACA,GAixZA,MAAyB1/B,EApnZzB,SAAAgF,EAAApT,GACAoT,EAAAG,WAAA,GACA,IAAAu6B,EAAA5D,GAAA92B,GACAsmE,EAAAtmE,EAAAG,YAAAvT,EAAA,mBAEA,OAAA8tC,EADA4rC,EAAAA,EAAA13E,QAAAuC,EAAA,IAEA,GA+mZA,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB6J,EAAA28B,IACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB5+B,EAAA,IACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBiC,EAAA05B,IACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB15B,EApnZzB,SAAAgF,GACAA,EAAA7E,GAAA,EACA,IAAA1O,EAAA,CAAU85E,KAAA,EAAAC,IAAA,GAGV,OAFA/5E,EAAA85E,KAAAvmE,EAAAG,WAAA,GACA1T,EAAA+5E,IAAAxmE,EAAAG,WAAA,GACA1T,CACA,EA8mZyBsM,EAAA,IACzB,MAAyBiC,EAlwRzB,SAAAgF,EAAApT,GACAoT,EAAA7E,EACA6E,EAAA7E,GAAA,EACA,IAAAu7B,EAAA12B,EAAAG,WAAA,GACAH,EAAA7E,GAAA,EAGA,IAFA,IAAAsrE,EAAAzmE,EAAAG,WAAA,GACA8Q,EAAA,GACAw1D,KAAA,GAAAx1D,EAAAxN,KAAA80C,GAAAv4C,EAAAA,EAAA7E,IACA,OAASu7B,KAAAA,EAAAzlB,IAAAA,EACT,EAyvRyBlY,EAAA,IACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBiC,EAAA63B,GAAA95B,EAAA,IACzB,MAAyB,EACzB,MAAyBA,EAAA,IACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBiC,EAt2ZzB,SAAAgF,EAAApT,EAAA6G,GACA,KAAAA,EAAAovB,KAAA,IACA,IAAAgY,EAAA76B,EAAAG,WAAA,GACAumE,EAAA1mE,EAAAG,WAAA,GAGA,OAFAy1B,GAAA51B,EAAA66B,EAAApnC,GACAmiC,GAAA51B,EAAA0mE,EAAAjzE,GAJuC,CAAlBuM,EAAA7E,GAAAvO,CAMrB,EA+1ZyBmM,EAAA,IACzB,MAAyB,EACzB,MAAyBiC,EAj1RzB,SAAAgF,EAAApT,EAAA6G,GACA,IAAA4d,EAAArR,EAAA7E,EAAAvO,EAEA,YADAoT,EAAAG,WAAA,GAEA,GAAA1M,EAAA0nC,WAAA,CACA,IAEAviB,EAFApsB,EAAAwT,EAAAzS,MAAAyS,EAAA7E,GACA6E,EAAA7E,EAAAkW,EACU,IAAMuH,EAAAc,GAAAltB,EAAA,CAAsBiK,KAAA,SAAc,CAAK,MAAApH,GAAW,OACpE,IAAAs3E,EAAA1tD,GAAAL,EAAA,6BACA,GAAA+tD,EACA,OAAAzuB,GAAAyuB,EAAAlzE,EANsC,MAAduM,EAAA7E,EAAAkW,CAOxB,EAs0RyBtY,EAAA,IACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBiC,EA70ZzB,SAAAgF,GAIA,OAHA,IAAAA,EAAAG,WAAA,GACA,IAAAH,EAAAG,WAAA,GACAH,EAAAG,WAAA,GAEA,EAw0ZyBpH,EAAA,IACzB,MAAyBiC,EAAA05B,IACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB15B,EAzxazB,SAAAgF,GACA,IAAAyC,EApSA,SAAAzC,GACA,IAAAk/C,EAAAl/C,EAAAG,WAAA,GACAD,EAAAF,EAAAG,WAAA,GAEA,OADAH,EAAA7E,GAAA,EACA,CAAS1E,KAAAyoD,EAAAh/C,MAAAA,EACT,CA+RA0mE,CAAA5mE,GACA,SAAAyC,EAAAhM,KAAA,UAAA/F,MAAA,yBAAA+R,EAAAhM,MAEA,WADAuJ,EAAAG,WAAA,EAEA,GAqxaA,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBnF,EAAA45B,IACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB55B,EA/oZzB,SAAAgF,EAAApT,EAAA6G,GACA,IAAA2kB,EAAA,CAAYumC,MAAA,GACZ,MAAAlrD,EAAAovB,KAAwC,OAAlB7iB,EAAA7E,GAAAvO,EAAkBwrB,EACxC,IAAA5mB,EAAAwO,EAAAG,WAAA,GAEA,OAF6BH,EAAA7E,GAAA,EAC7B,GAAA3J,IAAA4mB,EAAAumC,MAAA,GACAvmC,CACA,GA0oZA,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBpd,EA5tZzB,SAAAgF,GAGA,IAFA,IAAAyiE,EAAAziE,EAAAG,WAAA,GACA1T,EAAA,GACAg2E,KAAA,GAAAh2E,EAAAgX,KAAA+yB,GAAAx2B,IACA,OAAAvT,CACA,GAwtZA,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EAEzB,GAAyBuO,EAAA09B,IACzB,GAAyB,EACzB,GAAyB19B,EAlnZzB,SAAAgF,GACA,IAAA0iB,EAAA+T,GAAAz2B,KACAA,EAAA7E,EACA,IAAA0rE,EAAA7mE,EAAAG,WAAA,GAGA,OAFAuiB,EAAAjxB,EAAA,IACAixB,EAAA/rB,IAAAkwE,EACAnkD,CACA,GA4mZA,GAAyB1nB,EAloZzB,SAAAgF,GACA,IAAA0iB,EAAA+T,GAAAz2B,KACAA,EAAA7E,EACA,IAAA0rE,EAAAl/C,GAAA3nB,GAGA,OAFA0iB,EAAAjxB,EAAA,IACAixB,EAAA/rB,IAAAkwE,EACAnkD,CACA,GA4nZA,GAAyB1nB,EA7oZzB,SAAAgF,EAAApT,EAAA6G,GACAA,EAAA6oE,WAAA,GAAA7oE,EAAAovB,OAAApvB,EAAAovB,KAAA,GACA,IAAAH,EAAA+T,GAAAz2B,KACAA,EAAA7E,EACA,IAAAjD,EAAA49B,GAAA91B,EAAApT,EAAA6G,GAGA,OAFAivB,EAAAjxB,EAAA,MACAixB,EAAA/rB,IAAAuB,EACAwqB,CACA,GAsoZA,GAAyB1nB,EAAA89B,IACzB,GAAyB99B,EAvmZzB,SAAAgF,GACA,IAAAk1B,EAAAl1B,EAAAG,WAAA,GACA,WAAA+0B,GAAiBl1B,EAAA7E,IAAU,IAC3B6E,EAAAG,WAAA+0B,EAAA,YACA,GAomZA,GAAyB,EACzB,GAAyBl6B,EAAA28B,IACzB,IAAyB,EACzB,IAAyB38B,EAAA45B,IACzB,IAAyB55B,EAAAy9B,IACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyBz9B,EAAAy/B,IACzB,IAAyB,EACzB,IAAyBz/B,EAAAi9B,IAKzB,IAAyBj9B,EA/mZzB,SAAAgF,EAAApT,GACAoT,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAA,EACA6E,EAAA7E,GAAAvO,EAAA,EACA,GAgnZA,IAAyB,EAczB,IAAyB,EACzB,IAAyB,EACzB,IAAyBoO,EAAA45B,IACzB,IAAyB,EACzB,IAAyB,EACzB,KAAyB,EACzB,KAAyB55B,EApsZzB,SAAAgF,GACA,IAAAy3B,EAAAz3B,EAAAG,WAAA,GACA2mE,EAAA9mE,EAAAG,WAAA,GACA4mE,EAAA/mE,EAAAG,WAAA,GACA1T,EAAA,CAAUiK,IAAA+gC,EAAAqvC,IAAAA,EAAAn6E,IAAAo6E,EAAAv6E,KAAAwT,EAAAzS,MAAAyS,EAAA7E,EAAA6E,EAAA7E,EAAA4rE,IAEV,OADA/mE,EAAA7E,GAAA4rE,EACAt6E,CACA,GA8rZA,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EAKzB,KAAyB,EAEzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EAIzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyBuO,EAxpZzB,SAAAgF,EAAApT,EAAA6G,GACA,IAAA4d,EAAArR,EAAA7E,EAAAvO,EACA81B,EAAA+T,GAAAz2B,GACAk1B,EAAAl1B,EAAAG,WAAA,GACAjI,EAAA09B,GAAA51B,EAAAk1B,EAAAzhC,GAIA,OAHAuM,EAAA7E,EAAAkW,EACAqR,EAAAjxB,EAAA,MACAixB,EAAA/rB,IAAAuB,EACAwqB,CACA,GAgpZA,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB1nB,EAAAknD,IACzB,KAAyBlnD,EAAA28B,IACzB,KAAyB38B,EAAA6+B,IACzB,KAAyB7+B,EAAAi+B,IACzB,KAAyB,EACzB,KAAyB,EACzB,MAAyBj+B,EAAAknD,IACzB,MAAyBlnD,EAAA28B,IACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB5+B,EAAA,IAEzB,UAGA,SAAAqwC,GAAA5mB,EAAA/rB,EAAAmP,EAAAhZ,GACA,IAAA6E,EAAAgF,EACA,IAAAhI,MAAAgD,GAAA,CACA,IAAA9E,EAAAC,IAAAgZ,GAAA,IAAAhZ,QAAA,EACAH,EAAA+1B,EAAAH,KAAA,GACA51B,EAAAoT,YAAA,EAAApO,GACAhF,EAAAoT,YAAA,EAAAlT,GACAA,EAAA,GAAAuzB,GAAAta,IAAA4c,EAAA/e,KAAAmC,EALA,CAMA,CAyBA,SAAAohE,GAAAjzE,EAAAgF,EAAAvI,GAMA,OALAuD,IAAAA,EAAA+R,GAAA,IACA/R,EAAA8L,YAAA,EAAA9G,GACAhF,EAAA8L,YAAA,EAAArP,GACAuD,EAAA8L,YAAA,KACA9L,EAAA8L,YAAA,KACA9L,CACA,CAkBA,SAAAkzE,GAAAzkD,EAAAE,EAAAhe,EAAA1F,GACA,SAAA0jB,EAAAnxB,EAAA,OAAAmxB,EAAAjxB,GACA,gBACA,IAAAF,EAAA,KAAAmxB,EAAAjxB,EAAA2kB,GAAAW,GAAA2L,EAAAnxB,IAAAmxB,EAAAnxB,EAKA,YAJAA,IAAA,EAAAA,IAAAA,GAAA,GAAAA,EAAA,MACA63C,GAAA5mB,EAAA,GAjxZAzpB,EAixZA2L,EAjxZAlU,EAixZAwO,EAjxZArI,EAixZApF,EAhxZAwC,EAAA+R,GAAA,GACAkhE,GAAAjzE,EAAAgF,EAAAvI,GACAuD,EAAA8L,YAAA,EAAAlJ,GACA5C,IA+wZAq1C,GAAA5mB,EAAA,EAlyZA,SAAAzpB,EAAAvI,EAAAmG,GACA,IAAA5C,EAAA+R,GAAA,IAGA,OAFAkhE,GAAAjzE,EAAAgF,EAAAvI,GACAuD,EAAA8L,YAAA,EAAAlJ,EAAA,KACA5C,CACA,CA6xZAmzE,CAAAxiE,EAAA1F,EAAAzN,KAEA,gBAAyF,YAAzF63C,GAAA5mB,EAAA,EAzBA,SAAAzpB,EAAAvI,EAAAmG,EAAAlF,GACA,IAAAsC,EAAA+R,GAAA,GAGA,OAFAkhE,GAAAjzE,EAAAgF,EAAAvI,GACAwkC,GAAAr+B,EAAAlF,GAAA,IAAAsC,GACAA,CACA,CAoBAozE,CAAAziE,EAAA1F,EAAA0jB,EAAAnxB,EAAAmxB,EAAAjxB,IAEA,kBAEA,YADA23C,GAAA5mB,EAAA,EApBA,SAAAzpB,EAAAvI,EAAAmG,GACA,IAAA5C,EAAA+R,GAAA,IAAAnP,EAAA/J,QAIA,OAHAo6E,GAAAjzE,EAAAgF,EAAAvI,GACAuD,EAAA8L,YAAA,EAAAlJ,EAAA/J,QACAmH,EAAA8L,YAAAlJ,EAAA/J,OAAA+J,EAAA,QACA5C,EAAAoH,EAAApH,EAAAnH,OAAAmH,EAAAxG,MAAA,EAAAwG,EAAAoH,GAAApH,CACA,CAcAqzE,CAAA1iE,EAAA1F,GAAA0jB,EAAAnxB,GAAA,IAAAhE,MAAA,SAxxZA,IAAAwL,EAAAvI,EAAAmG,EACA5C,EA0xZAq1C,GAAA5mB,EAAA,EAAAwkD,GAAA,KAAAtiE,EAAA1F,GACA,CAqGA,SAAAqoE,GAAA7kD,EAAAE,EAAAhe,EAAA1F,EAAAvL,GACA,IAAAqyD,EAAA,GAAA5B,GAAAzwD,EAAAiiD,QAAAhzB,EAAAjvB,GACA,SAAAivB,EAAAnxB,GAAAmxB,EAAA4kD,GAIA,GAAA5kD,EAAA4kD,GAAAl+B,GAAA5mB,EAAA,EA9vOA,SAAAE,EAAAhe,EAAA1F,EAAAvL,EAAAqyD,GAEA,IAAAyhB,EAAA5wC,GAAAjyB,EAAA1F,EAAA8mD,GAGApwC,EAnCA,SAAAkG,GACA,SAAAA,EAAA,CAEA,IAAAnvB,EAAAqZ,GAAA,GAMA,OALArZ,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,SACApT,CACA,CAAG,OAAAm7B,GAAA,iBAAAhM,EAAAA,EACH,EACA,CAuBA4rD,CAAA9kD,EAAAnxB,GAGAk2E,EAAA3hE,GAAA,GAEA2hE,EAAA5nE,YAAA,EADA,IAEA4nE,EAAA5nE,YAAA,KAIA,IADA,IAAAynE,EAAAxhE,GAAA4c,EAAA4kD,GAAA16E,QACAF,EAAA,EAAgBA,EAAAg2B,EAAA4kD,GAAA16E,SAAoBF,EAAA46E,EAAA56E,GAAAg2B,EAAA4kD,GAAA56E,GAGpC,OADAiE,EAAA,CAAA42E,EAAA7xD,EAAA+xD,EAAAH,GAEA,CA2uOAI,CAAAhlD,EAAAhe,EAAA1F,EAAAvL,EAAAqyD,SACA,OAAApjC,EAAAjxB,GACA,gBAGA23C,GAAA5mB,EAAA,IAp0aA,SAAA9d,EAAA1F,EAAAzN,EAAAu0D,GACA,IAAAr5D,EAAAqZ,GAAA,IAGA,OAFA6wB,GAAAjyB,EAAA1F,EAAA8mD,EAAAr5D,GACAm7B,GAAAr2B,EAAA9E,GACAA,CACA,CA+zaAk7E,CAAAjjE,EAAA1F,EAFA,KAAA0jB,EAAAjxB,EAAA2kB,GAAAW,GAAA2L,EAAAnxB,IAAAmxB,EAAAnxB,EAEAu0D,IACA,MACA,gBACA1c,GAAA5mB,EAAA,IAt1aA,SAAA9d,EAAA1F,EAAAzN,EAAAu0D,EAAAryD,EAAAhC,GACA,IAAAhF,EAAAqZ,GAAA,GAGA,OAFA6wB,GAAAjyB,EAAA1F,EAAA8mD,EAAAr5D,GACAuoC,GAAAzjC,EAAAE,EAAAhF,GACAA,CACA,CAi1aAm7E,CAAAljE,EAAA1F,EAAA0jB,EAAAnxB,EAAAu0D,EAAAryD,EAAAivB,EAAAjxB,IACA,MAEA,kBACAgC,EAAAs4C,QAEA3C,GAAA5mB,EAAA,IAhibA,SAAA9d,EAAA1F,EAAAzN,EAAAu0D,GACA,IAAAr5D,EAAAqZ,GAAA,IAGA,OAFA6wB,GAAAjyB,EAAA1F,EAAA8mD,EAAAr5D,GACAA,EAAAoT,YAAA,EAAAtO,GACA9E,CACA,CA2hbAo7E,CAAAnjE,EAAA1F,EADAmkD,GAAA1vD,EAAAsyD,QAAArjC,EAAAnxB,EAAAkC,EAAAuyD,YACAF,IACK1c,GAAA5mB,EAAA,IAhhbL,SAAA9d,EAAA1F,EAAAzN,EAAAu0D,EAAAryD,GACA,IAAAq0E,GAAAr0E,GAAA,GAAAA,EAAAovB,KACAp2B,EAAAqZ,IAAAgiE,EAAA,KAAAA,GAAAv2E,EAAA3E,QAKA,OAJA+pC,GAAAjyB,EAAA1F,EAAA8mD,EAAAr5D,GACAA,EAAAoT,YAAA,EAAAtO,EAAA3E,QACAk7E,GAAAr7E,EAAAoT,YAAA,KACApT,EAAAoT,aAAA,EAAAioE,GAAAv2E,EAAA3E,OAAA2E,EAAAu2E,EAAA,kBACAr7E,CACA,CAwgbKs7E,CAAArjE,EAAA1F,GAAA0jB,EAAAnxB,GAAA,IAAAhE,MAAA,OAAAu4D,EAAAryD,IACL,MACA,QACA21C,GAAA5mB,EAAA,IAAAmU,GAAAjyB,EAAA1F,EAAA8mD,SArBA1c,GAAA5mB,EAAA,IAAAmU,GAAAjyB,EAAA1F,EAAA8mD,GAuBA,CAGA,SAAAkiB,GAAA5wE,EAAA3D,EAAAqkC,GACA,IAMA4C,EA73aAutC,EACAx7E,EAs3aA+1B,EAAAR,KACAhyB,EAAA8nC,EAAAtT,WAAAptB,GAAAytB,EAAAiT,EAAArT,OAAAz0B,IAAA,GACAk4E,GAAApwC,GAAA,IAAiCwwB,UAAA,GACjC6f,GAAAD,EAAAzjD,QAAA,IAAArtB,IAAA,GACAwtB,EAAAh1B,MAAAW,QAAAs0B,GACAijD,EAAA,GAAAr0E,EAAAovB,KACAvpB,EAAA,GAAAgkC,EAAA,GACAva,EAAAgB,GAAAc,EAAA,eACAujD,EAAAN,EAAA,YACA,GAAA/kD,EAAA1zB,EAAAmB,EAAA,KAAAuyB,EAAA1zB,EAAA0J,GAAAqvE,EAAA,CACA,GAAA30E,EAAAupB,IAAA,UAAAtsB,MAAA,UAAAm0B,EAAA,mDACA9B,EAAA1zB,EAAAmB,EAAAsB,KAAA+H,IAAAkpB,EAAA1zB,EAAAmB,EAAA,KACAuyB,EAAA1zB,EAAA0J,EAAAjH,KAAA+H,IAAAkpB,EAAA1zB,EAAAmB,EAAA43E,EAAA,EACA,CAEAh/B,GAAA5mB,EAAA,KAAAqV,GAAAC,EAAA,GAAArkC,IAEA21C,GAAA5mB,EAAA,GAAAqS,GAAA,IACAuU,GAAA5mB,EAAA,GAAAqS,GAAA,MACAuU,GAAA5mB,EAAA,GAAAmS,IAAA,IACAyU,GAAA5mB,EAAA,GAAAmS,IAAA,IACAyU,GAAA5mB,EAAA,GAAAoF,GAAA,OACAwhB,GAAA5mB,EAAA,GAAAmS,IAAA,IACAyU,GAAA5mB,EAAA,GAAAmS,IAAA,IACAyU,GAAA5mB,EAAA,GAAAmS,IAAA,IACAyU,GAAA5mB,EAAA,IAAAqS,GAAA,IACAuU,GAAA5mB,EAAA,KAj5aAylD,EAi5aA,OAh5aAx7E,EAAAqZ,GAAA,IACAjG,YAAA,KACApT,EAAAoT,YAAA,EAAAooE,EAAA,GAAAA,EAAA,QACAx7E,EAAAoT,YAAA,EAAAooE,EAAA,GAAAA,EAAA,QACAx7E,IAg5aA28C,GAAA5mB,EAAA,IAAAmS,IAAA,IACAyU,GAAA5mB,EAAA,IAAAmS,IAAA,IAEAmzC,GAzEA,SAAAtlD,EAAA8a,GACA,GAAAA,EAAA,CACA,IAAAv3B,EAAA,EACAu3B,EAAArgB,QAAA,SAAAwG,EAAArsB,KACA2O,GAAA,KAAA0d,GACA2lB,GAAA5mB,EAAA,IAt9ZA,SAAAiB,EAAArsB,GACA,IAAA3K,EAAAqZ,GAAA,IACArZ,EAAAoT,YAAA,EAAAzI,GACA3K,EAAAoT,YAAA,EAAAzI,GACA3K,EAAAoT,YAAA,MAAA4jB,EAAA8R,OACA9oC,EAAAoT,YAAA,KACA,IAAA7E,EAAA,EAMA,OALAyoB,EAAAyf,SAAAloC,GAAA,GACAvO,EAAAoT,YAAA,EAAA7E,GACAA,EAAAyoB,EAAA8X,OAAA,EACA9uC,EAAAoT,YAAA,EAAA7E,GACAvO,EAAAoT,YAAA,KACApT,CACA,CAy8ZA47E,CAAA9kB,GAAAnsD,EAAAqsB,GAAArsB,GAEA,EANA,CAOA,CAiEAkxE,CAAA9lD,EAAAqC,EAAA,UAEAukB,GAAA5mB,EAAA,IArhbA,SAAAO,EAAAtvB,GACA,IAAAoC,EAAA,GAAApC,EAAAovB,MAAApvB,EAAAovB,KAAA,IACAp2B,EAAAqZ,GAAA,EAAAjQ,EAAA,GAMA,OALApJ,EAAAoT,YAAAhK,EAAAktB,EAAA/yB,EAAA+I,GACAtM,EAAAoT,YAAAhK,EAAAktB,EAAA1zB,EAAA0J,EAAA,GACAtM,EAAAoT,YAAA,EAAAkjB,EAAA/yB,EAAAQ,GACA/D,EAAAoT,YAAA,EAAAkjB,EAAA1zB,EAAAmB,EAAA,GACA/D,EAAAoT,YAAA,KACApT,CACA,CA4gbA87E,CAAAxlD,EAAAtvB,IAGAq0E,IAAAjjD,EAAA,cACA,QAAAngB,EAAAqe,EAAA/yB,EAAA+I,EAAwB2L,GAAAqe,EAAA1zB,EAAA0J,IAAgB2L,EAAA,CACxCpL,EAAA6pB,GAAAze,GACA,QAAA1F,EAAA+jB,EAAA/yB,EAAAQ,EAAyBwO,GAAA+jB,EAAA1zB,EAAAmB,IAAgBwO,EAAA,CACzC0F,IAAAqe,EAAA/yB,EAAA+I,IAAAukC,EAAAt+B,GAAAokB,GAAApkB,IACA07B,EAAA4C,EAAAt+B,GAAA1F,EACA,IAAAopB,EAAAkC,GAAAC,EAAAngB,IAAA,IAAA1F,GAAA6lB,EAAA6V,GACAhY,IAEA2kD,GAAA7kD,EAAAE,EAAAhe,EAAA1F,EAAAvL,GACAq0E,GAAAplD,EAAAvnB,GAAA0pB,EAAA,UAAAphB,KAAA,CAAAi3B,EAAAhY,EAAAvnB,IACA,CACA,CACA,IAAAktD,EAAA8f,EAAA5iB,UAAA4iB,EAAApkE,MAAA/T,EAaA,OAXA83E,GAAA1+B,GAAA5mB,EAAA,IAjpbA,SAAAnyB,GACA,IAAA5D,EAAAqZ,GAAA,IAAA9K,EAAA,KAOA,OANA3K,GAAAA,EAAA24D,MAAAhuD,GAAA,IACAvO,EAAAoT,YAAA,EAAA7E,GACAvO,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,MACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,KACApT,CACA,CAwobA+7E,EAAAN,EAAApf,OAAA,SAEAgf,IAAAjjD,EAAA,gBAAAj4B,QAAAw8C,GAAA5mB,EAAA,IAzuaA,SAAAwnC,GACA,IAAAv9D,EAAAqZ,GAAA,IAAAkkD,EAAAp9D,QACAH,EAAAoT,YAAA,EAAAmqD,EAAAp9D,QACA,QAAAF,EAAA,EAAgBA,EAAAs9D,EAAAp9D,SAAmBF,EAAAuqC,GAAA+yB,EAAAt9D,GAAAD,GACnC,OAAAA,CACA,CAouaAg8E,CAAA5jD,EAAA,aAEAijD,GA1GA,SAAAtlD,EAAAqC,GACA,QAAAngB,EAAA,EAAcA,EAAAmgB,EAAA,UAAAj4B,SAAuB8X,EAAA,CACrC,IAAAgkE,EAAA7jD,EAAA,UAAAngB,GACA0kC,GAAA5mB,EAAA,IAAAsY,GAAA4tC,IACAA,EAAA,GAAAztC,SAAAmO,GAAA5mB,EAAA,KAAAwY,GAAA0tC,GACA,QACA7jD,EAAA,SACA,CAmGA8jD,CAAAnmD,EAAAqC,GAEAukB,GAAA5mB,EAAA,IAAAuT,GAAAsyB,IAEAyf,GArIA,SAAAtlD,EAAAqC,GAEA,IAAAp4B,EAAAqZ,GAAA,IACArZ,EAAAoT,YAAA,QAA0BpT,EAAAoT,YAAA,KAAqBpT,EAAAoT,YAAA,KAC/CpT,EAAAoT,YAAA,KAAsBpT,EAAAoT,YAAA,KAAqBpT,EAAAoT,YAAA,KAC3CupC,GAAA5mB,EAAA,KAAA/1B,IAEAA,EAAAqZ,GAAA,KACAjG,YAAA,QAA0BpT,EAAAoT,YAAA,KAAqBpT,EAAAoT,YAAA,KAC/CpT,EAAAoT,YAAA,KAAsBpT,EAAAoT,YAAA,KAAqBpT,EAAAoT,YAAA,KAC3CpT,EAAAoT,YAAA,KAAsBpT,EAAAoT,YAAA,KAAqBpT,EAAAoT,YAAA,KAC3Co3B,GAAAlT,GAAAc,EAAA,eAAAp4B,GACAA,EAAAoT,YAAA,KACAupC,GAAA5mB,EAAA,KAAA/1B,EACA,CAuHAm8E,CAAApmD,EAAAqC,GAEAukB,GAAA5mB,EAAA,IACAA,EAAAnR,KACA,CAGA,SAAAw3D,GAAA/wC,EAAAlnC,EAAA6C,GACA,IAnrbAhH,EAmrbA4G,EAAA2uB,KACAkmD,GAAApwC,GAAA,IAAiCwwB,UAAA,GACjCwgB,EAAAZ,EAAAzjD,QAAA,GACAskD,EAAAb,EAAApa,SAAA,CAA6C,EAC7Cga,EAAA,GAAAr0E,EAAAovB,KAAA2V,EAAA,GAAA/kC,EAAAovB,KACAumB,GAAA/1C,EAAA,KAAAwkC,GAAAC,EAAA,EAAArkC,IACA,OAAAA,EAAAg3B,UAAA2e,GAAA/1C,EAAA,KACA+1C,GAAA/1C,EAAA,IAAAy0E,EAAAjzC,GAAA,YACAuU,GAAA/1C,EAAA,IAjxcA,SAAAoK,EAAAhR,GAA6BA,IAAAA,EAAAqZ,GAixc7B,IAjxckD,QAAA7O,EAAA,EAAaA,EAixc/D,IAjxcoEA,EAAAxK,EAAAoT,YAAA,KAA0B,OAAApT,CAAA,CAixc9Fu8E,IACAxwC,GAAA4Q,GAAA/1C,EAAA,KACAmlC,GAAA4Q,GAAA/1C,EAAA,KACA+1C,GAAA/1C,EAAA,KACA+1C,GAAA/1C,EAAA,GAv0bA,SAAArD,EAAAyD,GACA,IAAAq0E,GAAAr0E,GAAA,GAAAA,EAAAovB,KACAp2B,EAAAqZ,GAAAgiE,EAAA,QAKA,IAJAr7E,EAAAoT,YAAA,GAAApM,EAAAovB,KAAA,OACAilD,GAAAr7E,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,aACApT,EAAAoT,YAAA,WAAAioE,EAAA,cACAr7E,EAAA0O,EAAA1O,EAAAG,QAAAH,EAAAoT,YAAA,EAAAioE,EAAA,MACA,OAAAr7E,CACA,CA8zbAw8E,CAAA,EAAAx1E,IAEA21C,GAAA/1C,EAAA,GAAAwhC,GAAAizC,EAAA,YAEAA,GAAA1+B,GAAA/1C,EAAA,IAAAwhC,GAAA,IACAizC,GAAA1+B,GAAA/1C,EAAA,KACA+1C,GAAA/1C,EAAA,IA5iaA,SAAAoK,GAEA,IADA,IAAA1J,EAAA+R,GAAA,EAAArI,GACA/Q,EAAA,EAAgBA,EAAA+Q,IAAO/Q,EAAAqH,EAAA8L,YAAA,EAAAnT,EAAA,GACvB,OAAAqH,CACA,CAwiaAm1E,CAAApxC,EAAAtT,WAAA53B,SACAk7E,GAAAhwC,EAAAswB,QAAAhf,GAAA/1C,EAAA,KAEAy0E,GAAAhwC,EAAAswB,QAEAhf,GAAA/1C,EAAA,IAAA0iC,GADAgzC,EAAAxjB,UAAA,iBAGAnc,GAAA/1C,EAAA,IAAAwhC,GAAA,KAIAuU,GAAA/1C,EAAA,GAAAshC,IAAA,IACAyU,GAAA/1C,EAAA,GAAAshC,IAAA,IACAyU,GAAA/1C,EAAA,GAAAwhC,GAAA,IACAizC,GAAA1+B,GAAA/1C,EAAA,IAAAshC,IAAA,IACAmzC,GAAA1+B,GAAA/1C,EAAA,IAAAwhC,GAAA,IACAuU,GAAA/1C,EAAA,KArtbA5G,EAAAqZ,GAAA,KACAjG,YAAA,KACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,SACApT,EAAAoT,YAAA,SACApT,EAAAoT,YAAA,MACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,OACApT,IA4sbA28C,GAAA/1C,EAAA,GAAAshC,IAAA,IACAyU,GAAA/1C,EAAA,IAAAwhC,GAAA,IACAuU,GAAA/1C,EAAA,GAAAshC,GAAA,QAlrIA,SAAAmD,GAEA,OAAAA,EAAAwwB,UACAxwB,EAAAwwB,SAAAwF,SACAnyC,GAAAmc,EAAAwwB,SAAAwF,QAAAt5D,UAAA,OAFA,OAGA,CA6qIA20E,CAAArxC,KACAsR,GAAA/1C,EAAA,GAAAshC,IAAA,IACAmzC,GAAA1+B,GAAA/1C,EAAA,IAAAshC,IAAA,IACAyU,GAAA/1C,EAAA,IAAAwhC,GAAA,IAxMA,SAAArS,EAAAh2B,EAAAiH,GACA21C,GAAA5mB,EAAA,GAr+aA,SAAAh2B,EAAAiH,GACA,IAAAsQ,EAAAvX,EAAAuX,MAAA,QACAy0B,EAAA/kC,GAAA,GAAAA,EAAAovB,KACAp2B,EAAAqZ,GADA0yB,EAAA,GAAAz0B,EAAAnX,OAAA,KAAAmX,EAAAnX,QAUA,OARAH,EAAAoT,YAAA,MAAArT,EAAA4T,IAAA,KACA3T,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,OACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,EAAAkE,EAAAnX,QACA4rC,GAAA/rC,EAAAoT,YAAA,KACApT,EAAAoT,aAAA24B,EAAA,KAAAz0B,EAAAnX,OAAAmX,EAAAy0B,EAAA,kBACA/rC,CACA,CAw9aA28E,CAAA,CACAhpE,GAAA,GACAqE,MAAA,CAAUujB,MAAA,GACVjkB,KAAA,QACAsmC,OAAA,EACAyJ,OAAA,SACErgD,GACF,CAkMA41E,CAAAh2E,EAAAykC,EAAArkC,GA/LA,SAAA+uB,EAAAgzB,EAAA/hD,GACA+hD,GACA,iCAAAv4B,QAAA,SAAAlkB,GAEA,QAAArM,EAAAqM,EAAA,GAAoBrM,GAAAqM,EAAA,KAAWrM,EAAA,MAAA8oD,EAAA9oD,IAAA08C,GAAA5mB,EAAA,KAAA+V,GAAA7rC,EAAA8oD,EAAA9oD,GAAA+G,GAC/B,EACA,CA0LA61E,CAAAj2E,EAAAykC,EAAAj7B,IAAApJ,GAxKA,SAAA+uB,EAAA/uB,GACA,QAAA/G,EAAA,EAAgBA,EAAA,KAAQA,EAAA08C,GAAA5mB,EAAA,IAAAmW,GAAA,CAAmDxU,SAAA,EAAA0U,OAAA,GAAuB,EAAAplC,IAClGA,EAAAiiD,QAAAz4B,QAAA,SAAAzsB,GACA44C,GAAA5mB,EAAA,IAAAmW,GAAAnoC,EAAA,EAAAiD,GACA,EACA,CAoKA81E,CAAAl2E,EAAAI,GAEAq0E,GAAA1+B,GAAA/1C,EAAA,IAAAshC,IAAA,IACA,IAAAnpB,EAAAnY,EAAAge,MAEArS,EAAAgjB,KAEA8lD,GAAA1+B,GAAApqC,EAAA,IAhqaA,SAAAvS,GAIA,OAHAA,IAAAA,EAAAqZ,GAAA,IACArZ,EAAAoT,YAAA,KACApT,EAAAoT,YAAA,KACApT,CACA,CA2paA+8E,IAIA1B,GAAAr0E,EAAAsyD,SA/TA,SAAAvjC,EAAA/rB,EAAAmP,GACA,IAAAjZ,GAAAiZ,GAAA,IAAAhZ,QAAA,EACA,GAAAD,GAAA,YAAAy8C,GAAA5mB,EA6TA,IA7TA5c,EAAAjZ,GAEA,IAAA8B,MA2TA,KA3TA,CAGA,IAFA,IAAA6/B,EAAA1oB,EAAA0oB,OAAA,GAAA2Y,EAAA,EACAv6C,EAAA,EAAAmJ,EAAA,EACAA,GAAAy4B,EAAA2Y,IAAA,aAA4CpxC,GAAAy4B,EAAA2Y,IAAA,KAA2BA,IACvE,IAAAx6C,EAAA+1B,EAAAH,KAAA,GAKA,IAJA51B,EAAAoT,YAAA,EAsTA,KArTApT,EAAAoT,YAAA,EAAAhK,GACA2sB,EAAA/e,KAAAmC,EAAArY,MAAAb,EAAAA,EAAAmJ,IACAnJ,GAAAmJ,EACAnJ,EAAAC,GAAA,CAIA,KAHAF,EAAA+1B,EAAAH,KAAA,IACAxiB,YAAA,MACAhK,EAAA,EACAA,GAAAy4B,EAAA2Y,IAAA,aAA6CpxC,GAAAy4B,EAAA2Y,IAAA,KAA2BA,IACxEx6C,EAAAoT,YAAA,EAAAhK,GACA2sB,EAAA/e,KAAAmC,EAAArY,MAAAb,EAAAA,EAAAmJ,IAAkCnJ,GAAAmJ,CAClC,CAhBA,CAiBA,CA0SA4zE,CAAAzqE,EAAA,EAzzbA,SAAA8sC,GACA,IAAArpC,EAAAqD,GAAA,GACArD,EAAA5C,YAAA,EAAAisC,EAAAG,OACAxpC,EAAA5C,YAAA,EAAAisC,EAAAK,QAEA,IADA,IAAAziB,EAAA,GACAzyB,EAAA,EAAgBA,EAAA60C,EAAAl/C,SAAgBqK,EAAAyyB,EAAAzyB,GAAAw+B,GAAAqW,EAAA70C,IAChC,IAAAxK,EAAAkE,EAAA,CAAA8R,GAAA5R,OAAA64B,IAEA,OADAj9B,EAAA6hC,MAAA,CAAA7rB,EAAA7V,QAAAiE,OAAA64B,EAAAx5B,IAAA,SAAAgI,GAA8E,OAAAA,EAAAtL,MAAA,IAC9EH,CACA,CAgzbAi9E,CAAAj2E,EAAAsyD,UAGA3c,GAAApqC,EAAA,IACA,IAAAxO,EAAAwO,EAAAqS,MAEAve,EAAAkvB,KACA2nD,EAAA,EAAA1yE,EAAA,EACA,IAAAA,EAAA,EAAYA,EAAA6gC,EAAAtT,WAAA53B,SAA0BqK,EAAA0yE,IAAA7B,EAAA,QAAAA,EAAA,KAAAhwC,EAAAtT,WAAAvtB,GAAArK,OACtC,IAAAiY,EAAA2G,EAAA5e,OAAA+8E,EAAAn5E,EAAA5D,OACA,IAAAqK,EAAA,EAAYA,EAAA6gC,EAAAtT,WAAA53B,SAA0BqK,EAEtCmyC,GAAAt2C,EAAA,IAAAilC,GAAA,CAAiEvW,IAAA3c,EAAAmzB,IADjE8wC,EAAA7xE,IAAA,CAA6C,GACoB23D,QAAA,EAAAnzD,GAAA,EAAAsI,KAAA+zB,EAAAtT,WAAAvtB,IAA4DxD,IAC7HoR,GAAAjU,EAAAqG,GAAArK,OAGA,IAAA8d,EAAA5X,EAAAue,MACA,GAAAs4D,GAAAj/D,EAAA9d,OAAA,UAAA8D,MAAA,OAAAi5E,EAAA,OAAAj/D,EAAA9d,QAEA,IAAAmH,EAAA,GAIA,OAHAyX,EAAA5e,QAAAmH,EAAA0P,KAAA+H,GACAd,EAAA9d,QAAAmH,EAAA0P,KAAAiH,GACAla,EAAA5D,QAAAmH,EAAA0P,KAAAjT,GACAG,EAAAoD,EACA,CA8BA,SAAA61E,GAAA9xC,EAAArkC,GACA,QAAA/G,EAAA,EAAgBA,GAAAorC,EAAAtT,WAAA53B,SAA2BF,EAAA,CAC3C,IAAAm4B,EAAAiT,EAAArT,OAAAqT,EAAAtT,WAAA93B,IACAm4B,GAAAA,EAAA,SACAlB,GAAAkB,EAAA,SACAx1B,EAAAmB,EAAA,KACA,oBAAAqe,SAAAA,QAAAC,OAAAD,QAAAC,MAAA,cAAAgpB,EAAAtT,WAAA93B,GAAA,uDAEA,CAEA,IAAAD,EAAAgH,GAAA,GACA,OAAAhH,EAAAo2B,MAAA,GACA,qBAvCA,SAAAiV,EAAArkC,GACA,IAAAhH,EAAAgH,GAAA,GACA7C,EAAA,GAEAknC,IAAAA,EAAAj7B,MACAi7B,EAAAj7B,IAAAwa,GAAA9kB,IAEAulC,GAAAA,EAAAj7B,MACAD,KAAcF,GAAAo7B,EAAAj7B,KAEdpQ,EAAA03D,OAAAjuC,GAAA4hB,EAAAj7B,KAAgCpQ,EAAA03D,OAAArsB,EAAAj7B,IAAA,UAChCpQ,EAAA23D,IAAAtsB,EAAAj7B,KAGApQ,EAAAs5D,QAAA,GAA0Ct5D,EAAAs5D,QAAA9Z,MAAA,EAAqBx/C,EAAAs5D,QAAA5Z,OAAA,EAC/D09B,GAAAp9E,GAEAA,EAAAipD,QAAA,GACAwO,GAAAz3D,EAAAipD,QAAA,GAA6B,CAAGyO,OAAA,CAAQ2T,QAAA,KAExChgC,EAAAjK,QAAAiK,EAAAjK,MAAA,IAEA,QAAAnhC,EAAA,EAAgBA,EAAAorC,EAAAtT,WAAA53B,SAA0BF,EAAAkE,EAAAA,EAAAhE,QAAAo7E,GAAAt7E,EAAAD,EAAAqrC,GAE1C,OADAlnC,EAAA4iC,QAAAq1C,GAAA/wC,EAAAlnC,EAAAnE,IACAkE,EAAAC,EACA,CAcAk5E,CAAAhyC,EAAArkC,GACA,4BAzSA,SAAAqkC,EAAArkC,GACA,IAAAhH,EAAAgH,GAAA,GACA,MAAAzF,GAAA,MAAAvB,EAAAm4B,QAAAn4B,EAAAm4B,MAAA52B,GAGA,IAFA,IAAAw0B,EAAAR,KACA5qB,EAAA,EACA1K,EAAA,EAAaA,EAAAorC,EAAAtT,WAAA53B,SAAuBF,EAAAorC,EAAAtT,WAAA93B,IAAAD,EAAA63B,QAAAltB,EAAA1K,GACpC,MAAA0K,GAAA3K,EAAA63B,OAAAwT,EAAAtT,WAAA,IAAA/3B,EAAA63B,MAAA,UAAA5zB,MAAA,oBAAAjE,EAAA63B,OAMA,OALA8kB,GAAA5mB,EAAA,GAAA/1B,EAAAo2B,KAAA,QAAAp2B,EAAAo2B,KAAA,MAAAgV,GAAAC,EAAA,GAAArrC,IA9BA,SAAA+1B,EAAAqC,EAAAztB,EAAA3D,GACA,IACAinC,EADA9V,EAAAh1B,MAAAW,QAAAs0B,GACA9B,EAAAgB,GAAAc,EAAA,eAAAvrB,EAAA,GAAAgkC,EAAA,GACA,GAAAva,EAAA1zB,EAAAmB,EAAA,KAAAuyB,EAAA1zB,EAAA0J,EAAA,OACA,GAAAtF,EAAAupB,IAAA,UAAAtsB,MAAA,UAAAm0B,EAAA,mDACA9B,EAAA1zB,EAAAmB,EAAAsB,KAAA+H,IAAAkpB,EAAA1zB,EAAAmB,EAAA,KACAuyB,EAAA1zB,EAAA0J,EAAAjH,KAAA+H,IAAAkpB,EAAA1zB,EAAAmB,EAAA,OACAkqC,EAAA9W,GAAAb,EACA,CACA,QAAAre,EAAAqe,EAAA/yB,EAAA+I,EAAwB2L,GAAAqe,EAAA1zB,EAAA0J,IAAgB2L,EAAA,CACxCpL,EAAA6pB,GAAAze,GACA,QAAA1F,EAAA+jB,EAAA/yB,EAAAQ,EAAyBwO,GAAA+jB,EAAA1zB,EAAAmB,IAAgBwO,EAAA,CACzC0F,IAAAqe,EAAA/yB,EAAA+I,IAAAukC,EAAAt+B,GAAAokB,GAAApkB,IACA07B,EAAA4C,EAAAt+B,GAAA1F,EACA,IAAAopB,EAAAkC,GAAAC,EAAAngB,IAAA,IAAA1F,GAAA6lB,EAAA6V,GACAhY,GAEAukD,GAAAzkD,EAAAE,EAAAhe,EAAA1F,EACA,CACA,CACA,CAYA+qE,CAAAvnD,EAAAsV,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAAA,EAAA3K,GAEA28C,GAAA5mB,EAAA,IACAA,EAAAnR,KACA,CA4RA24D,CAAAlyC,EAAArkC,GAEA,UAAA/C,MAAA,gBAAAjE,EAAAg+B,SAAA,YACA,CAEA,SAAAspC,GAAA77D,EAAAmP,GACA,IAAA5T,EAAA4T,GAAA,GACA,MAAArZ,GAAA,MAAAyF,EAAAmxB,QAAAnxB,EAAAmxB,MAAA52B,GACA,IAAA62B,EAAApxB,EAAAmxB,MAAA,IAAuD,EAEvD+rC,GADAz4D,EAAAA,EAAAtJ,QAAA,mBACAyI,MAAA,WACA,IAAAs5D,EAAA,UAAAjgE,MAAA,wCACA,IAAAu5E,EAAA/xE,EAAAb,MAAA,aACA3K,EAAAikE,EAAA5oC,MAAA9wB,EAAAgzE,GAAAA,EAAAliD,OAAA7vB,EAAAtL,OACAs3C,EAAAjsB,GAAA/f,EAAA3K,MAAAb,EAAAuK,GAAA,yBACAyN,GAAA,EAAA1F,EAAA,EAAA6kC,EAAA,EAAAlY,EAAA,EACA5I,EAAA,CAAwB/yB,EAAA,CAAG+I,EAAA,IAAAvI,EAAA,KAAuBnB,EAAA,CAAI0J,EAAA,EAAAvI,EAAA,IACtDw5D,EAAA,GACA,IAAAt9D,EAAA,EAAYA,EAAAw3C,EAAAt3C,SAAiBF,EAAA,CAC7B,IAAAuU,EAAAijC,EAAAx3C,GAAAglB,OACAw4D,EAAAjpE,EAAA1T,MAAA,KAAAqO,cACA,UAAAsuE,GACA,UAAAA,GAAA,OAAAA,EAAA,CACA,IAAAtjB,EAAA3lD,EAAAhR,MAAA,cACA,IAAAgH,EAAA,EAAaA,EAAA2vD,EAAAh6D,SAAkBqK,EAAA,CAC/B,IAAAyrB,EAAAkkC,EAAA3vD,GAAAya,OACA,GAAAgR,EAAArrB,MAAA,YAGA,IAFA,IAAAlD,EAAAuuB,EAAAvqB,EAAA,EAEA,KAAAhE,EAAAzF,OAAA,KAAAyJ,EAAAhE,EAAA/H,QAAA,UAAA+H,EAAAA,EAAA5G,MAAA4K,EAAA,GACA,QAAAgyE,EAAA,EAAqBA,EAAAngB,EAAAp9D,SAAsBu9E,EAAA,CAC3C,IAAA1Y,EAAAzH,EAAAmgB,GACA1Y,EAAAzhE,EAAAQ,GAAAwO,GAAAyyD,EAAAzhE,EAAA+I,EAAA2L,GAAAA,GAAA+sD,EAAApiE,EAAA0J,IAA+DiG,EAAAyyD,EAAApiE,EAAAmB,EAAA,EAAoB25E,GAAA,EACnF,CACA,IAAA7vD,EAAAD,GAAAqI,EAAAn1B,MAAA,EAAAm1B,EAAAt2B,QAAA,OACAu/B,EAAArR,EAAA8vD,SAAA9vD,EAAA8vD,QAAA,IACAvmC,GAAAvpB,EAAA+vD,SAAA,GAAA1+C,EAAA,IAAAq+B,EAAAvmD,KAAA,CAAkDzT,EAAA,CAAG+I,EAAA2L,EAAAlU,EAAAwO,GAAQ3P,EAAA,CAAI0J,EAAA2L,GAAAm/B,GAAA,KAAArzC,EAAAwO,EAAA2sB,EAAA,KACjE,IAAA2+C,EAAAhwD,EAAA7oB,GAAA6oB,EAAA,cAEA,GAAAnmB,EAAAvH,OAIA,GAHAuH,EAAAooB,GAAApoB,GACA4uB,EAAA/yB,EAAA+I,EAAA2L,IAAAqe,EAAA/yB,EAAA+I,EAAA2L,GAAoCqe,EAAA1zB,EAAA0J,EAAA2L,IAAAqe,EAAA1zB,EAAA0J,EAAA2L,GACpCqe,EAAA/yB,EAAAQ,EAAAwO,IAAA+jB,EAAA/yB,EAAAQ,EAAAwO,GAAoC+jB,EAAA1zB,EAAAmB,EAAAwO,IAAA+jB,EAAA1zB,EAAAmB,EAAAwO,GACpC7K,EAAAvH,OAAA,CACA,IAAAH,EAAA,CAAqBgF,EAAA,IAAAF,EAAA4C,GACrBV,EAAAiS,MAAAvR,EAAAud,OAAA9kB,QAAA,KAAA09E,IACA,SAAAn2E,EAAA1H,EAAA,CAA8BgF,EAAA,IAAAF,GAAA,GAC9B,UAAA4C,EAAA1H,EAAA,CAA+BgF,EAAA,IAAAF,GAAA,GAC/B9C,MAAA+oB,GAAArjB,IACA1F,MAAAqpB,GAAA3jB,GAAAQ,aACAlI,EAAA,CAAUgF,EAAA,IAAAF,EAAAwlB,GAAA5iB,IACVV,EAAA8xB,YAAA94B,EAAA,CAA8BgF,EAAA,IAAAF,EAAA6kB,GAAA3pB,EAAA8E,KAC9B9E,EAAAguB,EAAAhnB,EAAAqH,QAAAvI,EAAA,KAJA9F,EAAA,CAAqCgF,EAAA,IAAAF,EAAAimB,GAAArjB,KAMrCV,EAAAmxB,OAAoBC,EAAAngB,KAAAmgB,EAAAngB,GAAA,IAAuBmgB,EAAAngB,GAAA1F,GAAAvS,GAC3Co4B,EAAA5B,GAAA,CAAwBlqB,EAAA2L,EAAAlU,EAAAwO,KAASvS,EACjCuS,GAAA2sB,CAb4B,MAAT3sB,GAAA2sB,OAJA3sB,GAAA2sB,CAbnB,CA+BA,CAnCA,MADA,CAAyB,KAALjnB,EAAKjR,EAAAmpC,WAAAnpC,EAAAmpC,WAAAl4B,EAAA,GAA4CA,EAAK,MAAS1F,EAAA,CAAO,CAqC1F,CAGA,OAFA6lB,EAAA,QAAAjB,GAAAb,GACAinC,EAAAp9D,SAAAi4B,EAAA,WAAAmlC,GACAnlC,CACA,CACA,SAAA0lD,GAAA1lD,EAAA9rB,EAAA2L,EAAAjY,GAGA,IAFA,IAAA4H,EAAAwwB,EAAA,eACAnE,EAAA,GACA1hB,EAAAjG,EAAA/I,EAAAQ,EAAoBwO,GAAAjG,EAAA1J,EAAAmB,IAAYwO,EAAA,CAEhC,IADA,IAAA6kC,EAAA,EAAAlY,EAAA,EACA10B,EAAA,EAAiBA,EAAA5C,EAAAzH,SAAcqK,EAC/B,KAAA5C,EAAA4C,GAAAjH,EAAA+I,EAAA2L,GAAArQ,EAAA4C,GAAAjH,EAAAQ,EAAAwO,GACA3K,EAAA4C,GAAA5H,EAAA0J,EAAA2L,GAAArQ,EAAA4C,GAAA5H,EAAAmB,EAAAwO,GAAA,CACA,GAAA3K,EAAA4C,GAAAjH,EAAA+I,EAAA2L,GAAArQ,EAAA4C,GAAAjH,EAAAQ,EAAAwO,EAAA,CAAsC6kC,GAAA,EAAS,MAC/CA,EAAAxvC,EAAA4C,GAAA5H,EAAA0J,EAAA1E,EAAA4C,GAAAjH,EAAA+I,EAAA,EAAiC4yB,EAAAt3B,EAAA4C,GAAA5H,EAAAmB,EAAA6D,EAAA4C,GAAAjH,EAAAQ,EAAA,EAA8B,KAF/D,CAIA,KAAAqzC,EAAA,IACA,IAAAQ,EAAAphB,GAAA,CAA2BlqB,EAAAvI,EAAAwO,IAC3B0jB,EAAAj2B,EAAAm4B,OAAAC,EAAAngB,IAAA,IAAA1F,GAAA6lB,EAAAwf,GAEAxuC,EAAA6sB,GAAA,MAAAA,EAAAnxB,IAAAmxB,EAAA5X,GAAAyQ,GAAAmH,EAAA7sB,IAAAmuB,GAAAtB,GAAAA,EAAA7sB,IAAA,SACAorD,EAAA,CAAc,EACdpd,EAAA,IAAAod,EAAAopB,QAAAxmC,GACAlY,EAAA,IAAAs1B,EAAAmpB,QAAAz+C,GACAl/B,EAAA+9E,SAAA30E,EAAA,gCAAAA,EAAA,UACA6sB,IACAu+B,EAAA,UAAAv+B,GAAAA,EAAAjxB,GAAA,IACA,MAAAixB,EAAAnxB,IAAA0vD,EAAA,UAAAv+B,EAAAnxB,GACA,MAAAmxB,EAAAjI,IAAAwmC,EAAA,UAAAv+B,EAAAjI,GACAiI,EAAAvnB,GAAA,MAAAunB,EAAAvnB,EAAAuxB,QAAA,KAAAh+B,OAAA,KAAAmH,EAAA,YAAA6sB,EAAAvnB,EAAAuxB,OAAA,KAAA72B,EAAA,SAEAorD,EAAA3pB,IAAA7qC,EAAA6qC,IAAA,WAAA+M,EACA3jB,EAAAjd,KAAA4Z,GAAA,KAAAxnB,EAAAorD,GAhBA,CAiBA,CAEA,MADA,OACAvgC,EAAAzzB,KAAA,WACA,CAEA,IAAAw9E,GAAA,sFACAC,GAAA,iBAWA,SAAAC,GAAA9lD,EAAAngB,EAAAjY,GAEA,MADA,GACAQ,KAAA,cAAAR,GAAAA,EAAA6qC,GAAA,QAAA7qC,EAAA6qC,GAAA,WACA,CAEA,SAAAszC,GAAA/lD,EAAApxB,GACA,IAAAhH,EAAAgH,GAAA,GACAgP,EAAA,MAAAhW,EAAAgW,OAAAhW,EAAAgW,OAAAgoE,GACAxmB,EAAA,MAAAx3D,EAAAw3D,OAAAx3D,EAAAw3D,OAAAymB,GACA32E,EAAA,CAAA0O,GACA1J,EAAA4qB,GAAAkB,EAAA,SACAp4B,EAAAm4B,MAAAh1B,MAAAW,QAAAs0B,GACA9wB,EAAA0P,KAAAknE,GAAA9lD,EAAA9rB,EAAAtM,IACA,QAAAiY,EAAA3L,EAAA/I,EAAA+I,EAAoB2L,GAAA3L,EAAA1J,EAAA0J,IAAY2L,EAAA3Q,EAAA0P,KAAA8mE,GAAA1lD,EAAA9rB,EAAA2L,EAAAjY,IAEhC,OADAsH,EAAA0P,KAAA,WAAAwgD,GACAlwD,EAAA9G,KAAA,GACA,CAEA,SAAA49E,GAAAhmD,EAAA9pB,EAAAsM,GACA,IAAA5T,EAAA4T,GAAA,GACA,MAAArZ,IAAAyF,EAAAmxB,MAAA52B,GACA,IAAA88E,EAAA,EAAAC,EAAA,EACA,SAAAt3E,EAAAuxB,OACA,oBAAAvxB,EAAAuxB,OAAA8lD,EAAAr3E,EAAAuxB,WACA,CACA,IAAAC,EAAA,iBAAAxxB,EAAAuxB,OAAAtB,GAAAjwB,EAAAuxB,QAAAvxB,EAAAuxB,OACA8lD,EAAA7lD,EAAAlsB,EAAqBgyE,EAAA9lD,EAAAz0B,CACrB,CAGA,IAAA0zC,EAAAnpC,EAAAiwE,qBAAA,MACApuC,EAAA9qC,KAAA+H,IAAApG,EAAAmpC,WAAA,IAAAsH,EAAAt3C,QACAm2B,EAAA,CAAwB/yB,EAAA,CAAG+I,EAAA,EAAAvI,EAAA,GAAQnB,EAAA,CAAI0J,EAAA+xE,EAAAt6E,EAAAu6E,IACvC,GAAAlmD,EAAA,SACA,IAAAK,EAAAvB,GAAAkB,EAAA,SACA9B,EAAA/yB,EAAA+I,EAAAjH,KAAA+H,IAAAkpB,EAAA/yB,EAAA+I,EAAAmsB,EAAAl1B,EAAA+I,GACAgqB,EAAA/yB,EAAAQ,EAAAsB,KAAA+H,IAAAkpB,EAAA/yB,EAAAQ,EAAA00B,EAAAl1B,EAAAQ,GACAuyB,EAAA1zB,EAAA0J,EAAAjH,KAAAgI,IAAAipB,EAAA1zB,EAAA0J,EAAAmsB,EAAA71B,EAAA0J,GACAgqB,EAAA1zB,EAAAmB,EAAAsB,KAAAgI,IAAAipB,EAAA1zB,EAAAmB,EAAA00B,EAAA71B,EAAAmB,IACA,GAAAs6E,IAAA/nD,EAAA1zB,EAAA0J,EAAA+xE,EAAA5lD,EAAA71B,EAAA0J,EAAA,EACA,CACA,IAAAixD,EAAA,GAAAmgB,EAAA,EACAhoC,EAAAtd,EAAA,WAAAA,EAAA,aACAC,EAAA,EAAApgB,EAAA,EAAAqgB,EAAA,EAAA/lB,EAAA,EAAA6kC,EAAA,EAAAlY,EAAA,EAEA,IADA9G,EAAA,WAAAA,EAAA,aACOC,EAAAof,EAAAt3C,QAAA8X,EAAAk4B,IAAmC9X,EAAA,CAC1C,IAAA7jB,EAAAijC,EAAApf,GACA,GAAAmmD,GAAAhqE,GAAA,CACA,GAAAxN,EAAA+sE,QAAA,SACAr+B,EAAAz9B,GAAA,CAAiBw+B,QAAA,EACjB,CACA,IAAAgoC,EAAAjqE,EAAA,SACA,IAAA8jB,EAAA/lB,EAAA,EAAkB+lB,EAAAmmD,EAAAt+E,SAAkBm4B,EAAA,CACpC,IAAA5d,EAAA+jE,EAAAnmD,GACA,IAAAtxB,EAAA+sE,UAAAyK,GAAA9jE,GAAA,CACA,IAAA5V,EAAA4V,EAAAgkE,aAAA,UAAAhkE,EAAAikE,aAAA,UAAAjkE,EAAAgkE,aAAA,KAAAhkE,EAAAikE,aAAA,KAAA7uD,GAAApV,EAAAkkE,WACA5wD,EAAAtT,EAAAikE,aAAA,WAAAjkE,EAAAikE,aAAA,KACA,IAAAjB,EAAA,EAAiBA,EAAAngB,EAAAp9D,SAAsBu9E,EAAA,CACvC,IAAAh2E,EAAA61D,EAAAmgB,GACAh2E,EAAAnE,EAAAQ,GAAAwO,EAAA+rE,GAAA52E,EAAAnE,EAAA+I,EAAA2L,EAAAomE,GAAApmE,EAAAomE,GAAA32E,EAAA9E,EAAA0J,IAAqEiG,EAAA7K,EAAA9E,EAAAmB,EAAA,EAAAu6E,EAAoBZ,GAAA,EACzF,CAEAx+C,GAAAxkB,EAAAikE,aAAA,gBACAvnC,GAAA18B,EAAAikE,aAAA,kBAAAz/C,EAAA,IAAAq+B,EAAAvmD,KAAA,CAA4EzT,EAAA,CAAG+I,EAAA2L,EAAAomE,EAAAt6E,EAAAwO,EAAA+rE,GAAsB17E,EAAA,CAAI0J,EAAA2L,EAAAomE,GAAAjnC,GAAA,KAAArzC,EAAAwO,EAAA+rE,GAAAp/C,GAAA,QACzG,IAAAl/B,EAAA,CAAqBgF,EAAA,IAAAF,EAAAA,GACrB+4E,EAAAnjE,EAAAikE,aAAA,WAAAjkE,EAAAikE,aAAA,SACA,MAAA75E,IACA,GAAAA,EAAA3E,OAAAH,EAAAgF,EAAA64E,GAAA,IACA72E,EAAAiS,KAAA,GAAAnU,EAAAmgB,OAAA9kB,QAAA,KAAA09E,IACA,SAAA/4E,EAAA9E,EAAA,CAA+BgF,EAAA,IAAAF,GAAA,GAC/B,UAAAA,EAAA9E,EAAA,CAAgCgF,EAAA,IAAAF,GAAA,GAChC9C,MAAA+oB,GAAAjmB,IACA9C,MAAAqpB,GAAAvmB,GAAAoD,aACAlI,EAAA,CAAWgF,EAAA,IAAAF,EAAAwlB,GAAAxlB,IACXkC,EAAA8xB,YAAA94B,EAAA,CAA+BgF,EAAA,IAAAF,EAAA6kB,GAAA3pB,EAAA8E,KAC/B9E,EAAAguB,EAAAhnB,EAAAqH,QAAAvI,EAAA,KAJA9F,EAAA,CAAsCgF,EAAA,IAAAF,EAAAimB,GAAAjmB,WAOtCkL,IAAAhQ,EAAAguB,GAAA,MAAAA,IAAAhuB,EAAAguB,EAAAA,GAGA,IAAAtf,EAAA,GAAAmwE,EAAAnkE,EAAA6jE,qBAAA,KACA,GAAAM,GAAAA,EAAA1+E,OAAA,QAAA2+E,EAAA,EAAgDA,EAAAD,EAAA1+E,UAAsB0+E,EAAAC,GAAAJ,aAAA,SAC3B,MAA3ChwE,EAAAmwE,EAAAC,GAAAH,aAAA,SAA2C18E,OAAA,MAD2B68E,GAGtEpwE,GAAA,KAAAA,EAAAzM,OAAA,KAAAjC,EAAA0O,EAAA,CAAwCuxB,OAAAvxB,IACxC1H,EAAAmxB,OAAoBC,EAAAngB,EAAAomE,KAAAjmD,EAAAngB,EAAAomE,GAAA,IAAqCjmD,EAAAngB,EAAAomE,GAAA9rE,EAAA+rE,GAAAt+E,GACzDo4B,EAAA5B,GAAA,CAAwBzyB,EAAAwO,EAAA+rE,EAAAhyE,EAAA2L,EAAAomE,KAAuBr+E,EAC/Cs2B,EAAA1zB,EAAAmB,EAAAwO,EAAA+rE,IAAAhoD,EAAA1zB,EAAAmB,EAAAwO,EAAA+rE,GACA/rE,GAAA2sB,CAnCA,CAoCA,GACAjnB,CACA,CAKA,OAJAslD,EAAAp9D,SAAAi4B,EAAA,YAAAA,EAAA,gBAAAh0B,OAAAm5D,IACAjnC,EAAA1zB,EAAA0J,EAAAjH,KAAAgI,IAAAipB,EAAA1zB,EAAA0J,EAAA2L,EAAA,EAAAomE,GACAjmD,EAAA,QAAAjB,GAAAb,GACAre,GAAAk4B,IAAA/X,EAAA,YAAAjB,IAAAb,EAAA1zB,EAAA0J,EAAAmrC,EAAAt3C,OAAAk4B,EAAApgB,EAAA,EAAAomE,EAAA/nD,KACA8B,CACA,CAEA,SAAA2mD,GAAAzwE,EAAAsM,GAGA,OAAAwjE,IAFAxjE,GAAA,IACAud,MAAA,IAAuD,EACvD7pB,EAAAsM,EACA,CAMA,SAAA4jE,GAAAQ,GACA,IAAAjL,EAAA,GACAkL,EAOA,SAAAD,GAEA,OAAAA,EAAAE,cAAAC,aAAA,mBAAAH,EAAAE,cAAAC,YAAAC,iBAAAJ,EAAAE,cAAAC,YAAAC,iBAEA,mBAAAA,iBAAAA,iBACA,IACA,CAbAC,CAAAL,GAGA,OAFAC,IAAAlL,EAAAkL,EAAAD,GAAAM,iBAAA,YACAvL,IAAAA,EAAAiL,EAAA5yC,OAAA4yC,EAAA5yC,MAAA2nC,SACA,SAAAA,CACA,CAWA,SAAAwL,GAAA96D,GAEA,IAAA+6D,EAAA/6D,EACAtiB,QAAA,iBAAA8iB,OAAA9iB,QAAA,WACAA,QAAA,mBACAA,QAAA,sCAAA6I,EAAAC,GAA2D,OAAA9H,MAAAyJ,SAAA3B,EAAA,OAAAzK,KAAA,OAC3D2B,QAAA,2BACAA,QAAA,6BAGA,OAFAmsB,GAAAkxD,EAAAr9E,QAAA,gBAGA,CAEA,IAAAs9E,GAAA,CAEAC,IAAA,WACAC,MAAA,WACAC,KAAA,WACAC,MAAA,WACAC,QAAA,WACAC,QAAA,WACA,wBACA,6BACAC,IAAA,WAEAC,QAAA,4BAIA,SAAAC,GAAAn7E,EAAA6V,GACA,IAAA5T,EAAA4T,GAAA,GACA,MAAArZ,GAAA,MAAAyF,EAAAmxB,QAAAnxB,EAAAmxB,MAAA52B,GACA,IACAsjB,EACAgJ,EAEAsyD,EACAC,EAGAlZ,EAAApgE,EARA2E,EAAAslB,GAAAhsB,GACAoT,EAAA,GAEAkoE,EAAA,CAAe/oE,KAAA,IAAQyxC,EAAA,GAAAqf,EAAA,EAGvBpwC,EAAA,GAAiBD,EAAA,GACjBK,EAAApxB,EAAAmxB,MAAA,IAA0C,EAE1CmoD,EAAA,CAAenxD,MAAA,IACfoxD,EAAA,GAAAC,EAAA,EACAC,EAAA,GACAxoE,GAAA,EAAA1F,GAAA,EAAA+jB,EAAA,CAA+B/yB,EAAA,CAAI+I,EAAA,IAAAvI,EAAA,KAAqBnB,EAAA,CAAM0J,EAAA,EAAAvI,EAAA,IAC9D28E,EAAA,EACAC,EAAA,GACApjB,EAAA,GAAAqjB,EAAA,GACAlrC,EAAA,GAAAmrC,EAAA,EAAAC,EAAA,EACAxrB,EAAA,GACAn3B,EAAA,CAAYg/B,MAAA,IACZ4jB,EAAA,CAAgB,EAChBC,EAAA,QACA9jD,EAAA,GAAAixB,EAAA,CAAiE,EACjE8yB,EAAA,GAAAC,EAAA,EACAC,GAAA,EAAAC,GAAA,EACAnhF,EAAA,EAGA,IAFA+wB,GAAAsyB,UAAA,EACA73C,EAAAA,EAAAtJ,QAAA,0BAAAA,QAAA,mCACA+kE,EAAAl2C,GAAAqyB,KAAA53C,WAAAy7D,EAAA,GAAAA,EAAA,GAAA/kE,QAAA,YAEA,sBACA,MAAA+kE,EAAA,IACA5wC,EAAA1zB,EAAAmB,GAAAuyB,EAAA/yB,EAAAQ,GAAAuyB,EAAA1zB,EAAA0J,GAAAgqB,EAAA/yB,EAAA+I,EAAA8rB,EAAA,QAAAjB,GAAAb,GACA8B,EAAA,gBACApxB,EAAAmpC,UAAA,GAAAnpC,EAAAmpC,WAAA7Z,EAAA1zB,EAAA0J,IACA8rB,EAAA,YAAAA,EAAA,QACA9B,EAAA1zB,EAAA0J,EAAAtF,EAAAmpC,UAAA,EACA/X,EAAA,QAAAjB,GAAAb,IAEAinC,EAAAp9D,SAAAi4B,EAAA,WAAAmlC,GACA7nB,EAAAv1C,SAAAi4B,EAAA,SAAAsd,GACAyqC,EAAA7oE,KAAA6oE,EAAA,OAAAA,EAAA7oE,KACA,oBAAAuT,MAAAA,KAAAC,UAAAq1D,GACApoD,EAAA/gB,KAAAmpE,EAAA7oE,MACA0gB,EAAAmoD,EAAA7oE,MAAA8gB,EACAgpD,GAAA,GAEA,MAAAla,EAAA,GAAAjlE,OAAAilE,EAAA,GAAA/mE,OAAA,KACAggF,EAAAvyD,GAAAs5C,EAAA,OACAjvD,EAAA1F,GAAA,EACA+jB,EAAA/yB,EAAA+I,EAAAgqB,EAAA/yB,EAAAQ,EAAA,IAAuCuyB,EAAA1zB,EAAA0J,EAAAgqB,EAAA1zB,EAAAmB,EAAA,EACvCq0B,EAAApxB,EAAAmxB,MAAA,IAAyC,EAAWolC,EAAA,GACpD7nB,EAAA,GACA0rC,GAAA,GAEA,MAEA,sBACA,MAAAla,EAAA,KAAAwZ,IAAgCA,EAChC,MACA,wBACA,SAAAxZ,EAAA,IAAwBjvD,GAAA4oE,EAAYA,EAAA,EAAa,MAKjD,IAJAT,EAAAxyD,GAAAs5C,EAAA,QACA,MAAAjvD,EAAAmoE,EAAA,SAA2C,GAAAnoE,IAAAA,EAAA,IAC3C4oE,GAAAT,EAAA,4BAEA,OAAAngF,EAAA,EAAgCA,EAAA4gF,IAAa5gF,EAAAygF,EAAA,IAAAhrC,EAAAz9B,EAAAhY,GAAA,CAAsC6uC,MAAA4xC,IACnFnuE,GAAA,EAAY,MACZ,yBACA,MAAA20D,EAAA,MAAA30D,EACAvL,EAAA6xB,aACA7xB,EAAAmxB,OAAsBC,EAAAngB,KAAAmgB,EAAAngB,GAAA,IAAuBmgB,EAAAngB,GAAA1F,GAAA,CAAYvN,EAAA,MACzDozB,EAAA5B,GAAA,CAA0BlqB,EAAA2L,EAAAlU,EAAAwO,KAAQ,CAAMvN,EAAA,MAExCu7E,EAAA,GAAgBE,EAAA,GAChB,MACA,0BACA,SAAAvZ,EAAA,GAAAjlE,OAAAilE,EAAA,GAAA/mE,OAAA,KACAoS,EACA+tE,EAAA1yD,GAAAs5C,EAAA,OACA4Z,EAAAl0E,SAAA0zE,EAAA,oCACAx5E,EAAA,CAAW9B,EAAA,IAAAF,EAAA,MACXw7E,EAAAlqC,SAAA,GAAApvC,EAAAi0D,cAAAn0D,EAAAyH,EAAA4nD,GAAA7nC,GAAAgyD,EAAAlqC,WACA,WAAAkqC,EAAA,SAAAA,EAAA,iBACAx5E,EAAA9B,EAAA,IAAiB8B,EAAAhC,EAAAwpB,GAAAgyD,EAAA,qBACjBt5E,EAAAmxB,OACAC,EAAAngB,KAAAmgB,EAAAngB,GAAA,IACAmgB,EAAAngB,GAAA1F,GAAAzL,GAEAsxB,EAAA5B,GAAA,CAAuBlqB,EAAA2L,EAAAlU,EAAAwO,KAAQzL,GAG/ByL,GAAAuuE,EAAA,OACM,SAAA5Z,EAAA,IAENqZ,EAAA,GAAiBC,EAAA,EAAcC,EAAA,GAC/BK,EAAA,EACA,IAAAO,EAAAR,EAAA5oE,EAAA4oE,EAAA,EAAA5oE,EAQA,KAXA1F,EAIA+jB,EAAA1zB,EAAAmB,IAAAuyB,EAAA1zB,EAAAmB,EAAAwO,GACAA,EAAA+jB,EAAA/yB,EAAAQ,IAAAuyB,EAAA/yB,EAAAQ,EAAAwO,GACA0F,EAAAqe,EAAA/yB,EAAA+I,IAAAgqB,EAAA/yB,EAAA+I,EAAA2L,GACAopE,EAAA/qD,EAAA1zB,EAAA0J,IAAAgqB,EAAA1zB,EAAA0J,EAAA+0E,GAEAnkD,EAAA,GAAoBixB,EAAA,CAAa,EACjCrnD,EAAA,CAAW9B,GAFXs7E,EAAA1yD,GAAAs5C,EAAA,QAEW,SAAAoZ,EAAA,cAAAx7E,EAAA,MACXkC,EAAAi0D,YASA,GARAqlB,EAAAlqC,UAAAkqC,EAAAlqC,QAAA9nB,GAAAgyD,EAAAlqC,UACAkqC,EAAA,kCAAAA,EAAA,gCAGAM,EAAA,CAAiBr9E,EAAA,CAAI+I,EAAA2L,EAAAlU,EAAAwO,GAAQ3P,EAAA,CAAK0J,EAAA2L,GAFlCrL,SAAA0zE,EAAA,sCAEkC,EAAAv8E,EAAAwO,GADlC3F,SAAA0zE,EAAA,yCACkC,IAClCx5E,EAAA8iC,EAAAzS,GAAAypD,GACAtrB,EAAAt+C,KAAA,CAAA4pE,EAAA95E,EAAA8iC,KAEA02C,EAAAlqC,QAAAtvC,EAAAyH,EAAA4nD,GAAAmqB,EAAAlqC,cACA,IAAAn2C,EAAA,EAAsBA,EAAAq1D,EAAAn1D,SAAmBF,EACzCgY,GAAAq9C,EAAAr1D,GAAA,GAAAsD,EAAA+I,GAAA2L,GAAAq9C,EAAAr1D,GAAA,GAAA2C,EAAA0J,GACAiG,GAAA+iD,EAAAr1D,GAAA,GAAAsD,EAAAQ,GAAAwO,GAAA+iD,EAAAr1D,GAAA,GAAA2C,EAAAmB,IACA+C,EAAA8iC,EAAA0rB,EAAAr1D,GAAA,IAaA,QAXAqgF,EAAA,2BAAAA,EAAA,0BAGAM,EAAA,CAAgBr9E,EAAA,CAAI+I,EAAA2L,EAAAlU,EAAAwO,GAAQ3P,EAAA,CAAK0J,EAAA2L,GAFjCrL,SAAA0zE,EAAA,+BAEiC,EAAAv8E,EAAAwO,GADjC3F,SAAA0zE,EAAA,kCACiC,IACjC/iB,EAAAvmD,KAAA4pE,IAIAN,EAAA,6BAAAQ,EAAAl0E,SAAA0zE,EAAA,gCAGAx5E,EAAA9B,GACA,cAAA8B,EAAA9B,EAAA,IAAiC8B,EAAAhC,EAAAoqB,GAAAoxD,EAAA,kBAA2C,MAC5E,YACA,iBACA,eAAAx5E,EAAA9B,EAAA,IAAkC8B,EAAAhC,EAAAsJ,WAAAkyE,EAAAnxD,OAA8B,MAChE,WAAAroB,EAAA9B,EAAA,IAA8B8B,EAAAhC,EAAAwlB,GAAAg2D,EAAA,eAC9Bt5E,EAAA8xB,YAA6BhyB,EAAA9B,EAAA,IAAW8B,EAAAhC,EAAA6kB,GAAA7iB,EAAAhC,IACxCgC,EAAAknB,EAAA,SAAuB,MACvB,WAAAlnB,EAAA9B,EAAA,IAA8B8B,EAAAhC,EAAAmlB,GAAAq2D,EAAA,qBAC9Bt5E,EAAA8xB,YAA4BhyB,EAAA9B,EAAA,IAAW8B,EAAAhC,EAAAilB,GAAAjjB,EAAAhC,IACvCgC,EAAAknB,EAAA,WAAyB,MACzB,aAAAlnB,EAAA9B,EAAA,IAAgC8B,EAAAhC,EAAAsJ,WAAAkyE,EAAA,SAAgC,MAChE,QACA,cAAAx5E,EAAA9B,GAAA,SAAA8B,EAAA9B,GAAA8B,EAAA9B,EAGS,UAAAf,MAAA,0BAAA6C,EAAA9B,GAFT8B,EAAA9B,EAAA,IACA,MAAAs7E,EAAA,kBAA2CC,EAAAjyD,GAAAgyD,EAAA,iBAA2CG,EAAA,IAGtF,KAAM,CAWN,GAVAU,GAAA,EACA,MAAAr6E,EAAA9B,IACA8B,EAAAhC,EAAAy7E,GAAA,GACAE,EAAAtgF,SAAA2G,EAAAmR,EAAAwoE,GACAU,EAAA,GAAAX,GAEAO,EAAA9gD,SAAAn5B,EAAA4H,EAAAqyE,GACA7jD,EAAA/8B,OAAA,IAA+B2G,EAAA/C,EAAAm5B,EAAgBA,EAAA,IAC/CqjD,IAAA,IAAAv5E,EAAA0yC,WAAA5yC,EAAAsC,EAAAm3E,GACAY,IAAkBr6E,EAAA9B,EAAA,WAAW8B,EAAAhC,KAC7Bq8E,GAAAn6E,EAAA6xB,eACA7xB,EAAAmpC,WAAAnpC,EAAAmpC,WAAAl4B,GACA,QAAAqpE,EAAA,EAAwBA,EAAAT,IAAeS,EAAA,CAEvC,GADAR,EAAAl0E,SAAA0zE,EAAA,oCACAt5E,EAAAmxB,MAGA,IAFAC,EAAAngB,EAAAqpE,KAAAlpD,EAAAngB,EAAAqpE,GAAA,IACAlpD,EAAAngB,EAAAqpE,GAAA/uE,GAAA,GAAA+uE,EAAAx6E,EAAA8jB,GAAA9jB,KACAg6E,EAAA,GAAA1oD,EAAAngB,EAAAqpE,GAAA/uE,EAAAuuE,GAAAl2D,GAAA9jB,QAGA,IADAsxB,EAAA5B,GAAA,CAAyBlqB,EAAA2L,EAAAqpE,EAAAv9E,EAAAwO,KAAczL,IACvCg6E,EAAA,GAAA1oD,EAAA5B,GAAA,CAA8ClqB,EAAA2L,EAAAqpE,EAAAv9E,EAAAwO,EAAAuuE,KAAwBl2D,GAAA9jB,GAEtEwvB,EAAA1zB,EAAAmB,GAAAwO,IAAA+jB,EAAA1zB,EAAAmB,EAAAwO,EACA,CAIAA,IADAuuE,EAAAl0E,SAAA0zE,EAAA,qCACA,EAAqBQ,EAAA,EACrBh6E,EAAA,CAAU,EACVy5E,EAAA,GAAiBE,EAAA,EACjB,CACAM,EAAA,CAAc,EACd,MAGA,eACA,oCACA,2BACA,cACA,aACA,sBACA,oBACA,SAAA7Z,EAAA,IAAoB,IAAAriD,EAAA1M,EAAA8B,OAAA,KAAAitD,EAAA,sBAAAriD,MACpB,MAAAqiD,EAAA,GAAAjlE,OAAAilE,EAAA,GAAA/mE,OAAA,IAAAgY,EAAAnB,KAAA,CAAAkwD,EAAA,QACA,MAEA,iBACA,SAAAA,EAAA,IACA,IAAAriD,EAAA1M,EAAA8B,OAAA,KAAAitD,EAAA,sBAAAriD,EACAspC,EAAAnpD,EAAAu7E,EACAE,EAAAtgF,SAAAguD,EAAAl2C,EAAAwoE,GACAtyB,EAAApvC,EAAAkiE,EACA/jD,EAAAlmB,KAAAm3C,EACA,KACA,MAAA+Y,EAAA,GAAAjlE,OAAAilE,EAAA,GAAA/mE,OAAA,IAAmDgY,EAAAnB,KAAA,CAAAkwD,EAAA,QACnD+Z,EAAA,GAAkBC,EAAA,EAClBX,EAAA,GAAgBC,EAAA,EAAcC,EAAA,GAC9B,MAEA,cACA,MAAAvZ,EAAA,GAAsB+Z,EAAAx1E,EAAA3K,MAAAogF,EAAAha,EAAA5rC,OACtB4lD,EAAAha,EAAA5rC,MAAA4rC,EAAA,GAAA/mE,OACA,MAGA,qBACA,eACA,sBACA,8BACA,4BACA,4BACA,aACA,YACA,eACA,YACA,wBACA,iBACA,WACA,gBACA,sBACA,YACA,SAAA+mE,EAAA,IAAoB,IAAAriD,EAAA1M,EAAA8B,OAAA,KAAAitD,EAAA,sBAAAriD,MACpB,MAAAqiD,EAAA,GAAAjlE,OAAAilE,EAAA,GAAA/mE,OAAA,IAAAgY,EAAAnB,KAAA,CAAAkwD,EAAA,QACAqZ,EAAA,GAAgBC,EAAA,EAAcC,EAAA,GAC9B,MAEA,wBAEA,sBAEA,qBAeA,aACA,gBACA,uBAEA,oBACA,kBACA,YAEA,UACA,gBAEA,2BACA,uBACA,8BACA,2BACA,4BAUA,eAoBA,oBACA,cACA,iBAqBA,mBACA,sBACA,oBAEA,sBAEA,YACA,mBACA,wBACA,iBAEA,yBACA,2BACA,oBAEA,gBAEA,yBACA,2BACA,wBACA,kBACA,mBACA,uBACA,WACA,cACA,kBAEA,UACA,iBACA,WAQA,QAUA,WAEA,aACA,qBACA,WACA,kBAGA,mBACA,eAEA,gBACA,0BACA,yBACA,mBACA,oBACA,sBACA,aACA,iBACA,gBACA,uBAEA,8BACA,8BACA,4BAGA,uBACA,sBACA,sBACA,mBACA,sBACA,mBACA,2BACA,iBACA,qBACA,wBACA,oBACA,kBACA,yBACA,qBACA,+BACA,kBACA,sBACA,cACA,gBACA,oBACA,iBAGA,qBAGA,sBACA,oBACA,iBACA,gBACA,yBACA,mBACA,uBACA,qBAIA,kBAIA,kBACA,iBACA,WAGA,wBACA,gBACA,gBACA,wBAGA,uBACA,wBACA,qBACA,uBACA,uBACA,2BACA,0BACA,yBACA,wBACA,8BACA,2BACA,6BACA,iCACA,wBACA,uBACA,8BAIA,WAIA,2BACA,0BACA,eACA,iBAGA,iBACA,eAeA,uBACA,6BACA,yCA9PA,mBACA,uBACA,iBACA,iBACA,SAAAvZ,EAAA,IAEA,GADAyZ,EAAAN,EAAA/oE,MAAAyxC,GACAlkC,EAAA1M,EAAA8B,OAAA,KAAAitD,EAAA,sBAAAriD,MACM,MAAAqiD,EAAA,GAAAjlE,OAAAilE,EAAA,GAAA/mE,OAAA,KACN4oD,EAAA,GACAs3B,EAAAzyD,GAAAs5C,EAAA,OACA/uD,EAAAnB,KAAA,CAAAkwD,EAAA,SACM,MAmBN,aAUA,UACA,YACA,WACA,UACA,kBACA,mBACA,cACA,YACA,cACA,cACA,YACA,OAAA/uD,EAAAA,EAAAhY,OAAA,OACA,iBACA,iBACA0tB,EAAAD,GAAAs5C,EAAA,OACAne,GAAA02B,GAAAvY,EAAA,aAAAr5C,EAAAue,MAAA,KACM,MAKN,WACA,UAAA86B,EAAA,GAAApmE,OAAA,SACA,SAAAomE,EAAA,UAAA/uD,EAAAA,EAAAhY,OAAA,OACA,mBACA,iBACA,iBACA4oD,GAAAt9C,EAAA3K,MAAAsnE,EAAAlB,EAAA5rC,YAGA8sC,EAAAlB,EAAA5rC,MAAA4rC,EAAA,GAAA/mE,OACA,MAEA,kBAEA6gF,EAAA3qB,IADAxoC,EAAAD,GAAAs5C,EAAA,QACA,uBACA,IAAAqa,EAAA,CAAmBr0C,KAAArf,EAAAvW,KAAA+lD,IAAA2jB,EAAA,OAAAA,EAAA,IACnBI,IAAAG,EAAAnkB,MAAArlC,EAAA53B,QACAg+B,EAAAg/B,MAAAnmD,KAAAuqE,GACA,MAgCA,kBACA,qBAAA5hF,QAAAwY,EAAAA,EAAAhY,OAAA,gBACA,SAAA+mE,EAAA,IAAAoZ,GAAAA,EAAA,gBAGa1yD,GAAAs5C,EAAA,OAAsCsZ,EAAAtZ,EAAA5rC,MAAA4rC,EAAA,GAAA/mE,WAHnD,CACA,IAAAqhF,EAAAjC,GAAA9zE,EAAA3K,MAAA0/E,EAAAtZ,EAAA5rC,QACAilD,GAAAA,EAAApgF,OAAA,EAAAogF,EAAA,SAAAiB,EAAA,EACA,CACA,MAGA,qBACA,SAAAta,EAAA,SACA,IAEAlvC,GADAgpD,EAAA3qB,GAAAzoC,GAAAs5C,EAAA,8BACA,oBAAwCj5B,IAAA+yC,EAAA,GACxC,CAAM,MAAAp+E,GAAU,CAChB,MAiHA,QACA,SAAAskE,EAAA,IAEA,KADA6Z,EAAAnzD,GAAAs5C,EAAA,QACA9+C,KAAA,MACA24D,EAAA9gD,OAAA3R,GAAAyyD,EAAA34D,aAA2C24D,EAAA34D,KAC3C,KAAA24D,EAAA9gD,OAAAh+B,OAAA,IAAA8+E,EAAA9gD,OAAAtgC,QAAA,SACAqhF,EAAA3qB,GAAA0qB,EAAA9gD,OAAAn/B,MAAA,IACAigF,EAAA9gD,OAAA,IAAA+gD,EAAA,OAAAA,EAAA,IACOD,EAAA9gD,OAAAr1B,MAAA,iBAAAm2E,EAAA9gD,OAAA8gD,EAAA9gD,OAAAn/B,MAAA,GACP,CACA,MAMA,eAAAomE,EAAA,IACA,UACA,eACA,aACA,WACA,gBACA,YACA,aACA,aACA,YACA,WACA,SACA,SACA,MACA,WAAAlgE,EAAAupB,IAAA,UAAAtsB,MAAAijE,IAGA,IAAA5/D,EAAA,CACA0wB,OAAAA,EACAD,WAAAA,EACA8jC,SAAA19B,GAGA,OADAn3B,EAAAijE,mBAAA3iE,EAAA0wB,OACA1wB,CACA,CAEA,SAAAm6E,GAAAt1D,EAAAnlB,GACAA,EAAAA,GAAA,CAAmB,EACnBklB,GAAAC,EAAA,0BAn7fA,SAAApnB,EAAAiC,GAIA,IAHA,IACAkgE,EACAwa,EAFAj2E,EAAAslB,GAAAhsB,GAGAmiE,EAAAl2C,GAAAqyB,KAAA53C,WAAAy7D,EAAA,IACA,qBACA,iBAEA,SADAwa,EAAA9zD,GAAAs5C,EAAA,QACA5hD,MAAAo8D,EAAA13E,OAAA22B,GAAA,UAAA18B,MAAA,0CACA,MACA,sBACA,gBACA,2BACA,qBACA,UAAAA,MAAA,8BACA,WAAA+C,GAAAA,EAAAupB,IAAA,MAAA22C,EAEA,CAk6fAya,CAAAr1D,GAAAH,EAAA,yBAAAnlB,GACA,IAAA0R,EAAA8T,GAAAL,EAAA,eACA,IAAAzT,EAAA,UAAAzU,MAAA,yCACA,IAAAonC,EAAA60C,GAAAxwD,GAAAhX,GAAA1R,GAEA,OADAklB,GAAAC,EAAA,cAAAkf,EAAAjK,MAAAJ,GAAA1U,GAAAH,EAAA,cACAkf,CACA,CACA,SAAAq+B,GAAA3pE,EAAAiH,GACA,OAAAk5E,GAAAngF,EAAAiH,EACA,CAGA,IAAA46E,GAAkD,WAClD,IAAAC,EAAA,CACA,yBACA,oEACA,kBACA,6CACA,kBACA,6CACA,uBACA,2BACArhF,KAAA,IAEA2Y,EAAA,2BAAAwX,GAAA,CACA,kEACA,gEACA,gEACA,8DACA,iEACA,yEACA,6CACA,8CACA,qEACA,uEACA,0DACA,yBACE,IAAAkxD,EAAA,4BAEF,kBACA,OAAAv0D,GAAAnU,CACA,CACC,CA9BiD,GA+BlD2oE,GAAmD,WAEnD,IAAAC,EAAA,SAAAt9D,GACA,OAAAkK,GAAAlK,GACAtiB,QAAA,gBAAA6I,GAAiC,yBAAAA,EAAA7K,OAAA,QACjCgC,QAAA,qBACAA,QAAA,2BACAA,QAAA,kBAAAA,QAAA,iBACA,EAEA6/E,EAAA,mCAEA3c,EAAA,SAAAjtC,EAAAiT,EAAAprC,GAEA,IAAAD,EAAA,GACAA,EAAAgX,KAAA,kCAAA2X,GAAA0c,EAAAtT,WAAA93B,IAAA,+BACA,IAAAgY,EAAA,EAAA1F,EAAA,EAAA+jB,EAAAY,GAAAkB,EAAA,eACAsiC,EAAAtiC,EAAA,eAAAoyC,EAAA,EACAryC,EAAAh1B,MAAAW,QAAAs0B,GACA,GAAAA,EAAA,SACA,IAAA7lB,EAAA,EAAcA,GAAA+jB,EAAA1zB,EAAAmB,IAAgBwO,EAAAvS,EAAAgX,KAAA,+BAAAohB,EAAA,SAAA7lB,GAAA,wBAAA6lB,EAAA,SAAA7lB,GAAA0vE,IAAA,oCAE9B,IAAAt6E,EAAA,GAAAu6E,EAAA9pD,EAAA,aACA,IAAAngB,EAAA,EAAaA,EAAAqe,EAAA/yB,EAAA+I,IAAe2L,EAC5BtQ,EAAAu6E,EAAAjqE,GAAA,wBAAAiqE,EAAAjqE,GAAAgqE,IAAA,OACAjiF,EAAAgX,KAAA,2BAAArP,EAAA,yBAEA,KAAQsQ,GAAAqe,EAAA1zB,EAAA0J,IAAgB2L,EAAA,CAGxB,IAFAtQ,EAAAu6E,EAAAjqE,GAAA,wBAAAiqE,EAAAjqE,GAAAgqE,IAAA,OACAjiF,EAAAgX,KAAA,2BAAArP,EAAA,OACA4K,EAAA,EAAYA,EAAA+jB,EAAA/yB,EAAAQ,IAAewO,EAAAvS,EAAAgX,KAAAgrE,GAC3B,KAASzvE,GAAA+jB,EAAA1zB,EAAAmB,IAAgBwO,EAAA,CACzB,IAAAs4D,GAAA,EAAAvyD,EAAA,GAA6BioE,EAAA,GAC7B,IAAA/V,EAAA,EAAgBA,GAAA9P,EAAAv6D,SAAmBqqE,EACnC,KAAA9P,EAAA8P,GAAAjnE,EAAAQ,EAAAwO,GACAmoD,EAAA8P,GAAAjnE,EAAA+I,EAAA2L,GACAyiD,EAAA8P,GAAA5nE,EAAAmB,EAAAwO,GACAmoD,EAAA8P,GAAA5nE,EAAA0J,EAAA2L,GAAA,CACAyiD,EAAA8P,GAAAjnE,EAAAQ,GAAAwO,GAAAmoD,EAAA8P,GAAAjnE,EAAA+I,GAAA2L,IAAA4yD,GAAA,GACAvyD,EAAA,gCAAAoiD,EAAA8P,GAAA5nE,EAAAmB,EAAA22D,EAAA8P,GAAAjnE,EAAAQ,EAAA,EACAuU,EAAA,6BAAAoiD,EAAA8P,GAAA5nE,EAAA0J,EAAAouD,EAAA8P,GAAAjnE,EAAA+I,EAAA,EACA,KAJA,CAMA,GAAAu+D,EAAe7qE,EAAAgX,KAhCf,+CAgCA,CACA,IAAAi3B,EAAAzX,GAAA,CAA2BlqB,EAAA2L,EAAAlU,EAAAwO,IAAS0jB,EAAAkC,GAAAC,EAAAngB,IAAA,IAAA1F,GAAA6lB,EAAA6V,GACpC,GAAAhY,GAAAA,EAAA1nB,IACA+J,EAAA,iBAAAqW,GAAAynC,GAAAngC,EAAA1nB,IACA0nB,EAAA2T,GACA3T,EAAA2T,EAAA9oC,MAAA,EAAAmtC,EAAA9tC,SAAA8tC,GAAA,CACA,IAAAk0C,EAAAjrD,GAAAjB,EAAA2T,GACAtxB,EAAA,uCAAA6pE,EAAAv/E,EAAAmB,EAAAo+E,EAAA5+E,EAAAQ,EAAA,EACAuU,EAAA,oCAAA6pE,EAAAv/E,EAAA0J,EAAA61E,EAAA5+E,EAAA+I,EAAA,CACA,CAGA,GAAA2pB,EAAA,CACA,OAAAA,EAAAjxB,GACA,QACAu7E,EAAAtqD,EAAAnxB,EAAA,eACAwT,EAAA,+BACAA,EAAA,wBAAA2d,EAAAnxB,EAAA,eACA,MACA,QACAy7E,EAAAtqD,EAAA7sB,GAAA9I,OAAA21B,EAAAnxB,GAAA,GACAwT,EAAA,6BACAA,EAAA,gBAAA2d,EAAAnxB,GAAA,EACA,MACA,kBACAy7E,EAAA,MAAAtqD,EAAAnxB,EAAA,GAAAmxB,EAAAnxB,EACAwT,EAAA,8BACA,MACA,QACAioE,EAAAtqD,EAAA7sB,GAAAkhB,GAAA2L,EAAAnxB,GAAAgsB,cACAxY,EAAA,4BACAA,EAAA,qBAAAgS,GAAA2L,EAAAnxB,GAAAgsB,cACAxY,EAAA,0BACA,MAEA,QAAAtY,EAAAgX,KAAAgrE,GAAqC,SAErC,IAAAI,EAAAL,EAAAxB,GACA,GAAAtqD,EAAAvnB,GAAAunB,EAAAvnB,EAAAuxB,OAAA,CACA,IAAAoiD,EAAApsD,EAAAvnB,EAAAuxB,OAGA,MAFAoiD,EAAA,KAAAA,EAAApgF,OAAA,OAAAq0D,GAAA+rB,EAAAvhF,MAAA,IAAAuhF,GAEApgF,OAAA,IAAAogF,EAAAz3E,MAAA,WAAAy3E,EAAA,MAAAA,GACAD,EAAAxxD,GAAA,SAAAwxD,EAAA,CAA2C,aAAAC,EAAAlgF,QAAA,eAC3C,CACAnC,EAAAgX,KAAA,aAAA4Z,GAAA,mBAAAA,GAAA,SAAAwxD,EAAA,IAAsF9pE,GAAA,KAjC/C,MAAvBtY,EAAAgX,KAAAgrE,EAZyB,CA8CzC,CACAhiF,EAAAgX,KAAA,+BACA,CAEA,OADAhX,EAAAgX,KAAA,0BACAhX,EAAAQ,KAAA,GACA,EA6DA,gBAAA6qC,EAAArkC,GACA,IAAAhH,EAAA,CAAAstB,IAEAi9C,EAAA55C,GAAA,CACA,kEACA,gEACA,gEACA,8DACA,iEACA,yEACA,6CACA,8CACA,8DACA,qEACA,8EACA,uEACA,gEACA,8DACA,kDACA,8DACA,kEACA,gDACA,iDACA,+CACA,gDACA,+CACA,+CACA,wDACA,4DACA,gDACA,0DACA,6CACA,oDACA,oDACA,kDACA,uFACA,qFACA,iFACA,mFACA,gDACA,yBAGA2xD,EAAA3xD,GAAA,CACA,kEACA,qEAGA,QAAA3pB,EAAAg3B,UACAh+B,EAAAgX,KAAA,mBAAAuzD,EAAA+X,EAAA,OACAtiF,EAAAgX,KAAA8pB,KAAA3+B,QAAA,yCAEInC,EAAAgX,KAAA,2BAAAuzD,EAAA,OA/GJ,SAAAvqE,EAAAqrC,GACArrC,EAAAgX,KAAA,gCAEAhX,EAAAgX,KAAA,0EACAhX,EAAAgX,KAAA,4CACAhX,EAAAgX,KAAA,qCACAhX,EAAAgX,KAAA,0CACAhX,EAAAgX,KAAA,qCACAhX,EAAAgX,KAAA,uBACAhX,EAAAgX,KAAA,4BAGA,IAAAurE,EAAA,EACAl3C,EAAAtT,WAAAt0B,IAAA,SAAAuN,GAAkC,OAAAq6B,EAAArT,OAAAhnB,EAAA,GAAsBwf,QAAA,SAAA4H,GACxD,GAAAA,GACAA,EAAA,SACA,QAAA7lB,EAAA,EAAmBA,EAAA6lB,EAAA,SAAAj4B,SAAwBoS,EAAA,GAAA6lB,EAAA,SAAA7lB,GAAA,CAC3C,IAAAiwE,EAAApqD,EAAA,SAAA7lB,GACA,SAAAiwE,EAAA15C,OAAA,MAAA05C,EAAAlrC,KAAA,MAAAkrC,EAAAnyC,IAAA,SACAqG,GAAA8rC,GACAA,EAAAP,IAAAM,EACA,IAAAn5E,EAAAgvB,EAAA,SAAA7lB,GAAA+kC,IAAA,KACAt3C,EAAAgX,KAAA,gCAAAurE,EAAA,oCACAviF,EAAAgX,KAAA,gFAAA5N,EAAA,SACApJ,EAAAgX,KAAA,wBACAurE,CACA,CAEA,GAGA,IAAAz1D,EAAA,EACAue,EAAAtT,WAAAt0B,IAAA,SAAAuN,GAAkC,OAAAq6B,EAAArT,OAAAhnB,EAAA,GAAsBwf,QAAA,SAAA4H,GACxD,GAAAA,GACAA,EAAA,SACA,QAAAngB,EAAA,EAAmBA,EAAAmgB,EAAA,SAAAj4B,SAAwB8X,EAAA,GAAAmgB,EAAA,SAAAngB,GAAA,CAC3CmgB,EAAA,SAAAngB,GAAAgqE,IAAAn1D,EACA,IAAAzO,EAAA+Z,EAAA,SAAAngB,GAAA2+B,IAAA,KACA52C,EAAAgX,KAAA,gCAAA8V,EAAA,iCACA9sB,EAAAgX,KAAA,2EAAAqH,EAAA,SACAre,EAAAgX,KAAA,wBACA8V,CACA,CAEA,GAGA9sB,EAAAgX,KAAA,wFACAhX,EAAAgX,KAAA,kFACAhX,EAAAgX,KAAA,sBAGAhX,EAAAgX,KAAA,+HAIAhX,EAAAgX,KAAA,gCACA,CAwDAyrE,CAAAziF,EAAAqrC,GACArrC,EAAAgX,KAAA,qBACAhX,EAAAgX,KAAA,8BACA,QAAA/W,EAAA,EAAiBA,GAAAorC,EAAAtT,WAAA53B,SAA2BF,EAAAD,EAAAgX,KAAAquD,EAAAh6B,EAAArT,OAAAqT,EAAAtT,WAAA93B,IAAAorC,EAAAprC,IAK5C,OAJAD,EAAAgX,KAAA,+BACAhX,EAAAgX,KAAA,sBACA,QAAAhQ,EAAAg3B,SAAAh+B,EAAAgX,KAAA,sBACAhX,EAAAgX,KAAA,8BACAhX,EAAAQ,KAAA,GACA,CACC,CA3NkD,GA6NnD,SAAAkiF,GAAAr3C,EAAArkC,GACA,WAAAA,EAAAg3B,SAAA,OAAA8jD,GAAAz2C,EAAArkC,GAEA,IAAAmlB,EAAAa,KACAze,EAAA,GAEAo0E,EAAA,GACAC,EAAA,GAiCA,OA7BAj2D,GAAAR,EADA5d,EAAA,WACA,kDAIAoe,GAAAR,EADA5d,EAAA,cACAuzE,GAAAz2C,EAAArkC,IACA27E,EAAA3rE,KAAA,CAAAzI,EAAA,aACAq0E,EAAA5rE,KAAA,CAAAzI,EAAA,gBAIAoe,GAAAR,EADA5d,EAAA,aACAqzE,GAAAv2C,EAAArkC,IACA27E,EAAA3rE,KAAA,CAAAzI,EAAA,aACAq0E,EAAA5rE,KAAA,CAAAzI,EAAA,eAIAoe,GAAAR,EADA5d,EAAA,WACA+e,GAAAwT,MACA6hD,EAAA3rE,KAAA,CAAAzI,EAAA,aACAq0E,EAAA5rE,KAAA,CAAAzI,EAAA,iBAIAoe,GAAAR,EADA5d,EAAA,eAhrgBA,SAAAq0E,GACA,IAAA5iF,EAAA,CAAAstB,IACAttB,EAAAgX,KAAA,uEACA,QAAA/W,EAAA,EAAgBA,GAAA2iF,EAAAziF,SAAiBF,EACjCD,EAAAgX,KAAA4pB,GAAAgiD,EAAA3iF,GAAA,GAAA2iF,EAAA3iF,GAAA,KACAD,EAAAgX,KAAA6pB,GAAA,GAAA+hD,EAAA3iF,GAAA,KAIA,OAFAD,EAAAgX,KAAA4pB,GAAA,sBACA5gC,EAAAgX,KAAA,cACAhX,EAAAQ,KAAA,GACA,CAuqgBAqiF,CAAAD,IACAD,EAAA3rE,KAAA,CAAAzI,EAAA,wBAIAoe,GAAAR,EADA5d,EAAA,wBA7sgBA,SAAAo0E,GACA,IAAA3iF,EAAA,CAAAstB,IACAttB,EAAAgX,KAAA,oHACAhX,EAAAgX,KAAA,iJACA,QAAA/W,EAAA,EAAgBA,EAAA0iF,EAAAxiF,SAAqBF,EAAAD,EAAAgX,KAAA,8CAAA2rE,EAAA1iF,GAAA,6BAAA0iF,EAAA1iF,GAAA,YAErC,OADAD,EAAAgX,KAAA,wBACAhX,EAAAQ,KAAA,GACA,CAusgBAsiF,CAAAH,IAEAx2D,CACA,CAGA,SAAA42D,GAAAC,GACA,WAAAC,SAAAD,EAAAE,OAAAF,EAAAG,WAAAH,EAAAI,WACA,CACA,SAAAC,GAAAC,GACA,0BAAA34D,aAAA,IAAAA,aAAAtpB,OAAAiiF,GAAA5zD,GAAA7rB,EAAAy/E,GACA,CACA,SAAAC,GAAA93E,GACA,0BAAAyb,aAAA,IAAAA,aAAAC,OAAA1b,GAAAnI,EAAA8jB,GAAA3b,GACA,CAWA,SAAA+3E,GAAAC,GACA,IAAAvjF,EAAAujF,EAAAC,OAAA,SAAAC,EAAA3iF,GACA,OAAA2iF,EAAA3iF,EAAAb,MACA,EAAG,GACHmH,EAAA,IAAApE,WAAAhD,GACAsgB,EAAA,EAKA,OAJAijE,EAAAjzD,QAAA,SAAA8yD,GACAh8E,EAAA/C,IAAA++E,EAAA9iE,GACAA,GAAA8iE,EAAAnjF,MACA,GACAmH,CACA,CACA,SAAAs8E,GAAA5iF,GAGA,kBADAA,GAAA,WADAA,GAAAA,GAAA,gBACAA,GAAA,eACAA,GAAA,kBACA,CAiBA,SAAA6iF,GAAAhhF,EAAAihF,GACA,IAAAp1E,EAAAo1E,EAAAA,EAAA,KACAtiE,EAAA,IAAA3e,EAAA6L,GACAq1E,EACA,GAAAlhF,EAAA6L,MAAA,KAEA,GADA8S,IAAA,IAAA3e,EAAA6L,KAAA,EACA7L,EAAA6L,KAAA,IACA,MAAAq1E,EAEA,GADAviE,IAAA,IAAA3e,EAAA6L,KAAA,GACA7L,EAAA6L,KAAA,IACA,MAAAq1E,EAEA,GADAviE,IAAA,IAAA3e,EAAA6L,KAAA,GACA7L,EAAA6L,KAAA,IACA,MAAAq1E,EAGA,GAFAviE,IAAA,IAAA3e,EAAA6L,IAAArJ,KAAAC,IAAA,QACAoJ,EACA7L,EAAA6L,KAAA,IACA,MAAAq1E,EAGA,GAFAviE,IAAA,IAAA3e,EAAA6L,IAAArJ,KAAAC,IAAA,QACAoJ,EACA7L,EAAA6L,KAAA,IACA,MAAAq1E,EAGA,GAFAviE,IAAA,IAAA3e,EAAA6L,IAAArJ,KAAAC,IAAA,QACAoJ,EACA7L,EAAA6L,KAAA,IACA,MAAAq1E,CACA,CAGA,OAFAD,IACAA,EAAA,GAAAp1E,GACA8S,CACA,CACA,SAAAwiE,GAAAl/E,GACA,IAAA0c,EAAA,IAAAte,WAAA,GACAse,EAAA,OAAA1c,EACA,IAAA0N,EAAA,EACAmB,EACA,GAAA7O,EAAA,KAIA,GAHA0c,EAAAhP,EAAA,QACAgP,EAAAhP,GAAA1N,GAAA,QACA0N,EACA1N,GAAA,MACA,MAAA6O,EAIA,GAHA6N,EAAAhP,EAAA,QACAgP,EAAAhP,GAAA1N,GAAA,SACA0N,EACA1N,GAAA,QACA,MAAA6O,EAIA,GAHA6N,EAAAhP,EAAA,QACAgP,EAAAhP,GAAA1N,GAAA,SACA0N,EACA1N,GAAA,UACA,MAAA6O,EAIA,GAHA6N,EAAAhP,EAAA,QACAgP,EAAAhP,GAAA1N,EAAA,eACA0N,EACA1N,GAAA,YACA,MAAA6O,EAIA,GAHA6N,EAAAhP,EAAA,QACAgP,EAAAhP,GAAA1N,EAAA,iBACA0N,EACA1N,GAAA,cACA,MAAA6O,EACA6N,EAAAhP,EAAA,QACAgP,EAAAhP,GAAA1N,EAAA,oBACA0N,CACA,CACA,OAAAgP,EAAA1gB,MAAA,EAAA0R,EACA,CACA,SAAAyxE,GAAAphF,GACA,IAAA6L,EAAA,EAAAw1E,EAAA,IAAArhF,EAAA6L,GACAq1E,EACA,GAAAlhF,EAAA6L,MAAA,KAEA,GADAw1E,IAAA,IAAArhF,EAAA6L,KAAA,EACA7L,EAAA6L,KAAA,IACA,MAAAq1E,EAEA,GADAG,IAAA,IAAArhF,EAAA6L,KAAA,GACA7L,EAAA6L,KAAA,IACA,MAAAq1E,EAEA,GADAG,IAAA,IAAArhF,EAAA6L,KAAA,GACA7L,EAAA6L,KAAA,IACA,MAAAq1E,EACAG,IAAA,IAAArhF,EAAA6L,KAAA,EACA,CACA,OAAAw1E,CACA,CACA,SAAAC,GAAAthF,GAEA,IADA,IAAAyE,EAAA,GAAAw8E,EAAA,IACAA,EAAA,GAAAjhF,EAAA1C,QAAA,CACA,IAKAysB,EALApM,EAAAsjE,EAAA,GACA1J,EAAAyJ,GAAAhhF,EAAAihF,GACA95E,EAAA,EAAAowE,EAEAl6E,EAAA,EAEA,OAHAk6E,EAAA/0E,KAAAwB,MAAAuzE,EAAA,IAIA,MACA,OAAApwE,GACA,OAGA,IADA,IAAA0E,EAAAo1E,EAAA,GACAjhF,EAAAihF,EAAA,aAEAl3D,EAAA/pB,EAAA/B,MAAA4N,EAAAo1E,EAAA,IAEA,MACA,OACA5jF,EAAA,EACA0sB,EAAA/pB,EAAA/B,MAAAgjF,EAAA,GAAAA,EAAA,GAAA5jF,GACA4jF,EAAA,IAAA5jF,EACA,MACA,OACAA,EAAA,EACA0sB,EAAA/pB,EAAA/B,MAAAgjF,EAAA,GAAAA,EAAA,GAAA5jF,GACA4jF,EAAA,IAAA5jF,EACA,MACA,OACAA,EAAA2jF,GAAAhhF,EAAAihF,GACAl3D,EAAA/pB,EAAA/B,MAAAgjF,EAAA,GAAAA,EAAA,GAAA5jF,GACA4jF,EAAA,IAAA5jF,EACA,MAGA,QACA,UAAA+D,MAAA,WAAAG,OAAA4F,EAAA,eAAA5F,OAAAg2E,EAAA,eAAAh2E,OAAAoc,IAEA,IAAA1b,EAAA,CAAc/E,KAAA6sB,EAAA5iB,KAAAA,GACd,MAAA1C,EAAA8yE,GACA9yE,EAAA8yE,GAAA,CAAAt1E,GAEAwC,EAAA8yE,GAAApjE,KAAAlS,EACA,CACA,OAAAwC,CACA,CACA,SAAA88E,GAAAC,GACA,IAAA/8E,EAAA,GAWA,OAVA+8E,EAAA7zD,QAAA,SAAAyf,EAAAtlC,GACAslC,EAAAzf,QAAA,SAAA8zD,GACAA,EAAAvkF,OAEAuH,EAAA0P,KAAAgtE,GAAA,EAAAr5E,EAAA25E,EAAAt6E,OACA,GAAAs6E,EAAAt6E,MACA1C,EAAA0P,KAAAgtE,GAAAM,EAAAvkF,KAAAI,SACAmH,EAAA0P,KAAAstE,EAAAvkF,MACA,EACA,GACAyjF,GAAAl8E,EACA,CACA,SAAAi9E,GAAAxkF,EAAAm1B,GACA,aAAAn1B,OAAA,EAAAA,EAAA0D,IAAA,SAAAsB,GACA,OAAAmwB,EAAAnwB,EAAAhF,KACA,KAAG,EACH,CACA,SAAAykF,GAAA3hF,GAGA,IAFA,IAAA4hF,EACAn9E,EAAA,GAAAw8E,EAAA,IACAA,EAAA,GAAAjhF,EAAA1C,QAAA,CACA,IAAAD,EAAA2jF,GAAAhhF,EAAAihF,GACA1gB,EAAA+gB,GAAAthF,EAAA/B,MAAAgjF,EAAA,GAAAA,EAAA,GAAA5jF,IACA4jF,EAAA,IAAA5jF,EACA,IAAA0sB,EAAA,CACAie,GAAAo5C,GAAA7gB,EAAA,MAAArjE,MACA2kF,SAAA,IAEAthB,EAAA,GAAA5yC,QAAA,SAAAvS,GACA,IAAAusD,EAAA2Z,GAAAlmE,EAAAle,MACAs1E,EAAA4O,GAAAzZ,EAAA,MAAAzqE,MACA6sB,EAAA83D,SAAA1tE,KAAA,CACAwhC,KAAAgyB,EACAzqE,KAAA8C,EAAA/B,MAAAgjF,EAAA,GAAAA,EAAA,GAAAzO,KAEAyO,EAAA,IAAAzO,CACA,IACA,OAAAoP,EAAArhB,EAAA,WAAAqhB,EAAA,MACA73D,EAAA+3D,MAAAV,GAAA7gB,EAAA,MAAArjE,QAAA,KACAuH,EAAA0P,KAAA4V,EACA,CACA,OAAAtlB,CACA,CACA,SAAAs9E,GAAAC,GACA,IAAA1gF,EAAA,GAoBA,OAnBA0gF,EAAAr0D,QAAA,SAAAs0D,GACA,IAAA1hB,EAAA,GACAA,EAAA,KAAerjE,KAAAikF,GAAAc,EAAAj6C,IAAA7gC,KAAA,IACfo5D,EAAA,MACA,MAAA0hB,EAAAH,QACAvhB,EAAA,KAAiBrjE,KAAAikF,MAAAc,EAAAH,OAAA36E,KAAA,KACjB,IAAA+6E,EAAA,GACAD,EAAAJ,SAAAl0D,QAAA,SAAAg6C,GACAua,EAAA/tE,KAAAwzD,EAAAzqE,MACAyqE,EAAAhyB,KAAA,KAAsBxuC,KAAA,EAAAjK,KAAAikF,GAAAxZ,EAAAzqE,KAAAI,UACtBijE,EAAA,GAAApsD,KAAA,CAAmBjX,KAAAqkF,GAAA5Z,EAAAhyB,MAAAxuC,KAAA,GACnB,GACA,IAAAg7E,EAAAZ,GAAAhhB,GACAj/D,EAAA6S,KAAAgtE,GAAAgB,EAAA7kF,SACAgE,EAAA6S,KAAAguE,GACAD,EAAAv0D,QAAA,SAAAy0D,GACA,OAAA9gF,EAAA6S,KAAAiuE,EACA,EACA,GACAzB,GAAAr/E,EACA,CACA,SAAA+gF,GAAAl7E,EAAAnH,GACA,MAAAmH,EACA,UAAA/F,MAAA,gCAAAG,OAAA4F,IAIA,IAHA,IAAA85E,EAAA,IACAtiE,EAAAqiE,GAAAhhF,EAAAihF,GACAqB,EAAA,GACArB,EAAA,GAAAjhF,EAAA1C,QAAA,CACA,IAAA0tB,EAAA,EAAAhrB,EAAAihF,EAAA,IACA,MAAAj2D,EAAA,CAqBA,IAAAtU,EAAA,EAAApZ,EAAA,EAgBA,GAfA,GAAA0tB,GACA1tB,EAAA,GAAA0C,EAAAihF,EAAA,UACAvqE,GAAA,IAAA1W,EAAAihF,EAAA,UACAvqE,GAAA1W,EAAAihF,EAAA,QAEA3jF,EAAA,GAAA0C,EAAAihF,EAAA,UACA,GAAAj2D,GACAtU,EAAA1W,EAAAihF,EAAA,IAAAjhF,EAAAihF,EAAA,SACAA,EAAA,QAEAvqE,GAAA1W,EAAAihF,EAAA,IAAAjhF,EAAAihF,EAAA,SAAAjhF,EAAAihF,EAAA,UAAAjhF,EAAAihF,EAAA,eACAA,EAAA,QAGAqB,EAAA,CAAA3B,GAAA2B,IACA,GAAA5rE,EACA,UAAAtV,MAAA,oBACA,GAAAsV,EAAA4rE,EAAA,GAAAhlF,OACA,UAAA8D,MAAA,gCACA,GAAA9D,GAAAoZ,EAGA,IAFA4rE,EAAAnuE,KAAAmuE,EAAA,GAAArkF,OAAAyY,IACApZ,GAAAoZ,EACApZ,GAAAglF,EAAAA,EAAAhlF,OAAA,GAAAA,QACAglF,EAAAnuE,KAAAmuE,EAAAA,EAAAhlF,OAAA,IACAA,GAAAglF,EAAAA,EAAAhlF,OAAA,GAAAA,OAGAglF,EAAAnuE,KAAAmuE,EAAA,GAAArkF,OAAAyY,GAAAA,EAAApZ,GACA,KAlDA,CACA,IAAAD,EAAA2C,EAAAihF,EAAA,SACA,GAAA5jF,EAAA,KACAA,MACA,CACA,IAAA6D,EAAA7D,EAAA,GACAA,EAAA2C,EAAAihF,EAAA,IACA//E,EAAA,IACA7D,GAAA2C,EAAAihF,EAAA,UACA//E,EAAA,IACA7D,GAAA2C,EAAAihF,EAAA,WACA//E,EAAA,IACA7D,GAAA2C,EAAAihF,EAAA,WACA5jF,KAAA,EACAA,IACA4jF,EAAA,IAAA//E,CACA,CACAohF,EAAAnuE,KAAAnU,EAAA/B,MAAAgjF,EAAA,GAAAA,EAAA,GAAA5jF,IACA4jF,EAAA,IAAA5jF,CAgCA,CACA,CACA,IAAAF,EAAAwjF,GAAA2B,GACA,GAAAnlF,EAAAG,QAAAqhB,EACA,UAAAvd,MAAA,sBAAAG,OAAApE,EAAAG,OAAA,QAAAiE,OAAAod,IACA,OAAAxhB,CACA,CACA,SAAAolF,GAAAviF,GAGA,IAFA,IAAAyE,EAAA,GACAoH,EAAA,EACAA,EAAA7L,EAAA1C,QAAA,CACA,IAAA6E,EAAAnC,EAAA6L,KACAxO,EAAA2C,EAAA6L,GAAA7L,EAAA6L,EAAA,MAAA7L,EAAA6L,EAAA,OACAA,GAAA,EACApH,EAAA0P,KAAAkuE,GAAAlgF,EAAAnC,EAAA/B,MAAA4N,EAAAA,EAAAxO,KACAwO,GAAAxO,CACA,CACA,GAAAwO,IAAA7L,EAAA1C,OACA,UAAA8D,MAAA,sCACA,OAAAu/E,GAAAl8E,EACA,CACA,SAAA+9E,GAAAxiF,GAGA,IAFA,IAAAyE,EAAA,GACAoH,EAAA,EACAA,EAAA7L,EAAA1C,QAAA,CACA,IAAA4D,EAAAsB,KAAA+H,IAAAvK,EAAA1C,OAAAuO,EAAA,WACA42E,EAAA,IAAApiF,WAAA,GACAoE,EAAA0P,KAAAsuE,GACA,IAAA9jE,EAAAwiE,GAAAjgF,GACAyO,EAAAgP,EAAArhB,OACAmH,EAAA0P,KAAAwK,GACAzd,GAAA,IACAyO,IACAlL,EAAA0P,KAAA,IAAA9T,WAAA,CAAAa,EAAA,SACMA,GAAA,KACNyO,GAAA,EACAlL,EAAA0P,KAAA,IAAA9T,WAAA,KAAAa,EAAA,UACMA,GAAA,OACNyO,GAAA,EACAlL,EAAA0P,KAAA,IAAA9T,WAAA,KAAAa,EAAA,MAAAA,EAAA,aACMA,GAAA,UACNyO,GAAA,EACAlL,EAAA0P,KAAA,IAAA9T,WAAA,KAAAa,EAAA,MAAAA,EAAA,SAAAA,EAAA,cACMA,GAAA,aACNyO,GAAA,EACAlL,EAAA0P,KAAA,IAAA9T,WAAA,KAAAa,EAAA,MAAAA,EAAA,SAAAA,EAAA,UAAAA,EAAA,eAEAuD,EAAA0P,KAAAnU,EAAA/B,MAAA4N,EAAAA,EAAA3K,IACAyO,GAAAzO,EACAuhF,EAAA,KACAA,EAAA,OAAA9yE,EACA8yE,EAAA,GAAA9yE,GAAA,MACA8yE,EAAA,GAAA9yE,GAAA,OACA9D,GAAA3K,CACA,CACA,OAAAy/E,GAAAl8E,EACA,CA6HA,SAAAi+E,GAAAtvD,EAAAopB,GACA,IAAA/3C,EAAA,IAAApE,WAAA,IAAAsiF,EAAAzC,GAAAz7E,GAAAoH,EAAA,GAAA+E,EAAA,EAEA,OADAnM,EAAA,KACA2uB,EAAAjxB,GACA,QACAsC,EAAA,KAtcA,SAAAzE,EAAA0W,EAAA4V,GACA,IAAAs2D,EAAApgF,KAAAwB,MAAA,GAAAsoB,EAAA,EAAA9pB,KAAA6D,OAAA7D,KAAA4D,IAAA5D,KAAAyC,IAAAqnB,KAAA,QACAu2D,EAAAv2D,EAAA9pB,KAAAC,IAAA,GAAAmgF,EAAA,MACA5iF,EAAA0W,EAAA,KAAAksE,GAAA,EACA5iF,EAAA0W,EAAA,UAAAksE,IAAA,EACA,QAAAxlF,EAAA,EAAkBylF,GAAA,IAAezlF,EAAAylF,GAAA,IACjC7iF,EAAA0W,EAAAtZ,GAAA,IAAAylF,EACA7iF,EAAA0W,EAAA,KAAA4V,GAAA,OACA,CA+bAw2D,CAAAr+E,EAAAoH,EAAAunB,EAAAnxB,GACA2O,GAAA,EACA/E,GAAA,GACA,MACA,QACApH,EAAA,KACAk+E,EAAAI,WAAAl3E,EAAAunB,EAAAnxB,EAAA,QACA2O,GAAA,EACA/E,GAAA,EACA,MACA,QACA,OAAA2wC,EAAA1/C,QAAAs2B,EAAAnxB,GACA,UAAAb,MAAA,SAAAG,OAAA6xB,EAAAnxB,EAAA,uBACAwC,EAAA,KACAk+E,EAAAK,UAAAn3E,EAAA2wC,EAAA1/C,QAAAs2B,EAAAnxB,IAAA,GACA2O,GAAA,EACA/E,GAAA,EACA,MACA,QACA,8BAAAunB,EAAAjxB,EAGA,OADAwgF,EAAAK,UAAA,EAAApyE,GAAA,GACAnM,EAAAxG,MAAA,EAAA4N,EACA,CACA,SAAAo3E,GAAA7vD,EAAAopB,GACA,IAAA/3C,EAAA,IAAApE,WAAA,IAAAsiF,EAAAzC,GAAAz7E,GAAAoH,EAAA,GAAA+E,EAAA,EAEA,OADAnM,EAAA,KACA2uB,EAAAjxB,GACA,QACAsC,EAAA,KACAk+E,EAAAI,WAAAl3E,EAAAunB,EAAAnxB,GAAA,GACA2O,GAAA,GACA/E,GAAA,EACA,MACA,QACApH,EAAA,KACAk+E,EAAAI,WAAAl3E,EAAAunB,EAAAnxB,EAAA,QACA2O,GAAA,GACA/E,GAAA,EACA,MACA,QACA,OAAA2wC,EAAA1/C,QAAAs2B,EAAAnxB,GACA,UAAAb,MAAA,SAAAG,OAAA6xB,EAAAnxB,EAAA,uBACAwC,EAAA,KACAk+E,EAAAK,UAAAn3E,EAAA2wC,EAAA1/C,QAAAs2B,EAAAnxB,IAAA,GACA2O,GAAA,GACA/E,GAAA,EACA,MACA,QACA,8BAAAunB,EAAAjxB,EAGA,OADAwgF,EAAAK,UAAA,EAAApyE,GAAA,GACAnM,EAAAxG,MAAA,EAAA4N,EACA,CACA,SAAAq3E,GAAAljF,EAAAw8C,EAAA2mC,GACA,OAAAnjF,EAAA,IACA,OACA,OACA,OACA,OACA,OA9LA,SAAAA,EAAAw8C,EAAA2mC,EAAAlhF,GACA,IAqBAggC,EArBA0gD,EAAAzC,GAAAlgF,GACA4Q,EAAA+xE,EAAAS,UAAA,MACAC,GAAAphF,EAAA,UAAA8+E,GAAAnwE,GAAA3O,EAAA,aACAgoB,GAAA,EAAA0tB,GAAA,EAAA2rC,EAAAj7D,IAAAlc,EAAA,IAAAhH,KAAA,UAmBA,OAlBA,IAAAyL,IACAqZ,EAAA04D,EAAAS,UAAAC,GAAA,GACAA,GAAA,GAEAA,GAAA,EAAAtC,GAAAnwE,GAAA3O,EAAA,eACA,GAAA2O,IACA+mC,EAAAgrC,EAAAS,UAAAC,GAAA,GACAA,GAAA,GAEA,GAAAzyE,IACA0yE,EAAAX,EAAAY,WAAAF,GAAA,GACAA,GAAA,GAEA,GAAAzyE,IACAzE,EAAAgb,QAAAhb,EAAAvG,UAAA,IAAA+8E,EAAAY,WAAAF,GAAA,IACAA,GAAA,GAGArjF,EAAA,IACA,OACA,MACA,OACAiiC,EAAA,CAAc9/B,EAAA,IAAAF,EAAAqhF,GACd,MACA,OACArhD,EAAA,CAAc9/B,EAAA,IAAAF,EAAAu6C,EAAA7E,IACd,MACA,OACA1V,EAAA,CAAc9/B,EAAA,IAAAF,EAAAkK,GACd,MACA,OACA81B,EAAA,CAAc9/B,EAAA,IAAAF,EAAAqhF,EAAA,GACd,MACA,OACArhD,EAAA,CAAc9/B,EAAA,IAAAF,EAAAqhF,EAAA,OACd,MACA,OACArhD,EAAA,CAAc9/B,EAAA,IAAAF,EAAA,GACd,MACA,OAEA,GAAAgoB,GAAA,EACAgY,EAAA,CAAkB9/B,EAAA,IAAAF,EAAAkhF,EAAAl5D,SAClB,GAAA0tB,GAAA,EACA1V,EAAA,CAAkB9/B,EAAA,IAAAF,EAAAu6C,EAAA7E,QAClB,IAAAx4C,MAAAmkF,GAGA,UAAAliF,MAAA,yBAAAG,OAAAvB,EAAA/B,MAAA,OAFAgkC,EAAA,CAAkB9/B,EAAA,IAAAF,EAAAqhF,EAElB,CAEA,MACA,QACA,UAAAliF,MAAA,yBAAAG,OAAAvB,EAAA/B,MAAA,OAEA,OAAAgkC,CACA,CAkIAuhD,CAAAxjF,EAAAw8C,EAAA2mC,EAAAnjF,EAAA,IACA,OACA,OAnIA,SAAAA,EAAAw8C,EAAA2mC,GACA,IAwBAlhD,EAxBA0gD,EAAAzC,GAAAlgF,GACA4Q,EAAA+xE,EAAAS,UAAA,MACAC,EAAA,GACAp5D,GAAA,EAAA0tB,GAAA,EAAA8rC,EAAAp7D,IAAAi7D,EAAAj7D,IAAAlc,EAAA,IAAAhH,KAAA,UAsBA,OArBA,EAAAyL,IACA6yE,EA/YA,SAAAzjF,EAAA0W,GAGA,IAFA,IAAAksE,GAAA,IAAA5iF,EAAA0W,EAAA,QAAA1W,EAAA0W,EAAA,OACAmsE,EAAA,EAAA7iF,EAAA0W,EAAA,IACA/O,EAAA+O,EAAA,GAA4B/O,GAAA+O,IAAa/O,EACzCk7E,EAAA,IAAAA,EAAA7iF,EAAA2H,GACA,WAAA3H,EAAA0W,EAAA,KAAAmsE,EAAAA,GAAArgF,KAAAC,IAAA,GAAAmgF,EAAA,KACA,CAyYAc,CAAA1jF,EAAAqjF,GACAA,GAAA,IAEA,EAAAzyE,IACA0yE,EAAAX,EAAAY,WAAAF,GAAA,GACAA,GAAA,GAEA,EAAAzyE,IACAzE,EAAAgb,QAAAhb,EAAAvG,UAAA,IAAA+8E,EAAAY,WAAAF,GAAA,IACAA,GAAA,GAEA,EAAAzyE,IACA+mC,EAAAgrC,EAAAS,UAAAC,GAAA,GACAA,GAAA,GAEA,GAAAzyE,IACAqZ,EAAA04D,EAAAS,UAAAC,GAAA,GACAA,GAAA,GAGArjF,EAAA,IACA,OACA,MACA,OA0BA,QACAiiC,EAAA,CAAc9/B,EAAA,IAAAF,EAAAwhF,GACd,MAzBA,OACAxhD,EAAA,CAAc9/B,EAAA,IAAAF,EAAAu6C,EAAA7E,IACd,MACA,OACA1V,EAAA,CAAc9/B,EAAA,IAAAF,EAAAkK,GACd,MACA,OACA81B,EAAA,CAAc9/B,EAAA,IAAAF,EAAAqhF,EAAA,GACd,MACA,OACArhD,EAAA,CAAc9/B,EAAA,IAAAF,EAAAqhF,EAAA,OACd,MACA,OACArhD,EAAA,CAAc9/B,EAAA,IAAAF,EAAA,GACd,MACA,OAEA,KAAAgoB,GAAA,GAGA,UAAA7oB,MAAA,yBAAAG,OAAAvB,EAAA,UAAAuB,OAAA,GAAAqP,EAAA,OAAArP,OAAAvB,EAAA/B,MAAA,OAFAgkC,EAAA,CAAkB9/B,EAAA,IAAAF,EAAAkhF,EAAAl5D,IAIlB,MAIA,QACA,UAAA7oB,MAAA,yBAAAG,OAAAvB,EAAA,UAAAuB,OAAA,GAAAqP,EAAA,OAAArP,OAAAvB,EAAA/B,MAAA,OAEA,OAAAgkC,CACA,CAqEA0hD,CAAA3jF,EAAAw8C,EAAA2mC,GACA,QACA,UAAA/hF,MAAA,+BAAAG,OAAAvB,EAAA,KAEA,CACA,SAAA4jF,GAAA5jF,GAEA,OAAAghF,GADAM,GAAAthF,GACA,MAAA9C,KACA,CAMA,SAAA2mF,GAAA9+E,EAAA0M,GACA,IAAAqyE,EAAAxC,GAAA7vE,EAAAvU,MACAiK,EAAAi6E,GAAA0C,EAAA,MAAA5mF,MACAymC,EAAAmgD,EAAA,GACA5mF,EAAA,GAwBA,OAvBAymC,GAAA,IAAAhW,QAAA,SAAAtX,GACA,IAAA0tE,EAAAzC,GAAAjrE,EAAAnZ,MACAupB,EAAA26D,GAAA2C,EAAA,MAAA7mF,QAAA,EACA,OAAAiK,GACA,OACAjK,EAAAupB,GAAA+5D,GAAAuD,EAAA,MAAA7mF,MACA,MACA,OAEA,IACA8mF,EAAA1C,GADAv8E,EAAA6+E,GAAAG,EAAA,MAAA7mF,OAAA,GACAA,MACA+mF,EAAAl/E,EAAA6+E,GAAAI,EAAA,MAAA9mF,OAAA,GACAgnF,EAAA9C,GAAA6C,EAAAtuC,KAAA,MAAAz4C,MACA,SAAAgnF,EACA,UAAA9iF,MAAA,gCAAAG,OAAA2iF,IACA,IAAAC,EAAA7C,GAAA2C,EAAA/mF,MACAA,EAAAupB,GAAA09D,EAAA,GAAAvjF,IAAA,SAAAzC,GACA,OAAAqiF,GAAAriF,EAAAjB,KACA,GAAWS,KAAA,IAIX,GACAT,CACA,CAwFA,SAAAknF,GAAAr/E,EAAA0M,GACA,IACAhN,EAAA,CAAc,aACd4/E,EAAAt/E,EAAA6+E,GAFAtC,GAAA7vE,EAAAvU,MAEA,MAAAA,OACAgnF,EAAA9C,GAAAiD,EAAA,GAAA1uC,KAAA,MAAAz4C,MACA,SAAAgnF,EACA,UAAA9iF,MAAA,gCAAAG,OAAA2iF,IAEA,OA1CA,SAAAn/E,EAAA0M,EAAA8jB,GACA,IAAAqsD,EACAkC,EAAAxC,GAAA7vE,EAAAvU,MACAu2B,EAAA,CAAgB/yB,EAAA,CAAK+I,EAAA,EAAAvI,EAAA,GAAYnB,EAAA,CAAO0J,EAAA,EAAAvI,EAAA,IAExC,GADAuyB,EAAA1zB,EAAA0J,GAAA23E,GAAA0C,EAAA,MAAA5mF,QAAA,KACAu2B,EAAA1zB,EAAA0J,EAAA,EACA,UAAArI,MAAA,sBAAAG,OAAAuiF,EAAA,MAAA5mF,OAEA,GADAu2B,EAAA1zB,EAAAmB,GAAAkgF,GAAA0C,EAAA,MAAA5mF,QAAA,KACAu2B,EAAA1zB,EAAAmB,EAAA,EACA,UAAAE,MAAA,sBAAAG,OAAAuiF,EAAA,MAAA5mF,OACAq4B,EAAA,QAAAjB,GAAAb,GACA,IAAA6wD,EAAAhD,GAAAwC,EAAA,MAAA5mF,MACAs/C,EAAAqnC,GAAA9+E,EAAAA,EAAA6+E,GAAAU,EAAA,MAAApnF,OAAA,IACAimF,GAAA,OAAAvB,EAAA0C,EAAA,YAAA1C,EAAA,IAAAiC,GAAA9+E,EAAAA,EAAA6+E,GAAAU,EAAA,OAAApnF,OAAA,OACAqnF,EAAAjD,GAAAgD,EAAA,MAAApnF,MACAs4B,EAAA,EACA+uD,EAAA,GAAA52D,QAAA,SAAAxrB,GACA,IAAAqiF,EAAAlD,GAAAn/E,EAAAjF,MACAkuC,EAAArmC,EAAA6+E,GAAAY,EAAA,MAAAtnF,OAAA,GACAgnF,EAAA9C,GAAAh2C,EAAAuK,KAAA,MAAAz4C,MACA,SAAAgnF,EACA,UAAA9iF,MAAA,gCAAAG,OAAA2iF,IACA,IAAAO,EA3CA,SAAA1/E,EAAA0M,GACA,IAAAmwE,EACAkC,EAAAxC,GAAA7vE,EAAAvU,MACAyY,GAAA,OAAAisE,EAAA,MAAAkC,OAAA,EAAAA,EAAA,WAAAlC,EAAA,IAAAR,GAAA0C,EAAA,MAAA5mF,QAAA,WACAwM,EAAAg4E,GAAAoC,EAAA,YAAArD,GACA,OArCA,SAAAA,EAAAt5E,GACA,IAAAy6E,EAAA8C,EAAAC,EAAA9jB,EAAA+jB,EAAAp2C,EAAAq2C,EAAAC,EAAAC,EAAAtX,EAAAuX,EAAAC,EAAAC,EAAAv2C,EAKAw2C,EAAAC,EAJAtB,EAAAxC,GAAAb,GACArrE,EAAAgsE,GAAA0C,EAAA,MAAA5mF,QAAA,EACAuZ,EAAA2qE,GAAA0C,EAAA,MAAA5mF,QAAA,EACAmoF,GAAA,OAAAX,EAAA,OAAA9C,EAAAkC,EAAA,WAAAlC,EAAA,WAAA8C,EAAAxnF,OAAAkkF,GAAA0C,EAAA,MAAA5mF,MAAA,MAEA,WAAA2jE,EAAA,OAAA8jB,EAAAb,EAAA,WAAAa,EAAA,WAAA9jB,EAAA3jE,OAAA,GAAAiK,EACAg+E,EAAA,OAAA32C,EAAA,OAAAo2C,EAAAd,EAAA,WAAAc,EAAA,WAAAp2C,EAAAtxC,KACAkoF,EAAA,OAAAN,EAAA,OAAAD,EAAAf,EAAA,WAAAe,EAAA,WAAAC,EAAA5nF,SACI,aAAAuwE,EAAA,OAAAsX,EAAAjB,EAAA,WAAAiB,EAAA,WAAAtX,EAAAvwE,OAAA,GAAAiK,EAIJ,6BAAA5F,OAAA4F,EAAA,iBAHAg+E,EAAA,OAAAF,EAAA,OAAAD,EAAAlB,EAAA,WAAAkB,EAAA,WAAAC,EAAA/nF,KACAkoF,EAAA,OAAAz2C,EAAA,OAAAu2C,EAAApB,EAAA,WAAAoB,EAAA,WAAAv2C,EAAAzxC,IAEA,CAIA,IAHA,IAAA+oC,EAAAo/C,EAAA,IACAC,EAAApF,GAAAiF,GACAI,EAAA,GACA71E,EAAA,EAAkBA,EAAAy1E,EAAA7nF,OAAA,IAAgCoS,EAAA,CAClD,IAAAiO,EAAA2nE,EAAAE,UAAA,EAAA91E,GAAA,GACAiO,EAAA,OACA4nE,EAAApxE,KAAA,CAAAzE,EAAAiO,GACA,CACA,GAAA4nE,EAAAjoF,QAAAmZ,EACA,iBAAAlV,OAAAkV,EAAA,kBAAAlV,OAAAgkF,EAAAjoF,QACA,IAAAg6D,EAAA,GACA,IAAA5nD,EAAA,EAAcA,EAAA61E,EAAAjoF,OAAA,IAAwBoS,EACtC4nD,EAAAiuB,EAAA71E,GAAA,IAAA01E,EAAA72E,SAAAg3E,EAAA71E,GAAA,GAAAu2B,EAAAs/C,EAAA71E,EAAA,MAAAu2B,GAGA,OAFAs/C,EAAAjoF,QAAA,IACAg6D,EAAAiuB,EAAAA,EAAAjoF,OAAA,OAAA8nF,EAAA72E,SAAAg3E,EAAAA,EAAAjoF,OAAA,MAAA2oC,IACA,CAAW7wB,EAAAA,EAAAkiD,MAAAA,EACX,CAMAmuB,CAAAhF,EAAA9qE,EACA,GACA,OACA+vE,MAAAtE,GAAA0C,EAAA,MAAA5mF,QAAA,EACAA,KAAAwM,EAAAm3E,OAAA,SAAAC,EAAA3iF,GAQA,OAPA2iF,EAAA3iF,EAAAiX,KACA0rE,EAAA3iF,EAAAiX,GAAA,IACAjX,EAAAm5D,MAAA3pC,QAAA,SAAAyF,EAAA1jB,GACA,GAAAoxE,EAAA3iF,EAAAiX,GAAA1F,GACA,UAAAtO,MAAA,oBAAAG,OAAApD,EAAAiX,EAAA,OAAA7T,OAAAmO,IACAoxE,EAAA3iF,EAAAiX,GAAA1F,GAAA0jB,CACA,GACA0tD,CACA,EAAK,IAEL,CAuBA6E,CAAA5gF,EAAAqmC,GACAq5C,EAAAvnF,KAAAywB,QAAA,SAAAhc,EAAAyD,GACAzD,EAAAgc,QAAA,SAAA3tB,EAAA0P,GACA,IAAA0E,EAAAuf,GAAA,CAAiClqB,EAAA+rB,EAAApgB,EAAAlU,EAAAwO,IACjCqa,EAAAm5D,GAAAljF,EAAAw8C,EAAA2mC,GACAp5D,IACAwL,EAAAnhB,GAAA2V,EACA,EACA,GACAyL,GAAAivD,EAAAiB,KACA,EACA,CAQAE,CAAA7gF,EAAAs/E,EAAA,GAAA5/E,GACAA,CACA,CAqCA,SAAAohF,GAAAjvE,GACA,IAAAgrE,EAAA8C,EAAAC,EAAA9jB,EACA97D,EAAA,GAAY+gF,EAAA,GAyBZ,GAxBAlvE,EAAA5E,UAAA2b,QAAA,SAAA3d,GACA,GAAAA,EAAAjI,MAAA,WACA,UAAA3G,MAAA,kCACA,GACAwV,EAAA7E,UAAA4b,QAAA,SAAAjtB,GACA,GAAAA,EAAA+T,KAAA1M,MAAA,WAEA,IAAA5K,EAMA4oF,EALA,IACA5oF,EAAAolF,GAAA7hF,EAAAmV,QACA,CAAM,MAAA9V,GACN,OAAAwf,QAAAnZ,IAAA,MAAA1F,EAAAmV,QAAAvY,OAAA,KAAAyC,EAAA8jB,SAAA9jB,GACA,CAEA,IACAgmF,EAAApE,GAAAxkF,EACA,CAAM,MAAA4C,GACN,OAAAwf,QAAAnZ,IAAA,OAAArG,EAAA8jB,SAAA9jB,GACA,CACAgmF,EAAAp4D,QAAA,SAAAq4D,GACAjhF,EAAAihF,EAAAh+C,IAAAg+C,EAAAnE,SACAiE,EAAA3xE,KAAA6xE,EAAAh+C,GACA,EAhBA,CAiBA,IACA89C,EAAAxoF,OACA,UAAA8D,MAAA,wBACA,IAAA6kF,GAAA,OAAAplB,EAAA,OAAA8jB,EAAA,OAAAD,EAAA,OAAA9C,EAAA,MAAA78E,OAAA,EAAAA,EAAA,WAAA68E,EAAA,WAAA8C,EAAA/uC,WAAA,EAAAgvC,EAAA,WAAA9jB,EAAA,GAAA3jE,OAAA,GAAAkkF,GAAAr8E,EAAA,MAAA4wC,KAAA,MAAAz4C,OAAA6H,EAAA,MAaA,GAZAkhF,GACAH,EAAAn4D,QAAA,SAAA7lB,GACA/C,EAAA+C,GAAA6lB,QAAA,SAAAu4D,GAEA,MADA9E,GAAA8E,EAAAvwC,KAAA,MAAAz4C,QAAA,EACA,CACA,GAAA+oF,EAGA,UAAA7kF,MAAA,+BAFA6kF,EAAAC,CAGA,CACA,EACA,IACAD,EACA,UAAA7kF,MAAA,6BACA,OA/DA,SAAA2D,EAAA0M,GACA,IAAAhN,EAklDA,CAAUywB,WAAA,GAAAC,OAAA,IApkDV,GAZAusD,GADAJ,GAAA7vE,EAAAvU,MACA,GAAA0mF,IACAj2D,QAAA,SAAAhQ,GACA5Y,EAAA4Y,GAAAgQ,QAAA,SAAA9oB,GAEA,MADAu8E,GAAAv8E,EAAA8wC,KAAA,MAAAz4C,MACA,CACA,IAAAipF,EAzBA,SAAAphF,EAAA0M,GACA,IAAAmwE,EACAkC,EAAAxC,GAAA7vE,EAAAvU,MACAuH,EAAA,CACAgQ,MAAA,OAAAmtE,EAAAkC,EAAA,WAAAlC,EAAA,IAAApB,GAAAsD,EAAA,MAAA5mF,MAAA,GACA+3B,OAAA,IAUA,OARAysD,GAAAoC,EAAA,GAAAF,IACAj2D,QAAA,SAAAhQ,GACA5Y,EAAA4Y,GAAAgQ,QAAA,SAAA9oB,GAEA,KADAu8E,GAAAv8E,EAAA8wC,KAAA,MAAAz4C,OAEAuH,EAAAwwB,OAAA9gB,KAAAiwE,GAAAr/E,EAAAF,GACA,EACA,GACAJ,CACA,CASA2hF,CAAArhF,EAAAF,GACAshF,EAAAlxD,OAAAtH,QAAA,SAAAqH,EAAAltB,GACA48D,GAAAjgE,EAAAuwB,EAAA,GAAAltB,EAAAq+E,EAAA1xE,KAAA0xE,EAAA1xE,KAAA,IAAA3M,GAAA,EACA,EACA,CACA,EACA,GACA,GAAArD,EAAAywB,WAAA53B,OACA,UAAA8D,MAAA,sBACA,OAAAqD,CACA,CA6CA4hF,CAAAthF,EAAAkhF,EACA,CACA,SAAAK,GAAAC,EAAArpF,EAAA8+B,GACA,IAAA4lD,EAAA8C,EAAAC,EAAA9jB,EACA,YAAA+gB,EAAA2E,EAAA,WAAA3E,EAAA,cAAA8C,EAAA6B,EAAA,WAAA7B,EAAA,IACA,iDAEA,IADA,OAAA7jB,EAAA,OAAA8jB,EAAA4B,EAAA,WAAA5B,EAAA,WAAA9jB,EAAA3jE,OAAAkkF,GAAAmF,EAAA,MAAArpF,MAAA,EAEA,2CAIA,IAHA,IAAAuZ,EAAA,EACAksE,EAAAzC,GAAAqG,EAAA,MAAArpF,MAAAspF,EAAA,EAAAC,EAAA,GACAC,EAAAxG,GAAAqG,EAAA,MAAArpF,MAAAypF,EAAA,EAAAC,EAAA,GACAl3E,EAAA,EAAkBA,EAAAxS,EAAAI,SAAiBoS,EACnC,SAAAxS,EAAAwS,GAAA,CAOA,IAAAm3E,EAAAC,EACA,OAHAnE,EAAAoE,UAAA,EAAAr3E,EAAA82E,GAAA,GACAE,EAAAK,UAAA,EAAAr3E,EAAAi3E,GAAA,UAEAzpF,EAAAwS,IACA,aACAm3E,EAAAnE,GAAA,CAAsCvgF,EAAA,IAAAF,EAAA/E,EAAAwS,IAAoBssB,GAC1D8qD,EAAA7D,GAAA,CAAuC9gF,EAAA,IAAAF,EAAA/E,EAAAwS,IAAoBssB,GAC3D,MACA,aACA6qD,EAAAnE,GAAA,CAAsCvgF,EAAA,IAAAF,EAAA/E,EAAAwS,IAAoBssB,GAC1D8qD,EAAA7D,GAAA,CAAuC9gF,EAAA,IAAAF,EAAA/E,EAAAwS,IAAoBssB,GAC3D,MACA,cACA6qD,EAAAnE,GAAA,CAAsCvgF,EAAA,IAAAF,EAAA/E,EAAAwS,IAAoBssB,GAC1D8qD,EAAA7D,GAAA,CAAuC9gF,EAAA,IAAAF,EAAA/E,EAAAwS,IAAoBssB,GAC3D,MACA,QACA,UAAA56B,MAAA,qBAAAlE,EAAAwS,IAEA+2E,EAAAtyE,KAAA0yE,GACAL,GAAAK,EAAAvpF,OACAspF,EAAAzyE,KAAA2yE,GACAH,GAAAG,EAAAxpF,SACAmZ,CAxBA,MAHAksE,EAAAoE,UAAA,EAAAr3E,EAAA,UACAg3E,EAAAK,UAAA,EAAAr3E,EAAA,OA6BA,IADA62E,EAAA,MAAArpF,KAAAikF,GAAA1qE,GACS/G,EAAA62E,EAAA,MAAArpF,KAAAI,OAAA,IAA+BoS,EACxCizE,EAAAoE,UAAA,EAAAr3E,EAAA,UACAg3E,EAAAK,UAAA,EAAAr3E,EAAA,UAIA,OAFA62E,EAAA,MAAArpF,KAAAyjF,GAAA8F,GACAF,EAAA,MAAArpF,KAAAyjF,GAAAiG,GACAnwE,CACA,CA6QA,SAAAuwE,GAAA3oB,GACA,gBAAAl6D,GACA,QAAA/G,EAAA,EAAiBA,GAAAihE,EAAA/gE,SAAsBF,EAAA,CACvC,IAAA8E,EAAAm8D,EAAAjhE,QACA+P,IAAAhJ,EAAAjC,EAAA,MAAAiC,EAAAjC,EAAA,IAAAA,EAAA,IACA,MAAAA,EAAA,KAAAiC,EAAAjC,EAAA,IAAAimB,OAAAhkB,EAAAjC,EAAA,KACA,CACA,CACA,CAEA,SAAAqlE,GAAApjE,GACA6iF,GAAA,CACA,cACA,gBACA,mBACA,kBACA,gBACA,iBAEA,kBACA,oBAEA,gBACA,kBACA,iBACA,iBACA,eAEA,gBACA,YAlBAA,CAmBA7iF,EACA,CAEA,SAAAo2E,GAAAp2E,GACA6iF,GAAA,CACA,iBAEA,eAEA,oBAEA,mBAEA,YATAA,CAUA7iF,EACA,CAgBA,SAAA8iF,GAAA39D,EAAA7G,EAAAykE,EAAAlyD,EAAAltB,EAAAq/E,EAAAlyD,EAAAmyD,EAAAjjF,EAAAqkC,EAAAqb,EAAAnpB,GACA,IACAysD,EAAAnyD,GAAA+H,GAAApT,GAAAL,EAAA49D,GAAA,GAAAzkE,GACA,IACA4S,EADAn4B,EAAAusB,GAAAH,EAAA7G,GAEA,OAAA2kE,GACA,YAAA/xD,EAAAirC,GAAApjE,EAAAulB,EAAA3a,EAAA3D,EAAAgjF,EAAAnyD,GAAAwT,EAAAqb,EAAAnpB,GAA+F,MAC/F,YACA,KADArF,EAr5LA,SAAAn4B,EAAAuX,EAAA3M,EAAA3D,EAAA84B,EAAAuL,GACA,eAAA/zB,EAAAxW,OAAA,GA5vBA,SAAAf,EAAAiH,EAAA2D,EAAAm1B,EAAAuL,GACA,IAAAtrC,EAAA,OAAAA,EACA+/B,IAAAA,EAAA,CAAmB,WACnB,IAAAv8B,EAAA,CAAU,0CACV4U,EAAA,GACAolC,GAAA,EAuCA,OAtCAtoB,GAAAl1B,EAAA,SAAAmK,EAAA+N,EAAAod,GACA,OAAAA,GAEA,SACA9xB,EAAA,QAAA2G,EAAqB,MAErB,SACAmhC,EAAArT,OAAArtB,KAAA0gC,EAAArT,OAAArtB,GAAA,IACAT,EAAAoN,OAAA+zB,EAAArT,OAAArtB,GAAAmuD,SAAA5uD,EAAAoN,MACA,MAEA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,MAEA,QACAimC,GAAA,EAAiB,MACjB,QACAA,GAAA,EAAkB,MAClB,QACAplC,EAAAnB,KAAAqe,GAAoB,MACpB,QACAld,EAAA8B,MAAiB,MAEjB,QACA,GAAAhC,EAAA1Q,EAAA,EAAA4Q,EAAAnB,KAAAqe,QACA,GAAApd,EAAA1Q,EAAA,EAAA4Q,EAAA8B,WACA,IAAAsjC,GAAAv2C,EAAAupB,IAAA,UAAAtsB,MAAA,uBAAAoxB,EAAAxrB,SAAA,KAEA,EAAE7C,GAEF84B,EAAA,OAAAv8B,EAAA,WAAAA,EAAA,WAAAu8B,EAAA,OAAAv8B,EAAA,UACAA,CACA,CA+sBA2mF,CAAA,EAAAljF,EAAA2D,EAAAm1B,EAAAuL,GAhyBA,SAAAtrC,EAAAiH,EAAA2D,EAAAm1B,EAAAuL,GACA,IAAAtrC,EAAA,OAAAA,EAEA+/B,IAAAA,EAAA,CAAmB,WACnB,IACAp4B,EADAnE,EAAA,CAAW,0CAIXq1D,EAAA74D,EAAA6K,MAAA4tD,IAOA,OANAI,GAAAD,GAAAC,EAAA,GAAAr1D,EAAA8nC,EAAA1gC,IAGAjD,EAAA3H,EAAA6K,MAAA,2BAAArH,EAAA,QAAAmE,EAAA,IAEAo4B,EAAA,OAAAv8B,EAAA,WAAAA,EAAA,WAAAu8B,EAAA,OAAAv8B,EAAA,UACAA,CACA,CAixBA4mF,CAAA,EAAAnjF,EAAA2D,EAAAm1B,EAAAuL,EACA,CAk5LA++C,CAAArqF,EAAAulB,EAAA3a,EAAA3D,EAAAgjF,EAAAnyD,GAAAwT,MACAnT,EAAA,iBACA,IAAAmyD,EAAAn9D,GAAAgL,EAAA,WAAA+H,OAAA3a,GACAglE,EAAA3qD,GAAA0qD,GACAE,EAjvWA,SAAAxqF,EAAA+/B,GACA,IAAA//B,EAAA,WAYA,IAAA8qC,GAAA9qC,EAAA6K,MAAA,6CAEA,OAAAk1B,EAAA,OAAA+K,GAAA5K,MACA,CAiuWAuqD,CAAAh+D,GAAAL,EAAAk+D,GAAA,GAAAzqD,GAAApT,GAAAL,EAAAm+D,GAAA,GAAAD,IACAI,EAAAv9D,GAAAq9D,EAAAF,GACAK,EAAA/qD,GAAA8qD,GACAvyD,EAptNA,SAAAn4B,EAAAuX,EAAAtQ,EAAA84B,EAAAuL,EAAAs/C,GACA,IAAAvzD,EAAAuzD,GAAA,CAAqC,iBACrC,IAAA5qF,EAAA,OAAA4qF,EAGA,IAAAp4E,EAAA,EAAA0F,EAAA,EAAA+e,EAAA,IACA2jB,EAAA,CAAiBp3C,EAAA,CAAI+I,EAAA,IAAAvI,EAAA,KAAqBnB,EAAA,CAAM0J,EAAA,EAAAvI,EAAA,IAgBhD,OAbAhE,EAAA6K,MAAA,6CAAA4lB,QAAA,SAAAo6D,GACA,IAAAC,EA/BA,SAAA9qF,GACA,IAEAwO,EAFAyoB,EAAA,GACAojD,EAAAr6E,EAAA6K,MAAA,kBAIA7K,EAAA6K,MAAA,0CAAA4lB,QAAA,SAAAy0B,GACA,IAAAn+C,EAAAm+C,EAAAr6C,MAAA,+CACA9D,IACAkwB,GAAAlwB,EAAA,IAAAszE,GAAAtzE,EAAA,GAAAA,EAAA,GACA,GAGA,IAAAy/D,EAAAj4C,IAAAvuB,EAAA6K,MAAA,iEAIA,OAFA7K,EAAA6K,MAAA,4BAAA4lB,QAAA,SAAAoZ,GAA+Dr7B,EAAAq7B,EAAAznC,QAAA,eAE/D,CAAA60B,EAAAuvC,EAAAh4D,EACA,CAaAu8E,CAAAF,GACAjwC,EAAAp3C,EAAA+I,EAAAquC,EAAAp3C,EAAAQ,EAAA,EACA42C,EAAA/3C,EAAAmB,EAAAwO,EACAykB,EAAAL,GAAApkB,GACAs4E,EAAA,GAAAr6D,QAAA,SAAAxf,EAAA/Q,GACAm3B,EAAAJ,EAAAN,GAAAz2B,IAAA,CAA8B+E,EAAA,IAAAF,EAAAkM,EAAAgd,EAAA68D,EAAA,IAC9B5yE,EAAAhY,CACA,GACA06C,EAAA/3C,EAAA0J,EAAA2L,IAAA0iC,EAAA/3C,EAAA0J,EAAA2L,KACA1F,CACA,GACAA,EAAA,IAAA6kB,EAAA,QAAAD,GAAAwjB,IACAvjB,CACA,CA6rNA2zD,CAAAv+D,GAAAL,EAAAs+D,GAAA,GAAAA,EAAAzjF,EAAA44B,GAAApT,GAAAL,EAAAu+D,GAAA,GAAAD,GAAAp/C,EAAAnT,GACA,MACA,YAz5LA5gB,EAy5LAgO,EAAA0kE,EAAAnyD,GAx5LAvgB,EAAAxW,OAAA,GAw5LAo3B,EA91VkG,CAAQ,iBA81VX,MAC/F,aAAAA,EAr5LA,SAAAn4B,EAAAuX,GACA,OAAAA,EAAAxW,OAAA,GA78JkG,CAAQ,iBA+8J1G,CAk5LAkqF,CAAAjrF,EAAAulB,EAAA0kE,EAAAnyD,IAA+F,MAC/F,kBAAA5zB,MAAA,2BAAAgmF,GAEAnyD,EAAAD,GAAAK,EAGA,IAAA+yD,EAAA,GACAjB,GAAAA,EAAAnyD,IAAA9O,GAAAihE,EAAAnyD,IAAArH,QAAA,SAAAxf,GACA,IAAAq5E,EAAA,GACA,GAAAL,EAAAnyD,GAAA7mB,GAAAgvB,MAAA1O,GAAAsN,KAAA,CACAyrD,EAAAn9D,GAAA88D,EAAAnyD,GAAA7mB,GAAAivB,OAAA3a,GACA,IAAA4X,EA74LA,SAAAn9B,EAAAuX,EAAAtQ,GACA,eAAAsQ,EAAAxW,OAAA,GA5jKA,SAAAf,EAAAiH,GACA,IAAAM,EAAA,GACA4jF,EAAA,GACAnnF,EAAA,GACAw5C,GAAA,EAgCA,OA/BAtoB,GAAAl1B,EAAA,SAAAmK,EAAA+N,EAAAod,GACA,OAAAA,GACA,SACA61D,EAAAl0E,KAAA9M,GAAuB,MACvB,SACAnG,EAAAmG,EAAa,MACb,SACAnG,EAAAiB,EAAAkF,EAAAlF,EAAiBjB,EAAAsa,EAAAnU,EAAAmU,EAAata,EAAAuI,EAAApC,EAAAoC,EAAa,MAC3C,SAGA,GAFAvI,EAAAqqD,OAAA88B,EAAAnnF,EAAAuqD,gBACA,EAAAA,QACAtnD,EAAAmpC,WAAApsC,EAAA8/D,KAAA78D,EAAAmpC,WAAApsC,EAAA8/D,IAAAv3D,EAAA,MACAvI,EAAAiB,IAAAjB,EAAAiB,EAAA,WACAjB,EAAA8/D,IAAkBv8D,EAAA0P,KAAAjT,GAAa,MAE/B,UAOA,QACA,cALA,QACAw5C,GAAA,EAAiB,MACjB,QACAA,GAAA,EAAkB,MAKlB,QACA,GAAAtlC,EAAA1Q,QACA,IAAAg2C,GAAAv2C,EAAAupB,IAAA,UAAAtsB,MAAA,uBAAAoxB,EAAAxrB,SAAA,KAEA,GACAvC,CACA,CAuhKA6jF,CAAA,EAAAnkF,GAxwKA,SAAAjH,EAAAiH,GAEA,GAAAjH,EAAA6K,MAAA,oCACA,IAAAsgF,EAAA,GACAE,EAAA,GACAC,EAAAtrF,EAAA6K,MAAA,mDACAygF,GAAAA,EAAA,IAAAA,EAAA,GAAA7nF,MAAA,mBAAAgtB,QAAA,SAAAxvB,GACA,QAAAA,GAAA,KAAAA,EAAAikB,OAAA,CACA,IAAAlG,EAAA/d,EAAA4J,MAAA,8BACAmU,GAAAmsE,EAAAl0E,KAAA+H,EAAA,GAFA,CAGA,GACA,IAAAusE,EAAAvrF,EAAA6K,MAAA,2DAiBA,OAhBA0gF,GAAAA,EAAA,IAAAA,EAAA,GAAA9nF,MAAA,oBAAAgtB,QAAA,SAAAxvB,GACA,QAAAA,GAAA,KAAAA,EAAAikB,OAAA,CACA,IAAAu0C,EAAAx4D,EAAA4J,MAAA,2BACA,GAAA4uD,EAAA,CACA,IAAA/xD,EAAAmmB,GAAA4rC,EAAA,IACArL,EAAA,CAAkCC,OAAA3mD,EAAA8jF,UAAAL,EAAAzjF,EAAA8jF,WAAA,eAAAt9C,IAAAxmC,EAAAwmC,IAAAgrC,KAAAxxE,EAAAwxE,MAClChjD,EAAAgB,GAAAxvB,EAAAwmC,KACA,KAAAjnC,EAAAmpC,WAAAnpC,EAAAmpC,WAAAla,EAAA3pB,GAAA,CACA,IAAAk/E,EAAAxqF,EAAA4J,MAAA,6CACA6nD,IAAA+4B,KAAAA,EAAA,IAAA1sC,GAAA0sC,EAAA,MAAuEl/E,EAAA,GAAAtH,EAAA,GAAAqZ,EAAA,IACvE8vC,EAAA7hD,EAAAmmD,EAAAnmD,EACA,WAAAmmD,EAAAnmD,IAAAmmD,EAAAztD,EAAAytD,EAAAp0C,EAAA,IACA8vC,EAAAnpD,GAAAytD,EAAAztD,GAAA,IAAA7C,QAAA,cAAAA,QAAA,YACA6E,EAAA+3C,WAAAoP,EAAA9vC,EAAAo0C,EAAAp0C,GACA+sE,EAAAp0E,KAAAm3C,EAPA,CAJA,CAFA,CAcA,GACAi9B,CACA,CA4uKAK,CAAA,EAAAzkF,EACA,CA04LA0kF,CAAAp/D,GAAAH,EAAAk+D,GAAA,GAAAA,EAAArjF,GACA,IAAAk2B,IAAAA,EAAA/8B,OAAA,OACA6tD,GAAA91B,EAAAgF,GAAA,EACA,CACA8sD,EAAAnyD,GAAA7mB,GAAAgvB,MAAA1O,GAAAC,QACA84D,EAAAn9D,GAAA88D,EAAAnyD,GAAA7mB,GAAAivB,OAAA3a,GACA2lE,EAAAA,EAAA7mF,OAjlWA,SAAArE,EAAAiH,GACA,IAAAM,EAAA,GACAi2C,GAAA,EAAA4Q,EAAA,GAA+Bw9B,EAAA,EAiC/B,OAhCA5rF,EAAAoC,QAAAsrB,GAAA,SAAAzsB,EAAA2J,GACA,IAAAlD,EAAAmmB,GAAA5sB,GACA,OAAAmtB,GAAA1mB,EAAA,KACA,YAGA,wBACA,0BAgBA,mEAbA,uBAAA0mD,EAAA,CAAuCC,OAAA3mD,EAAAunD,SAAAiqB,KAAAxxE,EAAAojC,GAAAoD,IAAAxmC,EAAAwmC,IAAA1mC,EAAA,GAAmD,MAC1F,+BAAA4mD,EAAAnpD,GAAAsC,EAAA0P,KAAAm3C,GAAuE,MAEvE,yBAAAw9B,EAAAhhF,EAAA3J,EAAAb,OAAuD,MACvD,cAAAguD,EAAAnpD,EAAAjF,EAAAe,MAAA6qF,EAAAhhF,GAAAxI,QAAA,cAAAA,QAAA,YAAkG,MAGlG,iCAQA,WAAAo7C,GAAA,EAA2B,MAP3B,kBAQA,aAAAA,GAAA,EAA8B,MAE9B,YAAAA,GAAAv2C,EAAAupB,IAAA,UAAAtsB,MAAA,gBAAAwD,EAAA,4BAEA,OAAAzG,CACA,GACAsG,CACA,CA6iWAskF,CAAAt/D,GAAAH,EAAAk+D,GAAA,GAAArjF,IAEA,GACAikF,GAAAA,EAAA9qF,QAAA6tD,GAAA91B,EAAA+yD,GAAA,EAAAjkF,EAAAknD,QAAA,GACA,CAAG,MAAAtrD,GAAW,GAAAoE,EAAAupB,IAAA,MAAA3tB,CAAA,CA/6Ld,IAAA0U,CAg7LA,CAEA,SAAAu0E,GAAA7qF,GAAsD,WAAAA,EAAAiB,OAAA,GAAAjB,EAAAF,MAAA,GAAAE,CAAA,CAEtD,SAAAqT,GAAA8X,EAAAnlB,GAMA,GALAmJ,KAEAi6D,GADApjE,EAAAA,GAAA,IAIAklB,GAAAC,EAAA,gCAAAs1D,GAAAt1D,EAAAnlB,GAEA,GAAAklB,GAAAC,EAAA,yBAAAs1D,GAAAt1D,EAAAnlB,GAEA,GAAAklB,GAAAC,EAAA,uBACA,uBAAAjpB,WAAA,UAAAe,MAAA,oDACA,YAAAykF,GAAA,CACA,GAAAv8D,EAAAvX,UAAA,OAAA8zE,GAAAv8D,GACA,IAAA2/D,EAAAr5E,GAAArR,MAAA4kB,UAEA,OADA0G,GAAAP,GAAAqE,QAAA,SAAA5tB,GAAyC+pB,GAAAm/D,EAAAlpF,EAAA6pB,GAAAN,EAAAvpB,GAAA,GACzC8lF,GAAAoD,EACA,CACA,UAAA7nF,MAAA,2BACA,CACA,IAAAioB,GAAAC,EAAA,wBACA,GAAAD,GAAAC,EAAA,0BAAAloB,MAAA,+BACA,GAAAioB,GAAAC,EAAA,uBAAAloB,MAAA,+BACA,UAAAA,MAAA,uBACA,CAEA,IAGA6zB,EAAAi0D,EAHAvlD,EAAA9Z,GAAAP,GACA6/D,EA5njBA,SAAAjsF,GACA,IAAAuY,EATA,CACAqkB,UAAA,GAAA7E,OAAA,GAAAqF,OAAA,GAAAC,QAAA,GAAAC,OAAA,GACAyC,KAAA,GAAA7C,KAAA,GAAAC,SAAA,GAAA+uD,iBAAA,GAAAC,MAAA,GACAC,UAAA,GAAAC,SAAA,GAAAC,UAAA,GAAA3lC,OAAA,GAAAnpB,OAAA,GACA+uD,WAAA,GAAAC,IAAA,GAAAC,SAAA,GAAAlvD,SAAA,GAAA4wB,OAAA,GACAu+B,KAAA,GAAA9uD,MAAA,IAKA,IAAA59B,IAAAA,EAAA6K,MAAA,OAAA0N,EACA,IAAAo0E,EAAA,GAYA,IAXA3sF,EAAA6K,MAAA6iB,KAAA,IAAA+C,QAAA,SAAAxvB,GACA,IAAAyG,EAAAmmB,GAAA5sB,GACA,OAAAyG,EAAA,GAAAtF,QAAAurB,GAAA,MACA,kBACA,aAAApV,EAAAqlB,MAAAl2B,EAAA,SAAAA,EAAA,GAAAmD,MAAA,yBAAgF,MAChF,eAAA8hF,EAAAjlF,EAAAm2B,WAAAn2B,EAAAo2B,YAAwD,MACxD,qBACA7tB,IAAAsI,EAAAmkB,GAAAh1B,EAAAo2B,eAAAvlB,EAAAmkB,GAAAh1B,EAAAo2B,cAAA7mB,KAAAvP,EAAAs2B,UAGA,GACAzlB,EAAAqlB,QAAA1M,GAAAI,GAAA,UAAAptB,MAAA,sBAAAqU,EAAAqlB,OAMA,OALArlB,EAAAq0E,UAAAr0E,EAAAg0E,WAAAnsF,OAAA,EAAAmY,EAAAg0E,WAAA,MACAh0E,EAAA+mC,IAAA/mC,EAAA2kB,KAAA98B,OAAA,EAAAmY,EAAA2kB,KAAA,MACA3kB,EAAA8zB,MAAA9zB,EAAAilB,OAAAp9B,OAAA,EAAAmY,EAAAilB,OAAA,MACAjlB,EAAA4oD,SAAAwrB,SACAp0E,EAAAg0E,WACAh0E,CACA,CAsmjBAs0E,CAAApgE,GAAAL,EAAA,wBACA2Q,GAAA,EAMA,GAJA,IAAAkvD,EAAArvD,UAAAx8B,QAEAmsB,GAAAH,EADA4/D,EAAA,mBACA,IAAAC,EAAArvD,UAAA3lB,KAAA+0E,GAEA,IAAAC,EAAArvD,UAAAx8B,OAAA,CAEA,IAAAmsB,GAAAH,EADA4/D,EAAA,mBACA,aAAA9nF,MAAA,2BACA+nF,EAAArvD,UAAA3lB,KAAA+0E,GACAjvD,GAAA,CACA,CACA,OAAAkvD,EAAArvD,UAAA,GAAA77B,OAAA,KAAAg8B,GAAA,GAEA,IAAA4pB,EAAA,CAAiB,EACjBnpB,EAAA,CAAiB,EACjB,IAAAv2B,EAAAijE,aAAAjjE,EAAAkjE,UAAA,CAEA,GADAjtC,GAAA,GACA+uD,EAAA3sC,IAAA,IAAoBpiB,GA/8LpB,SAAAl9B,EAAAuX,EAAAtQ,GACA,eAAAsQ,EAAAxW,OAAA,GA92OA,SAAAf,EAAAiH,GACA,IAAAzD,EAAA,GACAg6C,GAAA,EAoBA,OAnBAtoB,GAAAl1B,EAAA,SAAAmK,EAAA+N,EAAAod,GACA,OAAAA,GACA,SACA9xB,EAAAi8C,MAAAt1C,EAAA,GAAsB3G,EAAAm8C,OAAAx1C,EAAA,GAAmB,MACzC,QACA3G,EAAAyT,KAAA9M,GAAiB,MACjB,SACA,SAEA,QACAqzC,GAAA,EAAiB,MACjB,QACAA,GAAA,EAAkB,MAElB,QAEA,GADAtlC,EAAA1Q,GACAg2C,GAAAv2C,EAAAupB,IAAA,UAAAtsB,MAAA,uBAAAoxB,EAAAxrB,SAAA,KAEA,GACAtG,CACA,CAu1OAspF,CAAA,EAAA7lF,GA75OA,SAAAjH,EAAAiH,GACA,IAAAzD,EAAA,GAAA6G,EAAA,GACA,IAAArK,EAAA,OAAAwD,EAEA,IAAA87C,EAAAt/C,EAAA6K,MAAAo0C,IACA,GAAAK,EAAA,CACAj1C,EAAAi1C,EAAA,GAAAl9C,QAAA88C,GAAA,IAAAz7C,MAAA07C,IACA,QAAAj/C,EAAA,EAAiBA,GAAAmK,EAAAjK,SAAgBF,EAAA,CACjC,IAAAD,EAAA8+C,GAAA10C,EAAAnK,GAAAglB,OAAAje,GACA,MAAAhH,IAAAuD,EAAAA,EAAApD,QAAAH,EACA,CACAq/C,EAAAzxB,GAAAyxB,EAAA,IAA6B97C,EAAAi8C,MAAAH,EAAAE,MAAqBh8C,EAAAm8C,OAAAL,EAAAI,WAClD,CACA,OAAAl8C,CACA,CAg5OAupF,CAAA,EAAA9lF,EACA,CA48LoB+lF,CAAAzgE,GAAAH,EAAA0/D,GAAAG,EAAA3sC,MAAA2sC,EAAA3sC,IAAAr4C,EAAA,CAA8E,MAAApE,GAAW,GAAAoE,EAAAupB,IAAA,MAAA3tB,CAAA,CAE7GoE,EAAA0nC,YAAAs9C,EAAAtlC,OAAAvmD,SAAAumD,EAr9LA,SAAA3mD,EAAAuX,EAAAtQ,GACA,OAAAykD,GAAA1rD,EAAAiH,EACA,CAm9LAgmF,CAAAxgE,GAAAL,EAAA6/D,EAAAtlC,OAAA,GAAAvkD,QAAA,kBAAA6pF,EAAAtlC,OAAA,GAAA1/C,IAEAglF,EAAA5/C,QAAA7O,EA59LA,SAAAx9B,EAAAuX,EAAAovC,EAAA1/C,GACA,eAAAsQ,EAAAxW,OAAA,GAlsMA,SAAAf,EAAA2mD,EAAA1/C,GACA,IAAAu2B,EAAA,CACAA,UAAA,IACA,QAAA91B,KAAA3B,EAAAy3B,EAAAopB,UAAAl/C,GAAA3B,EAAA2B,GAEA81B,EAAA+qB,OAAA,GACA/qB,EAAAupB,MAAA,GACA,IAAA3uC,EAAA,GACAolC,GAAA,EAmDA,OAlDAtoB,GAAAl1B,EAAA,SAAAmK,EAAA+N,EAAAod,GACA,OAAAA,GACA,QACAkI,EAAAopB,UAAAz8C,EAAA,IAAAA,EAAA,GAAuC6F,GAAA7F,EAAA,GAAAA,EAAA,IACvC,MACA,QACAqzB,EAAAupB,MAAA9vC,KAAA9M,GACA,MAAAA,EAAA8N,MAAAujB,OAAAmrB,GAAAA,EAAAc,eAAAd,EAAAc,cAAAC,YACAv9C,EAAA8N,MAAA0jB,IAAA8nB,GAAAkD,EAAAc,cAAAC,UAAAv9C,EAAA8N,MAAAujB,OAAAG,IAAAxxB,EAAA8N,MAAAyjB,MAAA,IAEA,MACA,UACA,QAEA,QAOA,QACA,SACA,SACA,SAGA,UACA,UACA,UACA,SACA,UACA,UACA,MAjBA,QACA,KAAAtjB,EAAAA,EAAAhY,OAAA,IACAo9B,EAAA+qB,OAAAtxC,KAAA9M,GAEA,MAeA,QACAqzC,GAAA,EAAiB,MACjB,QACAA,GAAA,EAAkB,MAClB,QACAplC,EAAAnB,KAAAqe,GAAoBkoB,GAAA,EAAa,MACjC,QACAplC,EAAA8B,MAAiBsjC,GAAA,EAAc,MAE/B,QACA,GAAAtlC,EAAA1Q,EAAA,EAAA4Q,EAAAnB,KAAAqe,QACA,GAAApd,EAAA1Q,EAAA,EAAA4Q,EAAA8B,WACA,IAAAsjC,GAAAv2C,EAAAupB,KAAA,IAAApY,EAAAA,EAAAhY,OAAA,aAAA8D,MAAA,uBAAAoxB,EAAAxrB,SAAA,KAEA,GACA0zB,CACA,CAsoMA0vD,CAAA,EAAAvmC,EAAA1/C,GACAo/C,GAAA,EAAAM,EAAA1/C,EACA,CAy9LAkmF,CAAA5gE,GAAAH,EAAA0/D,GAAAG,EAAA5/C,QAAA4/C,EAAA5/C,MAAAsa,EAAA1/C,GACA,CAEAglF,EAAAE,MAAAzoF,IAAA,SAAA0pF,GACA,IAEA,OADAvtD,GAAApT,GAAAL,EAAAwT,GAAAksD,GAAAsB,KAAAA,GAz8LA,SAAAptF,EAAAggC,EAAAzoB,EAAAtQ,GACA,YAAAsQ,EAAAxW,OAAA,UA76KA,SAAAf,EAAAggC,EAAAzoB,EAAAsD,GACA,IAAA7a,EAAA,OAAAA,EACA,IAAAiH,EAAA4T,GAAA,GAEA2iC,GAAA,EAEAtoB,GAAAl1B,EAAA,SAAAmK,EAAA+N,EAAAod,GAEA,OAAAA,GACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,MAEA,QACAkoB,GAAA,EAAiB,MACjB,QACAA,GAAA,EAAkB,MAElB,QACA,GAAAtlC,EAAA1Q,QACA,IAAAg2C,GAAAv2C,EAAAupB,IAAA,UAAAtsB,MAAA,uBAAAoxB,EAAAxrB,SAAA,KAEA,EAAE7C,EACF,CAm4KAomF,CAAA,EAAArtD,EAAAzoB,EAAAtQ,EAEA,CAu8LAqmF,CAAA/gE,GAAAH,EAAA0/D,GAAAsB,IAAArtD,EAAAqtD,EAAAnmF,EACA,CAAI,MAAApE,GAAA,CACJ,GAEA,IAAAyoC,EA//LA,SAAAtrC,EAAAuX,EAAAtQ,GACA,eAAAsQ,EAAAxW,OAAA,GApNA,SAAAf,EAAAiH,GACA,IAAAqkC,EAAA,CAAY7H,WAAA,GAAa69B,QAAA,GAAYE,OAAA,GAAAvpC,OAAA,GAAAspC,OAAA,GAAiC3jC,MAAA,IACtExlB,EAAA,GACAolC,GAAA,EAEAv2C,IAAAA,EAAA,IACAA,EAAAovB,KAAA,GAEA,IAAA+mC,EAAA,GACAtJ,EAAA,KAkGA,OAjGAA,EAAA97B,WAAA,GACA87B,EAAAC,IAAA,GAEAx+B,GAAA,KAA4BtkB,EAAA,gBAAAzC,EAAAm0D,IAE5BztC,GAAAl1B,EAAA,SAAAmK,EAAA+N,EAAAod,GACA,OAAAA,GACA,SACAw+B,EAAA97B,WAAA/gB,KAAA9M,EAAAoN,MACA+zB,EAAArT,OAAAhhB,KAAA9M,GAAyB,MAEzB,SACAmhC,EAAAg2B,QAAAn3D,EAAsB,MAEtB,QACA,MAAAA,EAAAkzD,QAAAp2D,EAAA+sD,IAAA7pD,EAAAkzD,OACAlzD,EAAAmzD,IAAAjJ,GAAAlqD,EAAA2nE,IAAA,OAAAhe,EAAA7sD,UACAA,EAAA+sD,WACA7pD,EAAA2nE,IACA1U,EAAAnmD,KAAA9M,GACA,MACA,UAeA,SAGA,UACA,SACA,SACA,SACA,SAIA,UACA,UACA,SACA,SACA,SACA,SACA,UACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,SACA,UACA,SACA,UACA,UACA,UACA,SACA,SACA,UACA,SACA,UAYA,cA5DA,SACA,SACA,SACA,SACA2pD,EAAA,GAAA1zD,OACA0zD,EAAA78C,KAAA,CAAAqe,EAAAnrB,IADA2pD,EAAA,IAAAx+B,EAAAnrB,GAEA2pD,EAAAA,EAAA1zD,OAAA,GAAA2zD,IAAA,GACA,MACA,SACA,IAAAD,EAAA1zD,SAAgC0zD,EAAA,MAAkBA,EAAA,GAAAC,IAAA,IAClDD,EAAAA,EAAA1zD,OAAA,GAAA2zD,IAAAD,EAAAA,EAAA1zD,OAAA,GAAA2zD,IAAA1vD,OAAA8F,GACA2pD,EAAAC,IAAAD,EAAAC,IAAA1vD,OAAA8F,GACA,MAuCA,QAIA,QACAiO,EAAAnB,KAAAqe,GAAoBkoB,GAAA,EAAa,MAHjC,QAIA,QACAplC,EAAA8B,MAAiBsjC,GAAA,EAAc,MAI/B,QACA,GAAAtlC,EAAA1Q,QACA,IAAAg2C,GAAAv2C,EAAAupB,KAAA,IAAApY,EAAAA,EAAAhY,OAAA,QAAAgY,EAAAA,EAAAhY,OAAA,aAAA8D,MAAA,uBAAAoxB,EAAAxrB,SAAA,KAEA,EAAE7C,GAEFo6D,GAAA/1B,GAGAA,EAAA8xB,MAAAA,EAEA,EAAAtJ,SAAAA,EACAxoB,CACA,CAwGAiiD,CAAA,EAAAtmF,GA/hBA,SAAAjH,EAAAiH,GACA,IAAAjH,EAAA,UAAAkE,MAAA,uBACA,IAAAonC,EAAA,CAAmB7H,WAAA,GAAa69B,QAAA,GAAYE,OAAA,GAAAvpC,OAAA,GAAAspC,OAAA,GAAiCnE,MAAA,GAAAx/B,MAAA,IAC7E4f,GAAA,EAAA5f,EAAA,QACA4vD,EAAA,GAAeC,EAAA,EAmJf,GAlJAztF,EAAAoC,QAAAsrB,GAAA,SAAAzsB,EAAA2J,GACA,IAAAlD,EAAAmmB,GAAA5sB,GACA,OAAAmtB,GAAA1mB,EAAA,KACA,YAOA,kBAIA,0CAGA,mBAEA,qBAeA,oBAGA,0BAEA,4BAGA,sDAGA,sBAGA,6CAWA,eAGA,8CAEA,qBAGA,iFAEA,yBAGA,sBAgBA,qBAKA,gBAGA,eAGA,oFAEA,sDAGA,4DAEA,kBAGA,sCAGA,kEAEA,oBAGA,4CAGA,8CAGA,8EAEA,wBAGA,6DAMA,cAMA,yBAtIA,gBACAzG,EAAA4J,MAAAm3D,MAAApkC,EAAA,QAAA38B,EAAA4J,MAAA,eACAygC,EAAA1N,MAAAl2B,EAAAk2B,GACA,MAIA,0BAAAl2B,EAAA,GAAqC4jC,EAAA7H,WAAA/7B,EAAmB,MASxD,kBACA,oBACAo5D,GAAArwC,QAAA,SAAApnB,GACA,SAAA3B,EAAA2B,EAAA,IACA,OAAAA,EAAA,IACA,WAAAiiC,EAAAg2B,QAAAj4D,EAAA,IAAA8lB,GAAAznB,EAAA2B,EAAA,KAA6D,MAC7D,UAAAiiC,EAAAg2B,QAAAj4D,EAAA,IAAAwD,SAAAnF,EAAA2B,EAAA,QAA4D,MAC5D,QAAAiiC,EAAAg2B,QAAAj4D,EAAA,IAAA3B,EAAA2B,EAAA,IAEA,GACA3B,EAAAoxD,WAAAxtB,EAAAg2B,QAAAvI,SAAAppC,GAAAjoB,EAAAoxD,WACA,MAWA,iDAAApxD,EAAA,GAA8D4jC,EAAAk2B,OAAAvqD,KAAAvP,GAAmB,MAMjF,aACA,OAAAA,EAAA0Q,OACA,aAAA1Q,EAAA06D,OAAA,EAAkC,MAClC,iBAAA16D,EAAA06D,OAAA,EAAsC,MACtC,QAAA16D,EAAA06D,OAAA,SAEA16D,EAAA0Q,MACA1Q,EAAA6P,KAAAgX,GAAAoB,GAAAjoB,EAAA6P,cACA7P,EAAA,GAAiB4jC,EAAArT,OAAAhhB,KAAAvP,GAAmB,MAepC,yCAyDA,WAKA,wBACA,yBAAA81C,GAAA,EAAyC,MA9DzC,sBAyDA,aAMA,0BAAAA,GAAA,EAA2C,MA7D3C,oBACAgwC,EAAA,IACArgD,KAAAxd,GAAAjoB,EAAA6P,MACA7P,EAAA0mD,UAAAo/B,EAAAlrB,QAAA56D,EAAA0mD,SACA1mD,EAAA66D,eAAAirB,EAAAnwB,OAAA31D,EAAA66D,cACApzC,GAAAznB,EAAAgvC,QAAA,OAAA82C,EAAAprB,QAAA,GACAqrB,EAAA7iF,EAAA3J,EAAAb,OACK,MACL,qBACAotF,EAAAlwB,IAAA/uC,GAAAoB,GAAA3vB,EAAAe,MAAA0sF,EAAA7iF,KACA0gC,EAAA8xB,MAAAnmD,KAAAu2E,GACK,MAIL,cACA,uBAAA9lF,EAAA,GAAkC4jC,EAAAi2B,OAAA75D,EAAe,MAkDjD,YAAA81C,GAAAv2C,EAAAupB,IAAA,UAAAtsB,MAAA,gBAAAwD,EAAA,mBAEA,OAAAzG,CACA,IACA,IAAAgxB,GAAAryB,QAAA0rC,EAAA1N,OAAA,UAAA15B,MAAA,sBAAAonC,EAAA1N,OAIA,OAFAyjC,GAAA/1B,GAEAA,CACA,CAoYAoiD,CAAA,EAAAzmF,EACA,CA4/LA0mF,CAAAphE,GAAAH,EAAA0/D,GAAAG,EAAArvD,UAAA,KAAAqvD,EAAArvD,UAAA,GAAA31B,GAEA26B,EAAA,GAAegsD,EAAA,GAEf3B,EAAAG,UAAAhsF,UACAwtF,EAAArhE,GAAAH,EAAA0/D,GAAAG,EAAAG,UAAA,WACAxqD,EAAAX,GAAA2sD,IACA,IAAA3B,EAAAI,SAAAjsF,SACAwtF,EAAArhE,GAAAH,EAAA0/D,GAAAG,EAAAI,SAAA,UAnxiBA,SAAArsF,EAAA8S,EAAA7L,GACA,IAAAF,EAAA,GAAa+L,IAAAA,EAAA,IACb9S,EAAA2vB,GAAA3vB,GAEAqxB,GAAAZ,QAAA,SAAAjiB,GACA,IAAAyV,GAAAjkB,EAAA6K,MAAA+kB,GAAAphB,EAAA,aACA,OAAAA,EAAA,IACA,aAAAyV,IAAAnR,EAAAtE,EAAA,IAAA+f,GAAAtK,IAAsD,MACtD,WAAAnR,EAAAtE,EAAA,aAAAyV,EAA0C,MAC1C,UACA,IAAAid,EAAAlhC,EAAA6K,MAAA,IAAAilB,OAAA,IAAAthB,EAAA,0BAAAA,EAAA,SACA0yB,GAAAA,EAAA9gC,OAAA,IAAA2G,EAAAyH,EAAA,IAAA0yB,EAAA,IAGA,GAEAn6B,EAAA2qE,cAAA3qE,EAAA4qE,eAAAlwC,GAAA16B,EAAA2qE,aAAA3qE,EAAA4qE,cAAA7+D,EAAA7L,EAGA,CAiwiBA4mF,CAAAD,EAAAhsD,EAAA36B,IAIA,IAAAqlF,EAAA,GACArlF,EAAAijE,aAAAjjE,EAAAkjE,WACA,IAAA8hB,EAAAK,UAAAlsF,SACAwtF,EAAAnhE,GAAAL,EAAA0/D,GAAAG,EAAAK,UAAA,WACAA,EA3uiBA,SAAAtsF,EAAAiH,GACA,IAAA6L,EAAA,GAAWyE,EAAA,GACX5P,EAAA3H,EAAA6K,MAAA03B,IACA,GAAA56B,EAAA,QAAAzH,EAAA,EAAsBA,GAAAyH,EAAAvH,SAAeF,EAAA,CACrC,IAAAe,EAAA0G,EAAAzH,GAAAwH,EAAAmmB,GAAA5sB,GACA,OAAAyG,EAAA,IACA,YACA,wBACA,gBAAA6P,EAAAgX,GAAA7mB,EAAA6P,MAAiD,MACjD,kBAAAA,EAAA,KAAoC,MACpC,eAAAtW,EAAArB,QAAA,SACA,IAAAkuF,EAAA7sF,EAAAwC,MAAA,KACAwG,EAAA6jF,EAAA,GAAA/sF,MAAA,GAAA2jB,EAAAopE,EAAA,GAEA,OAAA7jF,GACA,oCAeA,qBACA6I,EAAAyE,GAAAgX,GAAA7J,GACA,MAdA,WACA5R,EAAAyE,GAAA4X,GAAAzK,GACA,MACA,yDACA5R,EAAAyE,GAAA1K,SAAA6X,EAAA,IACA,MACA,gCACA5R,EAAAyE,GAAAlJ,WAAAqW,GACA,MACA,0BACA5R,EAAAyE,GAAAgT,GAAA7F,GACA,MAIA,QACA,QAAAza,EAAAlJ,OAAA,SACAkG,EAAAupB,KAAA,oBAAAnO,SAAAA,QAAA0rE,KAAA,aAAA9sF,EAAAgJ,EAAA6jF,GAEA,MAAK,UAAA7sF,EAAAF,MAAA,WACA,GAAAkG,EAAAupB,IAAA,UAAAtsB,MAAAjD,GAEL,CACA,OAAA6R,CACA,CAisiBAk7E,CAAAJ,EAAA3mF,IAIA,IAAAM,EAAA,CAAc,EACd,IAAAN,EAAAijE,YAAAjjE,EAAAkjE,aACA7+B,EAAArT,OAAAF,EAAAuT,EAAArT,OAAAv0B,IAAA,SAAAzC,GAA0D,OAAAA,EAAAsW,IAAA,GAC1DqqB,EAAAG,YAAAH,EAAA5J,WAAA53B,OAAA,IAAA23B,EAAA6J,EAAA5J,YACA/wB,EAAAkjE,YAAuB5iE,EAAA85B,MAAAO,EAAmBr6B,EAAAw+D,UAAAumB,GAC1CrlF,EAAAijE,iBAAA,IAAAnyC,IAAAxwB,EAAAywB,WAAAD,GACA9wB,EAAAijE,WAAA3iE,EAAAywB,WAAA/wB,EAAAkjE,WAAA,OAAA5iE,EAEAwwB,EAAA,GAEA,IAl/LA/3B,EAk/LAiuF,EAAA,GACAhnF,EAAAinF,UAAAjC,EAAAW,YAn/LA5sF,EAm/LAusB,GAAAH,EAAA0/D,GAAAG,EAAAW,YAAAqB,EAl/LA,SAk/LAhC,EAAAW,UAl/LA7rF,OAAA,GAh8KA,SAAAf,GACA,IAAAuH,EAAA,GAYA,OAVA2tB,GAAAl1B,EAAA,SAAAmK,EAAA+N,EAAAod,GACA,GACA,KADAA,EAEA/tB,EAAA0P,KAAA9M,QAGA,IAAA+N,EAAA1Q,EACA,UAAAtD,MAAA,uBAAAoxB,EAAAxrB,SAAA,IAEA,GACAvC,CACA,CAk7KA4mF,CAAA,GAl+KA,SAAAnuF,GACA,IAAAgF,EAAA,GACA,IAAAhF,EAAA,OAAAgF,EACA,IAAA9E,EAAA,EAWA,OAVAF,EAAA6K,MAAA6iB,KAAA,IAAA+C,QAAA,SAAAxvB,GACA,IAAAyG,EAAAmmB,GAAA5sB,GACA,OAAAyG,EAAA,IACA,YAEA,4DAEA,gBAAAA,EAAA,GAA2BA,EAAAxH,EAAAA,EAAAwH,EAAAxH,EAAiBwH,EAAAxH,EAAAA,EAAc8E,EAAAiS,KAAAvP,GAE1D,GACA1C,CACA,CAo9KAopF,CAAA,IAm/LA,IAEA7oE,EAAAykE,EAFA9pF,EAAA,EACA+pF,EAAA,CAAoB,EAIpBoE,EAAA/iD,EAAArT,OACA2J,EAAAG,WAAAssD,EAAAjuF,OACAwhC,EAAA5J,WAAA,GACA,QAAAvtB,EAAA,EAAiBA,GAAA4jF,EAAAjuF,SAAsBqK,EACvCm3B,EAAA5J,WAAAvtB,GAAA4jF,EAAA5jF,GAAA8M,KAIA,IAAA+2E,EAAAvxD,EAAA,YACAwxD,EAAAtC,EAAArvD,UAAA,GAAA7uB,YAAA,KACAygF,GAAAvC,EAAArvD,UAAA,GAAA77B,MAAA,EAAAwtF,EAAA,YAAAtC,EAAArvD,UAAA,GAAA77B,MAAAwtF,EAAA,YAAAnsF,QAAA,UACA+pB,GAAAC,EAAAoiE,KAAAA,EAAA,qBAAAF,EAAA,SACA,IAAAG,EAAA5uD,GAAApT,GAAAL,EAAAoiE,GAAA,GAAAA,EAAApsF,QAAA,mBAEA6pF,EAAA1uD,UAAA,IAAAn9B,QAAA,IAEA6G,EAAAo0D,OAhgMA,SAAAr7D,EAAAuX,EAAAtQ,GACA,eAAAsQ,EAAAxW,OAAA,GAnoLA,SAAAf,EAAAuX,EAAAsD,GACA,IAAAtT,EAAA,CAAcmnF,MAAA,GAAApzB,KAAA,GAAA4Z,MAAA,IACdjuE,EAAA4T,GAAA,GACAzC,EAAA,GACAolC,GAAA,EACAmxC,EAAA,EAkCA,OAjCAz5D,GAAAl1B,EAAA,SAAAmK,EAAA+N,EAAAod,GACA,OAAAA,GACA,SACA/tB,EAAAmnF,MAAAz3E,KAAA,CAAyBM,KAAApN,EAAAoN,OACzB,MACA,QACApN,EAAAsmB,QAAA,SAAAlkB,GACA,GAAAoiF,EACApnF,EAAA+zD,KAAArkD,KAAA,CAA4BhN,KAAA1C,EAAAmnF,MAAAniF,EAAA,MAAAgL,KAAAgkB,MAAAhvB,EAAA,KAC5B,GAAAoiF,GACApnF,EAAA2tE,MAAAj+D,KAAA,CAA6BhN,KAAA1C,EAAAmnF,MAAAniF,EAAA,MAAAgL,KAAAgkB,MAAAhvB,EAAA,IAC7B,GACA,MACA,SACAoiF,EAAAxkF,EAAA,IACA,MACA,SACAwkF,EAAA,EACA,MACA,QACAv2E,EAAAnB,KAAAqe,GACAkoB,GAAA,EACA,MACA,QACAplC,EAAA8B,MACAsjC,GAAA,EACA,MACA,QACA,GAAAtlC,EAAA1Q,QACU,IAAAg2C,GAAAv2C,EAAAupB,KAAA,IAAApY,EAAAA,EAAAhY,OAAA,GACV,UAAA8D,MAAA,uBAAAoxB,EAAAxrB,SAAA,KAEA,GACAvC,CACA,CA2lLAqnF,CAAA,EAAAr3E,EAAAtQ,GAlkLA,SAAAjH,EAAAuX,EAAAtQ,GACA,IAAAM,EAAA,CAAcmnF,MAAA,GAAApzB,KAAA,GAAA4Z,MAAA,IACd,IAAAl1E,EACA,OAAAuH,EACA,IAEAsnF,EAFArxC,GAAA,EACAmxC,EAAA,EAyEA,OAvEA3uF,EAAAoC,QAAAsrB,GAAA,SAAAzsB,GACA,IAAAyG,EAAAmmB,GAAA5sB,GACA,OAAAmtB,GAAA1mB,EAAA,KACA,YAEA,gBACA,kBAEA,qBACA,uBAKA,sBAOA,wBAEA,WAEA,YAQA,YAcA,cACA,eACA,gBACA,gBACA,MAxCA,oBACAH,EAAAmnF,MAAAz3E,KAAA,CAAyBM,KAAA7P,EAAA6P,OACzB,MAGA,sBACA,QAAA9M,EAAA,EAAwBA,EAAAlD,EAAAmnF,MAAAtuF,SAAsBqK,EAC9ClD,EAAAmnF,MAAAjkF,GAAA8M,MAAA7P,EAAA6P,OACAs3E,EAAAtnF,EAAAmnF,MAAAjkF,IACA,MAOA,UACA,GAAAkkF,EACApnF,EAAA+zD,KAAArkD,KAAA,CAA0BhN,KAAA1C,EAAAmnF,MAAAhnF,EAAAzC,EAAA,GAAAsS,KAAAgkB,OAAA7zB,EAAA3C,IAC1B,GAAA4pF,GACApnF,EAAA2tE,MAAAj+D,KAAA,CAA2BhN,KAAA1C,EAAAmnF,MAAAhnF,EAAAzC,EAAA,GAAAsS,KAAAgkB,OAAA7zB,EAAA3C,IAC3B,MAGA,oBACA4pF,EAAA,EACA,MACA,sBAMA,uBACAA,EAAA,EACA,MALA,qBACAA,EAAA,EACA,MASA,WACAnxC,GAAA,EACA,MACA,aACAA,GAAA,EACA,MACA,WACA,IAAAqxC,EACA,MACAA,EAAAxG,UACAwG,EAAAxG,QAAA,IACAwG,EAAAxG,QAAApxE,MAAAvP,EAAAxH,GACA,MACA,QACA,IAAAs9C,GAAAv2C,EAAAupB,IACA,UAAAtsB,MAAA,gBAAAwD,EAAA,mBAEA,OAAAzG,CACA,GACAsG,CACA,CAo/KAunF,CAAA,EAAAv3E,EAAAtQ,EACA,CA6/LA8nF,CAAAxiE,GAAAH,EAAA0/D,GAAAG,EAAA1uD,SAAA,KAAA0uD,EAAA1uD,SAAA,GAAAt2B,KAGAglF,EAAA99B,QAAA,IAAA/tD,QAAA,IACA6G,EAAAknD,OAppWA,SAAAnuD,EAAAiH,GACA,IAAAM,EAAA,GACAi2C,GAAA,EAwBA,OAvBAx9C,EAAAoC,QAAAsrB,GAAA,SAAAzsB,GACA,IAAAyG,EAAAmmB,GAAA5sB,GACA,OAAAmtB,GAAA1mB,EAAA,KACA,YAGA,kBACA,oBAIA,gBAGA,mEAJA,cAAAH,EAAA0P,KAAA,CAA6BM,KAAA7P,EAAAsnF,YAAAlkD,GAAApjC,EAAAojC,KAAkC,MAM/D,WAAA0S,GAAA,EAA2B,MAC3B,aAAAA,GAAA,EAA8B,MAE9B,YAAAA,GAAAv2C,EAAAupB,IAAA,UAAAtsB,MAAA,gBAAAwD,EAAA,4BAEA,OAAAzG,CACA,GACAsG,CACA,CAynWA0nF,CAAA1iE,GAAAH,EAAA0/D,GAAAG,EAAA99B,OAAA,KAAAlnD,IAGAwnF,IAAAA,EA7KA,SAAAA,EAAA12D,GACA,IAAA02D,EAAA,SACA,IACAA,EAAA12D,EAAAr0B,IAAA,SAAA2F,GAAsE,OAA7BA,EAAAyhC,KAAAzhC,EAAAyhC,GAAAzhC,EAAAq5D,UAA6B,CAAAr5D,EAAAkO,KAAAk3E,EAAA,OAAAplF,EAAAyhC,IAAA5K,QAVtEjvB,EAUsEw9E,EAAA,OAAAplF,EAAAyhC,IAAA7K,KATtE1O,GAAA6N,GAAAx/B,QAAAqR,IAAA,UACAsgB,GAAA4N,IAAAluB,GAAAsgB,GAAA4N,GAAA,QACA5N,GAAA8N,IAAApuB,GAAAsgB,GAAA8N,GAAA,SACA9N,GAAA+N,IAAAruB,GAAAsgB,GAAA+N,GAAA,QACAruB,GAAAA,EAAA7Q,OAAA6Q,EAAA,UALA,IAAAA,CAUsE,EACtE,CAAG,MAAApO,GAAW,YACd,OAAA4rF,GAAA,IAAAA,EAAAruF,OAAAquF,EAAA,IACA,CAuKAS,CAAAT,EAAAnjD,EAAArT,SAGA,IAAAk3D,EAAA5iE,GAAAH,EAAA,kCACAgjE,EAAA,IAAAlvF,EAAA,EAAoBA,GAAA0hC,EAAAG,aAAuB7hC,EAAA,CAC3C,IAAAgqF,EAAA,QAWA,GAVAuE,GAAAA,EAAAvuF,IACAqlB,EAAA,MAAAkpE,EAAAvuF,GAAA,GAAAkC,QAAA,gBACA+pB,GAAAC,EAAA7G,KAAAA,EAAAkpE,EAAAvuF,GAAA,IACAisB,GAAAC,EAAA7G,KAAAA,EAAAipE,EAAApsF,QAAA,iBAAAqsF,EAAAvuF,GAAA,IACAgqF,EAAAuE,EAAAvuF,GAAA,IAGAqlB,GADAA,EAAA,uBAAArlB,EAAA,EAAAivF,GAAA,IAAAb,GACAlsF,QAAA,qBAEA4nF,EAAAzkE,EAAAnjB,QAAA,yCACA6E,GAAA,MAAAA,EAAA8wB,OAAA,cAAA9wB,EAAA8wB,QACA,gBAAA73B,GAAA+G,EAAA8wB,OAAA,SAAAq3D,EAAwD,MACxD,gBAAAxtD,EAAA5J,WAAA93B,GAAAkP,eAAAnI,EAAA8wB,OAAA3oB,cAAA,SAAAggF,EAAsG,MACtG,WAAAhsF,MAAAW,SAAAX,MAAAW,QAAAkD,EAAA8wB,QAAA,CAEA,IADA,IAAAs3D,GAAA,EACAC,EAAA,EAAqBA,GAAAroF,EAAA8wB,OAAA33B,SAA2BkvF,EAChD,iBAAAroF,EAAA8wB,OAAAu3D,IAAAroF,EAAA8wB,OAAAu3D,IAAApvF,IAAAmvF,EAAA,GACA,iBAAApoF,EAAA8wB,OAAAu3D,IAAAroF,EAAA8wB,OAAAu3D,GAAAlgF,eAAAwyB,EAAA5J,WAAA93B,GAAAkP,gBAAAigF,EAAA,GAEA,IAAAA,EAAA,SAAAD,CACA,EAEArF,GAAA39D,EAAA7G,EAAAykE,EAAApoD,EAAA5J,WAAA93B,GAAAA,EAAA+pF,EAAAlyD,EAAAmyD,EAAAjjF,EAAAqkC,EAAAqb,EAAAnpB,EACA,CAiCA,OA/BAj2B,EAAA,CACAomE,UAAAse,EACAnwB,SAAAxwB,EACAjK,MAAAO,EACAmkC,UAAAumB,EACAiD,KAAAtB,EACAh2D,OAAAF,EACAC,WAAA4J,EAAA5J,WACAuhC,QAAAr8B,GACAsyD,OAAAhyD,EACAquB,OAAAlF,EACAt2C,IAAAwa,GAAA9kB,IAEAkB,GAAAA,EAAA4qE,YACAzlD,EAAA1U,OACAnQ,EAAAyhB,KAAAyd,EACAl/B,EAAAmQ,MAAA0U,EAAA1U,QAEAnQ,EAAAyhB,KAAA,GACAzhB,EAAAmQ,MAAA,GACA0U,EAAAtX,UAAA2b,QAAA,SAAA3d,EAAAlI,GACAkI,EAAAA,EAAA1Q,QAAA,sBACAmF,EAAAyhB,KAAA/R,KAAAnE,GACAvL,EAAAmQ,MAAA5E,GAAAsZ,EAAAvX,UAAAjK,EACA,KAGA3D,GAAAA,EAAAmqE,UACA6a,EAAAO,IAAApsF,OAAA,EAAAmH,EAAAq0D,OAAArvC,GAAAH,EAAA0/D,GAAAG,EAAAO,IAAA,QACAP,EAAA9qB,UAAA8qB,EAAA9qB,SAAAsuB,MAAAjgC,KAAAjoD,EAAAq0D,OAAArvC,GAAAH,EAAA,0BAEA7kB,CACA,CAGA,SAAAmoF,GAAAh2E,EAAAmB,GACA,IA/4aArH,EACAvT,EA84aAgH,EAAA4T,GAAA,GACArM,EAAA,WAAAxO,EAAA0S,GAAAmH,KAAAH,EAAAlL,GACA,IAE0B,GAD1BA,EAAA,yBACAxO,EAAA0S,GAAAmH,KAAAH,EAAAlL,MAA0BxO,EAAA2Y,QAAA,UAAAzU,MAAA,mCAAAsK,GAKA,GAx5a1BgF,EAo5aAxT,EAAA2Y,SAn5aA1Y,EAAA,IACA6qC,GAAAt3B,EAAAG,WAAA,UACA1T,EAAAiY,EAAA+nC,GAAAzsC,EAAA,GACAvT,EAAA0vF,EAAA1vC,GAAAzsC,EAAA,GACAvT,EAAAoiC,EAAA4d,GAAAzsC,EAAA,GAk5aAhF,EAAA,8BACAxO,EAAA0S,GAAAmH,KAAAH,EAAAlL,MAA0BxO,EAAA2Y,QAAA,UAAAzU,MAAA,mCAAAsK,GAC1B,IAAAohF,EAh4aA,SAAAp8E,GACA,IAAAvT,EAAA,GACAuT,EAAA7E,GAAA,EAEA,IADA,IAAA4K,EAAA/F,EAAAG,WAAA,GACA4F,KAAA,GAAAtZ,EAAAgX,KAAAmpC,GAAA5sC,IACA,OAAAvT,CACA,CA03aA4vF,CAAA7vF,EAAA2Y,SACA,OAAAi3E,EAAAxvF,QAAA,IAAAwvF,EAAA,GAAAvvC,MAAAjgD,QAAA,IAAAwvF,EAAA,GAAAvvC,MAAA,GAAAp7C,GAAA,8BAAA2qF,EAAA,GAAAr4E,MAAA,qBAAAq4E,EAAA,GAAAvvC,MAAA,GAAAt7C,EACA,UAAAb,MAAA,+BAAAsK,GAI0B,GAD1BA,EAAA,yDACAxO,EAAA0S,GAAAmH,KAAAH,EAAAlL,MAA0BxO,EAAA2Y,QAAA,UAAAzU,MAAA,mCAAAsK,GAC1B,IAAAshF,EA93aA,SAAAt8E,GACA,IAAAvT,EAAA,GACAuT,EAAA7E,GAAA,EAEA,IADA,IAAA4K,EAAA/F,EAAAG,WAAA,GACA4F,KAAA,GAAAtZ,EAAAgX,KAAAzD,EAAAG,WAAA,WACA,OAAA1T,CACA,CAw3aA8vF,CAAA/vF,EAAA2Y,SACA,MAAAm3E,EAAA1vF,QAAA,6BAAA0vF,EAAA,GACA,UAAA5rF,MAAA,+BAAAsK,GAI0B,GAD1BA,EAAA,kEACAxO,EAAA0S,GAAAmH,KAAAH,EAAAlL,MAA0BxO,EAAA2Y,QAAA,UAAAzU,MAAA,mCAAAsK,IA/2a1B,SAAAgF,GAEA,IAAAmzB,EAdA,SAAAnzB,GACA,IAAAvT,EAAA,GAQA,OAPAuT,EAAAG,WAAA,GACAH,EAAA7E,GAAA,EACA1O,EAAA6qC,GAAAt3B,EAAAG,WAAA,UACA1T,EAAAsX,KAAA/D,EAAAG,WAAA,UACA1T,EAAAiY,EAAA+nC,GAAAzsC,EAAA,GACAvT,EAAA0vF,EAAA1vC,GAAAzsC,EAAA,GACAvT,EAAAoiC,EAAA4d,GAAAzsC,EAAA,GACAvT,CACA,CAIA+vF,CAAAx8E,GAKA,GAHAmzB,EAAAspD,MAAAz8E,EAAAG,WAAA,WACAgzB,EAAAlR,MAAAjiB,EAAAG,WAAA,GACAgzB,EAAAupD,MAAA18E,EAAAG,WAAA,GACA,GAAAH,EAAAG,WAAA,aAAAzP,MAAA,sBAEA,CAu2aAisF,CAAAnwF,EAAA2Y,QACA,CAAG,MAAA9V,GAAA,CAGuB,GAD1B2L,EAAA,oBACAxO,EAAA0S,GAAAmH,KAAAH,EAAAlL,MAA0BxO,EAAA2Y,QAAA,UAAAzU,MAAA,mCAAAsK,GAC1B,IAAA4hF,EAt0aA,SAAA58E,GACA,IAAAqnC,EAAAoF,GAAAzsC,GACA,OAAAqnC,EAAAsF,OACA,cAAAtF,EAAAsF,MAAAe,GAAA1tC,IACA,cAAAqnC,EAAAsF,MAAAgB,MACA,cAAAtG,EAAAsF,MAAAiB,GAAA5tC,IAEA,UAAAtP,MAAA,iDAAA22C,EAAAsF,MACA,CA8zaAkwC,CAAArwF,EAAA2Y,SAI0B,GAD1BnK,EAAA,sBACAxO,EAAA0S,GAAAmH,KAAAH,EAAAlL,MAA0BxO,EAAA2Y,QAAA,UAAAzU,MAAA,mCAAAsK,GAI1B,MAAA4hF,EAAA,wBAAAE,cAAA,OAAAA,cAAAF,EAAA,GAAApwF,EAAA2Y,QAAA1R,EAAAq7C,UAAA,GAAAr7C,GAGA,MAAAmpF,EAAA,wBAAAG,cAAA,OAAAA,cAAAH,EAAA,GAAApwF,EAAA2Y,QAAA1R,EAAAq7C,UAAA,GAAAr7C,GACA,UAAA/C,MAAA,6BACA,CAEA,SAAAiY,GAAAmvB,EAAArkC,GACA,aAAAA,EAAAg3B,SAAA0kD,GAAAr3C,EAAArkC,GACA,WAAAA,EAAAg3B,SA/lBA,SAAAqN,EAAArkC,GACA,IAAAA,IAAAA,EAAAupF,QACA,UAAAtsF,MAAA,oDACA,IAAAm0B,EAAAiT,EAAArT,OAAAqT,EAAAtT,WAAA,IACAsT,EAAAtT,WAAA53B,OAAA,GACAiiB,QAAAC,MAAA,4DACA,IAAAiU,EAAAY,GAAAkB,EAAA,SACA9B,EAAA/yB,EAAA+I,EAAAgqB,EAAA/yB,EAAAQ,EAAA,EACA,IAAAysF,GAAA,EACAl6D,EAAA1zB,EAAAmB,EAAA,IACAysF,GAAA,EACAl6D,EAAA1zB,EAAAmB,EAAA,GAEAuyB,EAAA1zB,EAAA0J,EAAA,KACAkkF,GAAA,EACAl6D,EAAA1zB,EAAA0J,EAAA,IAEAkkF,GACApuE,QAAAC,MAAA,8CAAAje,OAAA+yB,GAAAb,KACA,IAAAv2B,EAAA4wC,GAAAvY,EAAA,CAAiC9B,MAAAA,EAAAtgB,OAAA,IACjC6oB,EAAA,cACA9+B,EAAAywB,QAAA,SAAAhc,GACA,OAAAA,EAAAgc,QAAA,SAAAyF,GACA,iBAAAA,GACA4I,EAAA7nB,KAAAif,EACA,EACA,GACA,IAAAw6D,EAAA,GACA9H,EAAA,GACAlvE,EAAAhH,GAAAiT,KAAA1e,EAAAupF,QAAA,CAAqCvmF,KAAA,WACrCyP,EAAA7E,UAAAnR,IAAA,SAAAsX,EAAApQ,GACA,OAAAoQ,EAAAtB,EAAA5E,UAAAlK,GACA,GAAG6lB,QAAA,SAAAhc,GACH,IAAAuG,EAAAvG,EAAA,GAAAsG,EAAAtG,EAAA,GACA,GAAAuG,EAAA/Q,MAEA+Q,EAAAzD,KAAA1M,MAAA,UAIA45E,GADAY,GADArqE,EAAArC,UAGA8X,QAAA,SAAAkgE,GACA/H,EAAA3xE,KAAA05E,EAAA7lD,IACA4lD,EAAAC,EAAA7lD,IAAA,CAAiCmjD,KAAA,GAAAtwB,SAAA5iD,EAAA9Q,KAAAi6E,GAAAyM,EAAAhM,SAAA,GAAAlsC,KAAA,MAAAz4C,MACjC,EACA,GACA4oF,EAAApuE,KAAA,SAAAo2E,EAAAC,GACA,OAAAD,EAAAC,CACA,GACA,IAAAC,EAAAlI,EAAAzqC,OAAA,SAAAyyC,GACA,OAAAA,EAAA,CACA,GAAGltF,IAAA,SAAAktF,GACH,OAAAA,EAAA3M,GAAA2M,GACA,GACAl3E,EAAA7E,UAAAnR,IAAA,SAAAsX,EAAApQ,GACA,OAAAoQ,EAAAtB,EAAA5E,UAAAlK,GACA,GAAG6lB,QAAA,SAAAhc,GACH,IAAAuG,EAAAvG,EAAA,GAAAA,EAAA,GACAuG,EAAAzD,KAAA1M,MAAA,UAEA45E,GAAAY,GAAArqE,EAAArC,UACA8X,QAAA,SAAAs0D,GACAA,EAAAJ,SAAAl0D,QAAA,SAAA9oB,GACAmpF,EAAArgE,QAAA,SAAAsgE,GACAhM,EAAAJ,SAAAqM,KAAA,SAAAC,GACA,cAAA/M,GAAA+M,EAAAx4C,KAAA,MAAAz4C,OAz3BA,SAAAsoB,EAAA4oE,GACAr3C,EACA,QAAApnC,EAAA,EAAoBA,GAAA6V,EAAAloB,OAAA8wF,EAAA9wF,SAAkCqS,EAAA,CACtD,QAAAhI,EAAA,EAAsBA,EAAAymF,EAAA9wF,SAAmBqK,EACzC,GAAA6d,EAAA7V,EAAAhI,IAAAymF,EAAAzmF,GACA,SAAAovC,EACA,QACA,CACA,QACA,CAg3BAs3C,CAAAF,EAAAjxF,KAAA+wF,EAAA,GACA,IACAL,EAAAK,EAAA,IAAA9C,KAAAh3E,KAAA8tE,EAAAj6C,GAEA,EACA,EACA,EACA,GAUA,IAHA,IAEAi+C,EAFA5vE,EAAAzG,GAAAmH,KAAAH,EAAAg3E,EAAA,GAAA/yB,UACA18D,EAAAwjF,GAAAY,GAAAlsE,EAAAR,UAEAy4E,EAAA,EAAmBA,EAAAnwF,EAAAb,SAAegxF,EAAA,CAClC,IAAAtI,EAAA7nF,EAAAmwF,GACA,GAAAtI,EAAAh+C,KACAi+C,EAAAD,EACA,CACA,IAAAuI,EAAA3K,GAAAtC,GAAA2E,EAAApE,SAAA,GAAA3kF,MAAA,MAAAA,MAGA,IADAiB,EAAAwjF,GAAAY,IADAlsE,EAAAzG,GAAAmH,KAAAH,EAAAg3E,EAAAW,GAAA1zB,WACAhlD,UACAy4E,EAAA,EAAeA,EAAAnwF,EAAAb,SAAegxF,GAC9BtI,EAAA7nF,EAAAmwF,IACAtmD,IAAAumD,IACAtI,EAAAD,GAKA,IAHAuI,EAAA3K,GAAAtC,GAAA2E,EAAApE,SAAA,GAAA3kF,MAAA,MAAAA,MAEAiB,EAAAwjF,GAAAY,IADAlsE,EAAAzG,GAAAmH,KAAAH,EAAAg3E,EAAAW,GAAA1zB,WACAhlD,UACAy4E,EAAA,EAAeA,EAAAnwF,EAAAb,SAAegxF,GAC9BtI,EAAA7nF,EAAAmwF,IACAtmD,IAAAumD,IACAtI,EAAAD,GAKA,IAHAuI,EAAA3K,GAAAtC,GAAA2E,EAAApE,SAAA,GAAA3kF,MAAA,MAAAA,MAEAiB,EAAAwjF,GAAAY,IADAlsE,EAAAzG,GAAAmH,KAAAH,EAAAg3E,EAAAW,GAAA1zB,WACAhlD,UACAy4E,EAAA,EAAeA,EAAAnwF,EAAAb,SAAegxF,GAC9BtI,EAAA7nF,EAAAmwF,IACAtmD,IAAAumD,IACAtI,EAAAD,GAEA,IAAAlC,EAAAxC,GAAA2E,EAAApE,SAAA,GAAA3kF,MAEA4mF,EAAA,MAAA5mF,KAAAikF,GAAA1tD,EAAA1zB,EAAA0J,EAAA,GACAq6E,EAAA,MAAA5mF,KAAAikF,GAAA1tD,EAAA1zB,EAAAmB,EAAA,GAKA,IAJA,IAAAstF,EAAA5K,GAAAE,EAAA,OAAA5mF,MACAuxF,EAAA7+E,GAAAmH,KAAAH,EAAAg3E,EAAAY,GAAA3zB,UACA6zB,EAAA/M,GAAAY,GAAAkM,EAAA54E,UAEAlO,EAAA,EAAsBA,EAAA+mF,EAAApxF,QACtBoxF,EAAA/mF,GAAAqgC,IAAAwmD,IADqC7mF,GAIrC,GAAA+mF,EAAA/mF,GAAAqgC,IAAAwmD,EACA,kCACA,IAAAG,EAAArN,GAAAoN,EAAA/mF,GAAAk6E,SAAA,GAAA3kF,MACAyxF,EAAA,MACAA,EAAA,MAAAA,EAAA,MACA,QAAAj/E,EAAA,EAAsBA,GAAA+jB,EAAA1zB,EAAAmB,IAAgBwO,EAAA,CACtC,IAAAk/E,EAAA,GACAA,EAAA,GAAAA,EAAA,KAA+BznF,KAAA,EAAAjK,KAAAikF,GAAAzxE,EAAA,UAC/Bi/E,EAAA,GAAAx6E,KAAA,CAAyBhN,KAAA,EAAAjK,KAAAqkF,GAAAqN,KACzBD,EAAA,GAAAx6E,KAAA,CAAyBhN,KAAA,EAAAjK,KAAAikF,GAAAzxE,KACzBi/E,EAAA,GAAAx6E,KAAA,CAAyBhN,KAAA,EAAAjK,KAAAikF,GAAAzxE,IACzB,CACAi/E,EAAA,MACAA,EAAA,MAAAA,EAAA,MACA,QAAAv5E,EAAA,EAAsBA,GAAAqe,EAAA1zB,EAAA0J,IAAgB2L,GACtCw5E,EAAA,IACA,GAAAA,EAAA,KAA+BznF,KAAA,EAAAjK,KAAAikF,GAAA/rE,EAAA,UAC/Bu5E,EAAA,GAAAx6E,KAAA,CAAyBhN,KAAA,EAAAjK,KAAAqkF,GAAAqN,KACzBD,EAAA,GAAAx6E,KAAA,CAAyBhN,KAAA,EAAAjK,KAAAikF,GAAA/rE,KACzBu5E,EAAA,GAAAx6E,KAAA,CAAyBhN,KAAA,EAAAjK,KAAAikF,GAAA/rE,KAEzBs5E,EAAA/mF,GAAAk6E,SAAA,GAAA3kF,KAAAqkF,GAAAoN,GAEAF,EAAA54E,QAAA2sE,GAAAT,GAAA2M,IACAD,EAAAj5E,KAAAi5E,EAAA54E,QAAAvY,cACAwmF,EAAA,IACA,IAAAQ,EAAAhD,GAAAwC,EAAA,MAAA5mF,MAEAonF,EAAA,MAAApnF,KAAAikF,GAAA1tD,EAAA1zB,EAAA0J,EAAA,GACA,IACAolF,EAAAjL,GADAtC,GAAAgD,EAAA,MAAApnF,MACA,MAAAA,MAIA,IAFAwxF,EAAA/M,GAAAY,IADAkM,EAAA7+E,GAAAmH,KAAAH,EAAAg3E,EAAAiB,GAAAh0B,WACAhlD,WAEA,GAAAmyB,IAAA6mD,EACA,+BACA,IAAAC,EAAAxN,GAAAoN,EAAA,GAAA7M,SAAA,GAAA3kF,MACA,IAAAkY,EAAA,EAAoBA,EAAAlY,EAAAI,SAAiB8X,EAAA,CACrC,IAAA25E,EAAAzN,GAAAwN,EAAA,MAAA5xF,MACA6xF,EAAA,MAAA7xF,KAAAikF,GAAA/rE,GACA25E,EAAA,MAAA7xF,KAAAikF,GAAAjkF,EAAAkY,GAAA9X,QACAwxF,EAAA,GAAA15E,GAAA,CAAgCjO,KAAA2nF,EAAA,MAAA3nF,KAAAjK,KAAAqkF,GAAAwN,GAChC,CACAL,EAAA,GAAA7M,SAAA,GAAA3kF,KAAAqkF,GAAAuN,GAEAL,EAAA54E,QAAA2sE,GAAAT,GAAA2M,IACAD,EAAAj5E,KAAAi5E,EAAA54E,QAAAvY,OACA,IAAA0xF,EAAApL,GAAAU,EAAA,MAAApnF,MAIA,IAFAwxF,EAAA/M,GAAAY,IADAkM,EAAA7+E,GAAAmH,KAAAH,EAAAg3E,EAAAoB,GAAAn0B,WACAhlD,WAEA,GAAAmyB,IAAAgnD,EACA,+BAEA,IADAF,EAAAxN,GAAAoN,EAAA,GAAA7M,SAAA,GAAA3kF,MACAwS,EAAA,EAAoBA,GAAA+jB,EAAA1zB,EAAAmB,IAAgBwO,GACpCq/E,EAAAzN,GAAAwN,EAAA,MAAA5xF,OACA,MAAAA,KAAAikF,GAAAzxE,GACAq/E,EAAA,MAAA7xF,KAAAikF,GAAA1tD,EAAA1zB,EAAA0J,EAAA,GACAqlF,EAAA,GAAAp/E,GAAA,CAAgCvI,KAAA2nF,EAAA,MAAA3nF,KAAAjK,KAAAqkF,GAAAwN,IAEhCL,EAAA,GAAA7M,SAAA,GAAA3kF,KAAAqkF,GAAAuN,GAEAL,EAAA54E,QAAA2sE,GAAAT,GAAA2M,IACAD,EAAAj5E,KAAAi5E,EAAA54E,QAAAvY,OACA,IAAA2xF,EAAArL,GAAAU,EAAA,MAAApnF,OACA,WAIA,IAHA,IAEAgyF,EAFAC,EAAAv/E,GAAAmH,KAAAH,EAAAg3E,EAAAqB,GAAAp0B,UACAu0B,EAAAzN,GAAAY,GAAA4M,EAAAt5E,UAEAw5E,EAAA,EAA0BA,EAAAD,EAAA9xF,SAAiB+xF,EAAA,CAC3C,IAAAxB,EAAAuB,EAAAC,GACAxB,EAAA7lD,IAAAinD,IACAC,EAAArB,EACA,CACA,IAAAyB,EAAAhO,GAAA4N,EAAArN,SAAA,GAAA3kF,MAEAoyF,EAAA,MACA,IAAAC,EAAA,GACAvzD,EAAArO,QAAA,SAAA/kB,EAAAxL,GACAmyF,EAAA,KAA2BpoF,KAAA,EAAAjK,KAAAikF,GAAA/jF,KAC3BmyF,EAAA,KAA2BpoF,KAAA,EAAAjK,KAAAikF,GAAA,KAC3BoO,EAAA,KAA2BpoF,KAAA,EAAAjK,KAAAwjF,GAAA93E,KAC3B0mF,EAAA,GAAAn7E,KAAA,CAA8BhN,KAAA,EAAAjK,KAAAqkF,GAAAgO,IAC9B,GAEAL,EAAArN,SAAA,GAAA3kF,KAAAqkF,GAAA+N,GACA,IACAE,EAAAhN,GADAT,GAAAqN,IAEAD,EAAAt5E,QAAA25E,EACAL,EAAA35E,KAAA25E,EAAAt5E,QAAAvY,MACO,CAzBP,GA0BA,IAAAinF,EAAAjD,GAAAgD,EAAA,MAAApnF,MAEAiF,EAAAoiF,EAAA,aACAA,EAAA,GACA,IAAAC,EAAAlD,GAAAn/E,EAAAjF,MAEAuyF,EAAA7L,GAAAY,EAAA,MAAAtnF,OACA,WAIA,IAHA,IAEAwyF,EAFAC,EAAA//E,GAAAmH,KAAAH,EAAAg3E,EAAA6B,GAAA50B,UACA+0B,EAAAjO,GAAAY,GAAAoN,EAAA95E,UAEAw5E,EAAA,EAA8BA,EAAAO,EAAAtyF,SAAiB+xF,EAAA,CAC/C,IAAAxB,EAAA+B,EAAAP,GACAxB,EAAA7lD,IAAAynD,IACAC,EAAA7B,EACA,CACA,IAAAgC,EAAAvO,GAAAoO,EAAA7N,SAAA,GAAA3kF,aAEA2yF,EAAA,UACAtL,EAAA,GACA,IAAAuL,EAAA,IAAAzvF,WAAAwvF,EAAA,MAAA3yF,MACA2yF,EAAA,MAEA,IADA,IAAAp5E,EAAA,EACAs5E,EAAA,EAA+BA,GAAAt8D,EAAA1zB,EAAA0J,IAAiBsmF,EAAA,CAChD,IAAAC,EAAA1O,GAAAwO,GACAr5E,GAAA6vE,GAAA0J,EAAA9yF,EAAA6yF,GAAA/zD,GACAg0D,EAAA,MAAA9yF,KAAAikF,GAAA4O,GACAF,EAAA,GAAA17E,KAAA,CAAmCjX,KAAAqkF,GAAAyO,GAAA7oF,KAAA,GACnC,CACA0oF,EAAA,KAA+B1oF,KAAA,EAAAjK,KAAAikF,GAAA1tD,EAAA1zB,EAAAmB,EAAA,KAC/B2uF,EAAA,KAA+B1oF,KAAA,EAAAjK,KAAAikF,GAAA1tD,EAAA1zB,EAAA0J,EAAA,KAC/BomF,EAAA,KAA+B1oF,KAAA,EAAAjK,KAAAikF,GAAA1qE,KAC/Bo5E,EAAA,KAA+B1oF,KAAA,EAAAjK,KAAAikF,GAAA1tD,EAAA1zB,EAAA0J,EAAA,KAE/BimF,EAAA7N,SAAA,GAAA3kF,KAAAqkF,GAAAsO,GACA,IACAL,EAAAhN,GADAT,GAAA6N,IAEAD,EAAA95E,QAAA25E,EACAG,EAAAn6E,KAAAm6E,EAAA95E,QAAAvY,MACW,CAhCX,GAkCA6E,EAAAjF,KAAAqkF,GAAAiD,GAEAF,EAAA,MAAApnF,KAAAqkF,GAAAgD,GAEAT,EAAA,MAAA5mF,KAAAqkF,GAAA+C,GAEA2B,EAAApE,SAAA,GAAA3kF,KAAAqkF,GAAAuC,GACA,IACAmM,EAAAzN,GADAT,GAAA5jF,IAIA,OAFAkY,EAAAR,QAAAo6E,EACA55E,EAAAb,KAAAa,EAAAR,QAAAvY,OACAsZ,CACA,CAoVAs5E,CAAA1nD,EAAArkC,GACA,QAAAA,EAAAg3B,SAQA,SAAAqN,EAAArkC,GACAgmD,GAAA,KACA3hB,IAAAA,EAAAj7B,MACAi7B,EAAAj7B,IAAAwa,GAAA9kB,IAEAulC,GAAAA,EAAAj7B,MACAD,KAAcF,GAAAo7B,EAAAj7B,KAEdpJ,EAAA0wD,OAAAjuC,GAAA4hB,EAAAj7B,KAAmCpJ,EAAA0wD,OAAArsB,EAAAj7B,IAAA,UACnCpJ,EAAA2wD,IAAAtsB,EAAAj7B,KAEApJ,EAAA84B,KAAA,GAAiB94B,EAAAwnF,OAAA,GACjBxnF,EAAAsyD,QAAA,GAA6CtyD,EAAAsyD,QAAA9Z,MAAA,EAAwBx4C,EAAAsyD,QAAA5Z,OAAA,EACrE8W,GAAAxvD,EAAAuyD,WAAA,IAAA9C,KACQzvD,EAAAuyD,WAAA,GAAsBvyD,EAAAuyD,WAAAy5B,IAAA,UAA0BhsF,EAAAuyD,WAAAy5B,KACxD,IAAA3E,EAAA,QAAArnF,EAAAg3B,SAAA,YACAi1D,EAAAzjC,GAAA7vD,QAAAqH,EAAAg3B,WAAA,EACA1lB,EA92jBA,CACAqkB,UAAA,GAAA7E,OAAA,GAAAqF,OAAA,GAAAC,QAAA,GAAAC,OAAA,GACAyC,KAAA,GAAA7C,KAAA,GAAAC,SAAA,GAAA+uD,iBAAA,GAAAC,MAAA,GACAC,UAAA,GAAAC,SAAA,GAAAC,UAAA,GAAA3lC,OAAA,GAAAnpB,OAAA,GACA+uD,WAAA,GAAAC,IAAA,GAAAC,SAAA,GAAAlvD,SAAA,GAAA4wB,OAAA,GACAu+B,KAAA,GAAA9uD,MAAA,IA02jBAy/C,GAAAp2E,EAAAA,GAAA,IACA,IAAAmlB,EAAAa,KACAze,EAAA,GAAAiyB,EAAA,EAcA,GAZAx5B,EAAAiiD,QAAA,GACAwO,GAAAzwD,EAAAiiD,QAAA,GAAgC,CAAGyO,OAAA,CAAQ2T,QAAA,KAE3ChgC,EAAAjK,QAAAiK,EAAAjK,MAAA,IAGAzU,GAAAR,EADA5d,EAAA,oBACA4yB,GAAAkK,EAAAjK,MAAAp6B,IACAsR,EAAA6zE,UAAAn1E,KAAAzI,GACAgyB,GAAAv5B,EAAA84B,KAAA,EAAAvxB,EAAA+iB,GAAAJ,YAGA3iB,EAAA,mBACA88B,EAAAjK,OAAAiK,EAAAjK,MAAArJ,iBACA,GAAAsT,EAAAwwB,UAAAxwB,EAAAwwB,SAAA7jC,OACA,CAEA,IADA,IAAAk7D,EAAA,GACAtL,EAAA,EAAkBA,EAAAv8C,EAAAtT,WAAA53B,SAA2BynF,EACZ,IAAjCv8C,EAAAwwB,SAAA7jC,OAAA4vD,IAAA,IAAiCzlB,QAAA+wB,EAAAl8E,KAAAq0B,EAAAtT,WAAA6vD,IACjCv8C,EAAAjK,MAAArJ,WAAAm7D,CACA,MANA7nD,EAAAjK,MAAArJ,WAAAsT,EAAAtT,WAmBA,IAZAsT,EAAAjK,MAAAU,WAAAuJ,EAAAjK,MAAArJ,WAAA53B,OACAwsB,GAAAR,EAAA5d,EAAA4zB,GAAAkJ,EAAAjK,QACA9oB,EAAA8zE,SAAAp1E,KAAAzI,GACAgyB,GAAAv5B,EAAA84B,KAAA,EAAAvxB,EAAA+iB,GAAAF,WAEAia,EAAAy6B,YAAAz6B,EAAAjK,OAAArY,GAAAsiB,EAAAy6B,WAAA,IAAsD3lE,OAAA,IAEtDwsB,GAAAR,EADA5d,EAAA,sBACAg0B,GAAA8I,EAAAy6B,YACAxtD,EAAA+zE,UAAAr1E,KAAAzI,GACAgyB,GAAAv5B,EAAA84B,KAAA,EAAAvxB,EAAA+iB,GAAAH,aAGAqP,EAAA,EAAWA,GAAA6K,EAAAtT,WAAA53B,SAA6BqgC,EAAA,CACxC,IAAA2yD,EAAA,CAAgB,UAChB/6D,EAAAiT,EAAArT,OAAAqT,EAAAtT,WAAAyI,EAAA,IAYA,IAXApI,GAAA,IAAuB,SAMvBzL,GAAAR,EADA5d,EAAA,sBAAAiyB,EAAA,IAAA6tD,EACAhpB,GAAA7kC,EAAA,EAAAjyB,EAAAvH,EAAAqkC,EAAA8nD,IACA76E,EAAAwf,OAAA9gB,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,qBAAAhuD,EAAA,IAAA6tD,EAAA/8D,GAAA6N,GAAA,IAGA/G,EAAA,CACA,IAAA8E,EAAA9E,EAAA,aACAg7D,GAAA,EACApoD,EAAA,GACA9N,GAAAA,EAAA/8B,OAAA,IAEAwsB,GAAAR,EADA6e,EAAA,cAAAxK,EAAA,IAAA6tD,EACA/oB,GAAApoC,EAAA8N,EAAAhkC,IACAsR,EAAA4kB,SAAAlmB,KAAAg0B,GACAzK,GAAA4yD,GAAA,gBAAA3yD,EAAA,IAAA6tD,EAAA/8D,GAAAsN,MACAw0D,GAAA,GAEAh7D,EAAA,YACAg7D,GAAAzmE,GAAAR,EAAA,kCAAA8gC,GAAAzsB,EAAApI,EAAA,sBAEAA,EAAA,oBACAA,EAAA,UACA,CAEA+6D,EAAA,OAAAE,MAAA1mE,GAAAR,EAAAwT,GAAApxB,GAAA8xB,GAAA8yD,GACA,CA6CA,OA3CA,MAAAnsF,EAAAsyD,SAAAtyD,EAAAsyD,QAAAn5D,OAAA,IAEAwsB,GAAAR,EADA5d,EAAA,oBAAA8/E,EArsMA,SAAAtuF,EAAAuX,EAAAtQ,GACA,gBAAAsQ,EAAAxW,OAAA,GAAA++C,GAAAT,IAAAr/C,EAAAiH,EACA,CAosMAssF,CAAAtsF,EAAAsyD,QAAA/qD,EAAAvH,IACAsR,EAAA2kB,KAAAjmB,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,mBAAAH,EAAA/8D,GAAAuN,MAIAlS,GAAAR,EADA5d,EAAA,eAAA8/E,EA5tMA,SAAAhjD,EAAA/zB,EAAAtQ,GACA,gBAAAsQ,EAAAxW,OAAA,GAAA8hE,GAAAZ,IAAA32B,EAAArkC,EACA,CA2tMAusF,CAAAloD,EAAA98B,EAAAvH,IACAsR,EAAAqkB,UAAA3lB,KAAAzI,GACAgyB,GAAAv5B,EAAA84B,KAAA,EAAAvxB,EAAA+iB,GAAA6M,IAKAxR,GAAAR,EADA5d,EAAA,sBACAm9C,GAAArgB,EAAAugB,OAAA5kD,IACAsR,EAAAouC,OAAA1vC,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,qBAAAl9D,GAAAyN,OAKApS,GAAAR,EADA5d,EAAA,aAAA8/E,EA7tMA,SAAAtuF,EAAAuX,EAAAtQ,GACA,gBAAAsQ,EAAAxW,OAAA,GAAA8oD,GAAAd,IAAA/oD,EAAAiH,EACA,CA4tMAwsF,CAAAnoD,EAAA98B,EAAAvH,IACAsR,EAAAilB,OAAAvmB,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,YAAAH,EAAA/8D,GAAAwN,KAEAuM,EAAAswB,QAAAs3B,IAEAtmE,GAAAR,EADA5d,EAAA,oBACA88B,EAAAswB,QACArjD,EAAAi0E,IAAAv1E,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,mBAAAl9D,GAAAoO,MAIA/S,GAAAR,EADA5d,EAAA,eAAA8/E,GAvtMA,SAwtMA9/E,EAxtMAzN,OAAA,GAAA4rD,GAAAK,OAytMAz0C,EAAAglB,SAAAtmB,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,cAAAH,EAAA/8D,GAAAkO,QAEA7S,GAAAR,EAAA,sBAAAqR,GAAAllB,EAAAtR,IACA2lB,GAAAR,EAAA,cAAAkU,GAAAr5B,EAAA84B,OACAnT,GAAAR,EAAA,qBAAAkiE,EAAA,QAAAhuD,GAAAr5B,EAAAwnF,gBAEAxnF,EAAA0wD,cAAqB1wD,EAAA2wD,IACrBxrC,CACA,CA7IAsnE,CAAApoD,EAAArkC,GACA0sF,GAAAroD,EAAArkC,EACA,CA6IA,SAAA0sF,GAAAroD,EAAArkC,GACAgmD,GAAA,KACA3hB,IAAAA,EAAAj7B,MACAi7B,EAAAj7B,IAAAwa,GAAA9kB,IAEAulC,GAAAA,EAAAj7B,MACAD,KAAcF,GAAAo7B,EAAAj7B,KAEdpJ,EAAA0wD,OAAAjuC,GAAA4hB,EAAAj7B,KAAmCpJ,EAAA0wD,OAAArsB,EAAAj7B,IAAA,UACnCpJ,EAAA2wD,IAAAtsB,EAAAj7B,KAEApJ,EAAA84B,KAAA,GAAiB94B,EAAAwnF,OAAA,GACjBxnF,EAAAsyD,QAAA,GAA6CtyD,EAAAsyD,QAAA9Z,MAAA,EAAwBx4C,EAAAsyD,QAAA5Z,OAAA,EACrE8W,GAAAxvD,EAAAuyD,WAAA,IAAA9C,KACQzvD,EAAAuyD,WAAA,GAAsBvyD,EAAAuyD,WAAAy5B,IAAA,UAA0BhsF,EAAAuyD,WAAAy5B,KACxD,IAAA3E,EAAA,MACA4E,EAAAzjC,GAAA7vD,QAAAqH,EAAAg3B,WAAA,EACA1lB,EAr/jBA,CACAqkB,UAAA,GAAA7E,OAAA,GAAAqF,OAAA,GAAAC,QAAA,GAAAC,OAAA,GACAyC,KAAA,GAAA7C,KAAA,GAAAC,SAAA,GAAA+uD,iBAAA,GAAAC,MAAA,GACAC,UAAA,GAAAC,SAAA,GAAAC,UAAA,GAAA3lC,OAAA,GAAAnpB,OAAA,GACA+uD,WAAA,GAAAC,IAAA,GAAAC,SAAA,GAAAlvD,SAAA,GAAA4wB,OAAA,GACAu+B,KAAA,GAAA9uD,MAAA,IAi/jBAy/C,GAAAp2E,EAAAA,GAAA,IACA,IAAAmlB,EAAAa,KACAze,EAAA,GAAAiyB,EAAA,EAcA,GAZAx5B,EAAAiiD,QAAA,GACAwO,GAAAzwD,EAAAiiD,QAAA,GAAgC,CAAGyO,OAAA,CAAQ2T,QAAA,KAE3ChgC,EAAAjK,QAAAiK,EAAAjK,MAAA,IAGAzU,GAAAR,EADA5d,EAAA,oBACA4yB,GAAAkK,EAAAjK,MAAAp6B,IACAsR,EAAA6zE,UAAAn1E,KAAAzI,GACAgyB,GAAAv5B,EAAA84B,KAAA,EAAAvxB,EAAA+iB,GAAAJ,YAGA3iB,EAAA,mBACA88B,EAAAjK,OAAAiK,EAAAjK,MAAArJ,iBACA,GAAAsT,EAAAwwB,UAAAxwB,EAAAwwB,SAAA7jC,OACA,CAEA,IADA,IAAAk7D,EAAA,GACAtL,EAAA,EAAkBA,EAAAv8C,EAAAtT,WAAA53B,SAA2BynF,EACZ,IAAjCv8C,EAAAwwB,SAAA7jC,OAAA4vD,IAAA,IAAiCzlB,QAAA+wB,EAAAl8E,KAAAq0B,EAAAtT,WAAA6vD,IACjCv8C,EAAAjK,MAAArJ,WAAAm7D,CACA,MANA7nD,EAAAjK,MAAArJ,WAAAsT,EAAAtT,WAOAsT,EAAAjK,MAAAU,WAAAuJ,EAAAjK,MAAArJ,WAAA53B,OACAwsB,GAAAR,EAAA5d,EAAA4zB,GAAAkJ,EAAAjK,QACA9oB,EAAA8zE,SAAAp1E,KAAAzI,GACAgyB,GAAAv5B,EAAA84B,KAAA,EAAAvxB,EAAA+iB,GAAAF,WAEAia,EAAAy6B,YAAAz6B,EAAAjK,OAAArY,GAAAsiB,EAAAy6B,WAAA,IAAsD3lE,OAAA,IAEtDwsB,GAAAR,EADA5d,EAAA,sBACAg0B,GAAA8I,EAAAy6B,YACAxtD,EAAA+zE,UAAAr1E,KAAAzI,GACAgyB,GAAAv5B,EAAA84B,KAAA,EAAAvxB,EAAA+iB,GAAAH,aAGA,IAAA+8B,EAAA,YAGA,IAFAlnD,EAAA8nD,KAAA,EAEAtuB,EAAA,EAAWA,GAAA6K,EAAAtT,WAAA53B,SAA6BqgC,EAAA,CACxC,IAAA2yD,EAAA,CAAgB,UAChB/6D,EAAAiT,EAAArT,OAAAqT,EAAAtT,WAAAyI,EAAA,IAYA,IAXApI,GAAA,IAAuB,SAMvBzL,GAAAR,EADA5d,EAAA,sBAAAiyB,EAAA,IAAA6tD,EACA9yB,GAAA/6B,EAAA,EAAAx5B,EAAAqkC,EAAA8nD,IACA76E,EAAAwf,OAAA9gB,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,qBAAAhuD,EAAA,IAAA6tD,EAAA/8D,GAAA6N,GAAA,IAGA/G,EAAA,CACA,IAAA8E,EAAA9E,EAAA,aACAg7D,GAAA,EACApoD,EAAA,GACA,GAAA9N,GAAAA,EAAA/8B,OAAA,GACA,IAAAwzF,GAAA,EACAz2D,EAAA1M,QAAA,SAAAm+B,GACAA,EAAA,GAAAn+B,QAAA,SAAAzsB,GAAmC,GAAAA,EAAAwD,IAAAosF,GAAA,IACnC,GACAA,IAEAhnE,GAAAR,EADA6e,EAAA,sCAAAxK,EAAA,IAAA6tD,EACA3/B,GAAAxxB,EAAAgxB,EAAAlnD,IACAsR,EAAA2zE,iBAAAj1E,KAAAg0B,GACAzK,GAAA4yD,GAAA,wCAAA3yD,EAAA,IAAA6tD,EAAA/8D,GAAAC,QAIA5E,GAAAR,EADA6e,EAAA,cAAAxK,EAAA,IAAA6tD,EACAhgC,GAAAnxB,IACA5kB,EAAA4kB,SAAAlmB,KAAAg0B,GACAzK,GAAA4yD,GAAA,gBAAA3yD,EAAA,IAAA6tD,EAAA/8D,GAAAsN,MACAw0D,GAAA,CACA,CACAh7D,EAAA,YACAg7D,GAAAzmE,GAAAR,EAAA,kCAAA8gC,GAAAzsB,EAAApI,EAAA,sBAEAA,EAAA,oBACAA,EAAA,UACA,CAEA+6D,EAAA,OAAAE,MAAA1mE,GAAAR,EAAAwT,GAAApxB,GAAA8xB,GAAA8yD,GACA,CAoDA,OAlDA,MAAAnsF,EAAAsyD,SAAAtyD,EAAAsyD,QAAAn5D,OAAA,IAEAwsB,GAAAR,EADA5d,EAAA,oBAAA8/E,EACAjvC,GAAAp4C,EAAAsyD,QAAAtyD,IACAsR,EAAA2kB,KAAAjmB,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,mBAAAH,EAAA/8D,GAAAuN,MAIAlS,GAAAR,EADA5d,EAAA,eAAA8/E,EACArsB,GAAA32B,IACA/yB,EAAAqkB,UAAA3lB,KAAAzI,GACAgyB,GAAAv5B,EAAA84B,KAAA,EAAAvxB,EAAA+iB,GAAA6M,IAKAxR,GAAAR,EADA5d,EAAA,sBACAm9C,GAAArgB,EAAAugB,OAAA5kD,IACAsR,EAAAouC,OAAA1vC,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,qBAAAl9D,GAAAyN,OAKApS,GAAAR,EADA5d,EAAA,aAAA8/E,EACAvlC,GAAAzd,EAAArkC,IACAsR,EAAAilB,OAAAvmB,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,YAAAH,EAAA/8D,GAAAwN,KAEAuM,EAAAswB,QAAAs3B,IAEAtmE,GAAAR,EADA5d,EAAA,oBACA88B,EAAAswB,QACArjD,EAAAi0E,IAAAv1E,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,mBAAAl9D,GAAAoO,MAIA/S,GAAAR,EADA5d,EAAA,eAAA8/E,EACAthC,MACAz0C,EAAAglB,SAAAtmB,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,cAAAH,EAAA/8D,GAAAkO,QAEA0uB,EAAA/tD,OAAA,IAEAwsB,GAAAR,EADA5d,EAAA,wBA1gXA,SAAA2/C,GACA,IAAAluD,EAAA,CAAAstB,GAAAsD,GAAA,mBACA+M,MAAA1M,GAAAM,MACA,UAAAS,GAAA,KACE7vB,QAAA,cAUF,OATA+rD,EAAA19B,QAAA,SAAAojE,EAAAjpF,GACA3K,EAAAgX,KAAA4Z,GAAA,eACAioD,YAAA+a,EACA/oD,GAAA,6BAAS,eAAAlgC,GAAA7J,OAAA,QACT+yF,OAAAD,EACAE,WAAA,SAEA,GACA9zF,EAAAgX,KAAA,iBACAhX,EAAAQ,KAAA,GACA,CA4/WAuzF,CAAA7lC,IACA51C,EAAA41C,OAAAl3C,KAAAzI,GACAgyB,GAAAv5B,EAAAwnF,QAAA,uBAAAl9D,GAAAmO,SAGA9S,GAAAR,EAAA,sBAAAqR,GAAAllB,EAAAtR,IACA2lB,GAAAR,EAAA,cAAAkU,GAAAr5B,EAAA84B,OACAnT,GAAAR,EAAA,6BAAAkU,GAAAr5B,EAAAwnF,gBAEAxnF,EAAA0wD,cAAqB1wD,EAAA2wD,IACrBxrC,CACA,CAEA,SAAA2tB,GAAAvrC,EAAAvO,GACA,IAAAgB,EAAA,GACA,QAAAhB,GAAA,IAAcgK,MAAA,UACd,aAGA,mBAAAuE,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAFA,aAAAvN,EAAAkB,EAAAqM,EAAAzN,MAAA,OAAmD,MACnD,aAAAE,EAAAuN,EAAwB,MAExB,kBAAAtK,MAAA,sBAAAjE,GAAAA,EAAAgK,MAAA,cAEA,OAAAhJ,EAAAZ,WAAA,GAAAY,EAAAZ,WAAA,GAAAY,EAAAZ,WAAA,GAAAY,EAAAZ,WAAA,GAAAY,EAAAZ,WAAA,GAAAY,EAAAZ,WAAA,GAAAY,EAAAZ,WAAA,GAAAY,EAAAZ,WAAA,GACA,CAeA,SAAA4zF,GAAAj0F,EAAAC,GACA,IAAAC,EAAA,EACAg0F,EAAA,KAAAh0F,EAAAF,EAAAI,eAAAJ,EAAAK,WAAAH,IACA,0BAAAA,EAAwC,MACxC,eAAAkqE,GAAApqE,EAAAe,MAAAb,GAAAD,GACA,cAAAi0F,EAEA,OAAAv7C,GAAAnI,YAAAxwC,EAAAC,EACA,CA4BA,SAAAk0F,GAAAn0F,EAAAgF,EAAA/E,EAAAyL,GACA,OAAAA,GAAWzL,EAAAgK,KAAA,SAAmB0uC,GAAAnI,YAAAxwC,EAAAC,IAC9B04C,GAAAnI,YAAAxrC,EAAA/E,EACA,CAEA,SAAAm0F,GAAAp0F,EAAAiH,GACAnH,IACA,IAAAG,EAAAgH,GAAA,GACA,uBAAArD,aAAA5D,aAAA4D,YAAA,OAAAwwF,GAAA,IAAAjxF,WAAAnD,KAAAC,EAAA4qB,GAAA5qB,IAAAgK,KAAA,QAAAhK,IACA,oBAAAkD,YAAAnD,aAAAmD,aAAAlD,EAAAgK,OAAAhK,EAAAgK,KAAA,oBAAAid,KAAA,kBACA,IAAAjW,EAAAjM,EAAAhF,EAAA0L,GAAA,EAOA,GANAzL,EAAA0uC,aAAoB1uC,EAAA25C,QAAA,EAAiB35C,EAAA64B,YAAA,GACrC09B,GAAA,GACAv2D,EAAAqO,SAAAkoD,GAAAloD,OAAArO,EAAAqO,QACArO,EAAAgK,OAAAhK,EAAAgK,KAAA5H,GAAAC,OAAAgC,SAAAtE,GAAA,mBACA,QAAAC,EAAAgK,OAAwBhK,EAAAgK,KAAA5H,EAAA,kBAAwC2C,EA3moBhE,SAAAugB,GACA,YAAAsB,GAAA,OAAAA,GAAAjB,aAAAL,GACA,uBAAA2B,KAAA,OAAAA,KAAAtB,aAAAL,GAEA,uBAAAmD,GAAA,oBAAAC,MAAA,oBAAAC,OAAA,IAEA,IAAAyrE,EAAA1rE,KAAApD,GAA2B8uE,EAAAxrE,KAAA,KAAkBwrE,EAAAvrE,SAAA,SAC7C,IAAA9oB,EAAAq0F,EAAA1uE,OACA,OAD4B0uE,EAAAtrE,QAC5B/oB,CACA,CAAG,MAAA6C,GAAW,IAAAA,EAAA8jB,UAAA9jB,EAAA8jB,QAAA9b,MAAA,kBAAAhI,CAAA,CACd,UAAAqB,MAAA,sBAAAqhB,EACA,CAgmoBgE+uE,CAAAt0F,GAAuB,oBAAAmD,YAAAd,IAAApC,EAAAgK,KAAA,UACvF,UAAAhK,EAAAgK,OAA0ByB,GAAA,EAAYzL,EAAAgK,KAAA,SAAmBhK,EAAA+vC,SAAA,MAAoBhrC,EApB7E,SAAAhF,GACA,OAAAA,EAAA6K,MAAA,gBAAAwc,GAAArnB,GAAAA,CACA,CAkB6Eu0F,CAAAv0F,IAC7E,SAAAC,EAAAgK,MAAA,oBAAA9G,YAAAnD,aAAAmD,YAAA,oBAAAS,YAAA,CAEA,IAAA4wF,EAAA,IAAA5wF,YAAA,GAAA6wF,EAAA,IAAAtxF,WAAAqxF,GAEA,GAFoDC,EAAAxB,IAAA,OAEpDwB,EAAAxB,IAAyC,OAA1BhzF,EAAA4qB,GAAA5qB,IAAUgK,KAAA,QAAgBmqF,GAAAnwF,EAAAe,GAAA/E,EACzC,CACA,QAAAgR,EAAA8oC,GAAA/0C,EAAA/E,IAAA,IACA,kBAAAgR,EAAA,SAAAA,EAAA,UAAAA,EAAA,UAAAA,EAAA,UAAAA,EAAA,SAAAA,EAAA,UAAAA,EAAA,UAzEA,SAAAyI,EAAAzS,GACA,OAAAyL,GAAAmH,KAAAH,EAAA,oBAAAg2E,GAAAh2E,EAAAzS,GACAylE,GAAAhzD,EAAAzS,EACA,CAsEAytF,CAAAhiF,GAAAiT,KAAA3gB,EAAA/E,GAAAA,GAAyK,MACzK,UAAAgR,EAAA,aAAAy7D,GAAA1nE,EAAA/E,GAAyD,MACzD,eAAAmqE,GAAAplE,EAAA/E,GACA,QACA,QAAAgR,EAAA,SAAAA,EAAA,QAAAA,EAAA,aAAA/M,MAAA,wCACA,QAAA+M,EAAA,UAz7dA,SAAAjM,EAAAiC,GACA,IAAAhH,EAAAgH,GAAA,GAAmB0tF,IAAA10F,EAAAuwB,IAAqBvwB,EAAAuwB,KAAA,EACxC,IACA,IAAAjpB,EAAAoqC,GAAAnB,YAAAxrC,EAAA/E,GAEA,OADAA,EAAAuwB,IAAAmkE,EACAptF,CACA,CAAG,MAAA1E,GAEH,GADA5C,EAAAuwB,IAAAmkE,GACA9xF,EAAA8jB,QAAA9b,MAAA,uBAAA8pF,EAAA,MAAA9xF,EACA,OAAA81C,GAAAnI,YAAAxrC,EAAAiC,EACA,CACA,CA86dA2tF,CAAA5vF,EAAA/E,GACA,MACA,gBAAAgR,EAAA,SAAAA,EAAA,SAAAA,EAAA,UAAA6mC,GAAAtH,YAAAxrC,EAAA/E,GAA+F,MAC/F,oBAAAgR,EAAA,IAAAA,EAAA,MAAAA,EAAA,KA5EA,SAAAjR,EAAAiH,GACA,IAAAjC,EAAAhF,EACAC,EAAAgH,GAAA,GAGA,OAFAhH,EAAAgK,OAAAhK,EAAAgK,KAAA5H,GAAAC,OAAAgC,SAAAtE,GAAA,mBAEAsU,GADA4Y,GAAAloB,EAAA/E,GACAA,EACA,CAsEA40F,CAAA7vF,EAAA/E,GAAAk0F,GAAAn0F,EAAAgF,EAAA/E,EAAAyL,GACA,qBAAAuF,EAAA,GAAAm5D,GAAAplE,EAAA/E,GAAAk0F,GAAAn0F,EAAAgF,EAAA/E,EAAAyL,GACA,SACA,SAAAuF,EAAA,GAAuB,OA/CvB,SAAAjR,EAAAC,GACA,IAAA+E,EAAAhF,EAIA,MAHA,UAAAC,EAAAgK,OAAAjF,EAAA7C,EAAA6C,IACAA,EAAAtE,EAAAW,MAAAC,OAAA,KAAA0D,EAAAjE,MAAA,UACAd,EAAAgK,KAAA,SACAgqF,GAAAjvF,EAAA/E,EACA,CAyCuB60F,CAAA9vF,EAAA/E,GACvB,OAAAgR,EAAA,QAAAA,EAAA,QAAAA,EAAA,UAAAkpC,GAAA3J,YAAAxrC,EAAA/E,GACA,MACA,OACA,OAAAgR,EAAA,IACA,GAAAA,EAAA,WAAAA,EAAA,UAAAkpC,GAAA3J,YAAAxrC,EAAA/E,GACA,OAAAgR,EAAA,SAAAA,EAAA,QAAAA,EAAA,WAAAkpC,GAAA3J,YAAAxrC,EAAA/E,EACA,CACA,MACA,yCAAAmvC,GAAAoB,YAAAxrC,EAAA/E,GACA,iBAAAgR,EAAA,UAAAA,EAAA,UAAAA,EAAA,UAAA+xC,GAAAxS,YAAAxrC,EAAA/E,GAA+F,MAC/F,+BAxEA,SAAAD,EAAAC,GACA,IAAAyL,EAAA,GAAAo5B,EAAAiV,GAAA/5C,EAAAC,GACA,OAAAA,EAAAgK,MACA,aAAAyB,EAAAvJ,EAAAnC,GAA4C,MAC5C,aAAA0L,EAAA1L,EAA6B,MAC7B,aAAA0L,EAAA1L,EAAA8J,SAAA,UAAgD,MAChD,YAAA4B,EAAA+e,GAAAzqB,GAAoC,MACpC,kBAAAkE,MAAA,qBAAAjE,EAAAgK,MAIA,OAFA,KAAA66B,EAAA,SAAAA,EAAA,SAAAA,EAAA,KAAAp5B,EAAAikB,GAAAjkB,IACAzL,EAAAgK,KAAA,SACAgqF,GAAAvoF,EAAAzL,EACA,CA4DA80F,CAAA/vF,EAAA/E,GACA,iBAAAgR,EAAA,SAAAA,EAAA,SAAAA,EAAA,aAAA/M,MAAA,uCAEA,OAAAirC,GAAAvvC,QAAAqR,EAAA,QAAAA,EAAA,QAAAA,EAAA,OAAAm+B,GAAAoB,YAAAxrC,EAAA/E,GACAk0F,GAAAn0F,EAAAgF,EAAA/E,EAAAyL,EACA,CAEA,SAAAka,GAAA7S,EAAA9L,GACA,IAAAhH,EAAAgH,GAAA,GACA,OADmBhH,EAAAgK,KAAA,OACnBmqF,GAAArhF,EAAA9S,EACA,CACA,SAAA+0F,GAAAt7E,EAAAzZ,GACA,OAAAA,EAAAgK,MACA,gCACA,yBAAAhK,EAAAgK,KAAA,GAA4C,MAC5C,kBAAAgd,GAAAhnB,EAAAmU,KAAA1B,GAAAoT,MAAApM,EAAA,CAAuDzP,KAAA5H,EAAA,eACvD,uBAAA6B,MAAA,qCAAAjE,EAAAg+B,SAAA,WACA,kBAAA/5B,MAAA,qBAAAjE,EAAAgK,MAEA,OAAAyI,GAAAoT,MAAApM,EAAAzZ,EACA,CAaA,SAAAg1F,GAAAhnE,EAAAhuB,GACA,IAAAi1F,EAAA,GACAC,EAAA9yF,EAAA,iCAAAc,WAAA,iBAEA,GADAlD,EAAA2b,cAAAs5E,EAAAt5E,YAAA,WACA3b,EAAAqiD,SAAA4yC,EAAAjrF,KAAAkrF,OACA,OAAAl1F,EAAAgK,MACA,aAAAirF,EAAAjrF,KAAA,SAAwC,MACxC,aAAAirF,EAAAjrF,KAAA,SAAwC,MACxC,uBAAA/F,MAAA,qCAAAjE,EAAAg+B,SAAA,WACA,aACA,WAAAi3D,EAAAjrF,KAAAkrF,EAAmC,MACnC,kBAAAjxF,MAAA,qBAAAjE,EAAAgK,MAEA,IAAA1C,EAAA0mB,EAAAnZ,UAAApC,GAAAoT,MAAAmI,EAAA,CAAuCnT,SAAA,MAAA7Q,KAAA,CAA8BmrF,WAAA,SAAAC,OAAA,UAA2CH,EAAAjrF,OAAAirF,EAAAjrF,KAAA2R,cAAA3b,EAAA2b,cAAqEqS,EAAAqnE,SAAAJ,GACrL,uBAAAhuE,MACA,iBAAA3f,EAAA,CACA,aAAAtH,EAAAgK,MAAA,UAAAhK,EAAAgK,KAAA,OAAA1C,EACAA,EAAA,IAAApE,WAAAQ,EAAA4D,GACA,CAGA,OAAAtH,EAAAqiD,UAAA,oBAAAizC,cAAAP,GAAAO,cAAAhuF,EAAAtH,EAAAqiD,UAAAriD,GAEA,SAAAA,EAAAgK,KAAAgd,GAAAhnB,EAAAmU,KAAA7M,GACA,UAAAtH,EAAAgK,KAAA0lB,GAAApoB,GAAAA,CACA,CAQA,SAAAiuF,GAAAjuF,EAAAN,EAAAwuF,GACAA,IAAAA,EAAA,IACA,IAAAx1F,EAAAw1F,EAAAluF,EACA,OAAAN,EAAAgD,MACA,oBAAAvI,EAAA2lB,GAAApnB,IACA,oBAAAonB,GAAApnB,GACA,oBAAAsH,EACA,kBAAA0f,GAAAhgB,EAAAmN,KAAAnU,EAAA,QACA,aACA,OAAAoC,EAAAK,EAAAzC,EAAA,QACA,oBAAAknB,aAAA,IAAAA,aAAAC,OAAAnnB,GACAu1F,GAAAv1F,EAAA,CAAqCgK,KAAA,WAAcxG,MAAA,IAAAC,IAAA,SAAAM,GAA8B,OAAAA,EAAA3D,WAAA,KAGjF,UAAA6D,MAAA,qBAAA+C,EAAAgD,KACA,CAiBA,SAAAyrF,GAAAnuF,EAAAN,GACA,OAAAA,EAAAgD,MACA,aACA,aACA,aAGA,IAFA,IAAAqI,EAAA,GAEApS,EAAA,EAAkBA,EAAAqH,EAAAnH,SAAgBF,EAAAoS,GAAA/R,OAAAC,aAAA+G,EAAArH,IAClC,gBAAA+G,EAAAgD,KAAAvI,EAAA4Q,GAAA,UAAArL,EAAAgD,KAAA0lB,GAAArd,GAAAA,EACA,kBAAA2U,GAAAhgB,EAAAmN,KAAA7M,GACA,oBAAAA,EACA,kBAAArD,MAAA,qBAAA+C,EAAAgD,MAEA,CAEA,SAAA0rF,GAAArqD,EAAArkC,GACAnH,IACA8hE,GAAAt2B,GACA,IAAArrC,EAAA4qB,GAAA5jB,GAAA,IAEA,GADAhH,EAAA0uC,aAAoB1uC,EAAA25C,QAAA,EAAiB35C,EAAA64B,YAAA,GACrC,SAAA74B,EAAAgK,KAAA,CAAyBhK,EAAAgK,KAAA,SAAmB,IAAA1C,EAAAouF,GAAArqD,EAAArrC,GAAuE,OAAlBA,EAAAgK,KAAA,QAAkBtG,EAAA4D,EAAA,CACnH,OA3FA,SAAA+jC,EAAArkC,GACA,IAAAhH,EAAA4qB,GAAA5jB,GAAA,IAEA,OAAAguF,GADAtB,GAAAroD,EAAArrC,GACAA,EACA,CAuFA21F,CAAAtqD,EAAArrC,EACA,CAEA,SAAA41F,GAAAvqD,EAAArkC,GACAnH,IACA8hE,GAAAt2B,GACA,IAAArrC,EAAA4qB,GAAA5jB,GAAA,IAEA,GADAhH,EAAA0uC,aAAoB1uC,EAAA25C,QAAA,EAAiB35C,EAAA64B,YAAA,GACrC,SAAA74B,EAAAgK,KAAA,CAAyBhK,EAAAgK,KAAA,SAAmB,IAAA1C,EAAAsuF,GAAAvqD,EAAArrC,GAAmE,OAAlBA,EAAAgK,KAAA,QAAkBtG,EAAA4D,EAAA,CAC/G,IAAAqD,EAAA,EACA,GAAA3K,EAAA63B,QACAltB,EAAA,iBAAA3K,EAAA63B,MAAA73B,EAAA63B,MACAwT,EAAAtT,WAAAp4B,QAAAK,EAAA63B,QACAwT,EAAAtT,WAAAptB,IAAA,UAAA1G,MAAA,oBAAAjE,EAAA63B,MAAA,aAAA73B,EAAA63B,OAEA,OAAA73B,EAAAg+B,UAAA,QACA,UACA,kBAAAu3D,GAAAnqB,GAAA//B,EAAArrC,GAAAA,GACA,UACA,kBAAAu1F,GAAA7jD,GAAAjB,WAAApF,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,GACA,UACA,kBAAAu1F,GAAApX,GAAA9yC,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,GACA,iBA1DA,SAAAsH,EAAAN,GACA,OAAAA,EAAAgD,MACA,oBAAAvI,EAAA6F,GACA,aACA,oBAAAA,EACA,kBAAA0f,GAAAhgB,EAAAmN,KAAA7M,EAAA,UACA,aACA,OAAAlF,EAAAK,EAAA6E,EAAA,UACAA,EAAA9D,MAAA,IAAAC,IAAA,SAAAM,GAA+C,OAAAA,EAAA3D,WAAA,KAG/C,UAAA6D,MAAA,qBAAA+C,EAAAgD,KACA,CA8CA6rF,CAAAC,GAAAzqD,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,GACA,iBAAAu1F,GAAAQ,GAAA1qD,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,EAAA,UACA,iBAAAu1F,GAAA19C,GAAApH,WAAApF,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,GACA,iBAAAy1F,GAAAtmD,GAAAsB,WAAApF,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,GACA,iBAAAu1F,GAAA78C,GAAAjI,WAAApF,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,GACA,iBAAAu1F,GAAAxyC,GAAAtS,WAAApF,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,GACA,iBAAAu1F,GAAAn9C,GAAA3H,WAAApF,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,GACA,kBAAAu1F,GAAA7S,GAAAr3C,EAAArrC,GAAAA,GACA,iBAAAy1F,GAAAv7C,GAAAwC,aAAArR,EAAArT,OAAAqT,EAAAtT,WAAAptB,IAAA3K,GAAAA,GACA,iBAAAy1F,GAAAv7C,GAAA4C,YAAAzR,EAAArrC,GAAAA,GACA,YAAAA,EAAAo2B,OAAAp2B,EAAAo2B,KAAA,GACA,YAAAp2B,EAAAo2B,OAAAp2B,EAAAo2B,KAAA,GACA,YAAwC,OAAxCp2B,EAAAo2B,OAAAp2B,EAAAo2B,KAAA,GAAwCq/D,GAAAtY,GAAA9xC,EAAArrC,GAAAA,GACxC,YAAAA,EAAAo2B,OAAAp2B,EAAAo2B,KAAA,GACA,YACA,UACA,UAAsC,OAAtCp2B,EAAAo2B,OAAAp2B,EAAAo2B,KAAA,GAjGA,SAAAiV,EAAArkC,GACA,IAAAhH,EAAAgH,GAAA,GAEA,OAAA+tF,GA5oJA,SAAA1pD,EAAArkC,GACA,IAAAhH,EAAAgH,GAAA,GACAyS,EAAAhH,GAAArR,MAAA4kB,QAAA,CAA8B1R,KAAA,MAC9B0hF,EAAA,YACA,OAAAh2F,EAAAg+B,UAAA,OACA,UAAAh+B,EAAAg+B,SAAA,QAEA,UAAAh+B,EAAAg+B,WAAAh+B,EAAAg+B,SAAA,OAEA,YAAAg4D,EAAA,YAAsCh2F,EAAAo2B,KAAA,EAAY,MAClD,YAAA4/D,EAAA,QAAkCh2F,EAAAo2B,KAAA,EAAY,MAC9C,kBAAAnyB,MAAA,gBAAAjE,EAAAg+B,SAAA,gBAMA,OAJAvrB,GAAArR,MAAAwiB,QAAAnK,EAAAu8E,EAAA7Y,GAAA9xC,EAAArrC,IACA,GAAAA,EAAAo2B,OAAAiV,EAAAjK,OAAAiK,EAAAy6B,YAvFA,SAAAz6B,EAAA5xB,GACA,IACAw8E,EADAC,EAAA,GAAAC,EAAA,GAAAC,EAAA,GACAn2F,EAAA,EACAo2F,EAAyCjtE,GAAA8S,GAAA,KACzCo6D,EAAsCltE,GAAA+S,GAAA,KACtC,GAAAkP,EAAAjK,MAGA,IAFA60D,EAAAltE,GAAAsiB,EAAAjK,OAEAnhC,EAAA,EAAaA,EAAAg2F,EAAA91F,SAAiBF,GAAAma,OAAA8O,UAAAC,eAAA1kB,KAAA4xF,EAAAJ,EAAAh2F,IAAAi2F,EAAA97E,OAAA8O,UAAAC,eAAA1kB,KAAA6xF,EAAAL,EAAAh2F,IAAAk2F,EAAAC,GAAAp/E,KAAA,CAAAi/E,EAAAh2F,GAAAorC,EAAAjK,MAAA60D,EAAAh2F,MAE9B,GAAAorC,EAAAy6B,UAGA,IAFAmwB,EAAAltE,GAAAsiB,EAAAy6B,WAEA7lE,EAAA,EAAaA,EAAAg2F,EAAA91F,SAAiBF,EAAAma,OAAA8O,UAAAC,eAAA1kB,KAAA4mC,EAAAjK,OAAA,GAA2D60D,EAAAh2F,MAAAma,OAAA8O,UAAAC,eAAA1kB,KAAA4xF,EAAAJ,EAAAh2F,IAAAi2F,EAAA97E,OAAA8O,UAAAC,eAAA1kB,KAAA6xF,EAAAL,EAAAh2F,IAAAk2F,EAAAC,GAAAp/E,KAAA,CAAAi/E,EAAAh2F,GAAAorC,EAAAy6B,UAAAmwB,EAAAh2F,MAEzF,IAAAs2F,EAAA,GACA,IAAAt2F,EAAA,EAAYA,EAAAm2F,EAAAj2F,SAAqBF,EACjComC,GAAA1mC,QAAAy2F,EAAAn2F,GAAA,QAAAshC,GAAA5hC,QAAAy2F,EAAAn2F,GAAA,QACA,MAAAm2F,EAAAn2F,GAAA,IACAs2F,EAAAv/E,KAAAo/E,EAAAn2F,IAEAk2F,EAAAh2F,QAAAsS,GAAArR,MAAAwiB,QAAAnK,EAAA,uBAAAmuB,GAAAuuD,EAAA9pB,GAAAC,GAAAgqB,EAAAn6D,MACA+5D,EAAA/1F,QAAAo2F,EAAAp2F,SAAAsS,GAAArR,MAAAwiB,QAAAnK,EAAA,+BAAAmuB,GAAAsuD,EAAA7pB,GAAAE,IAAA8pB,EAAAn6D,GAAAq6D,EAAAp2F,OAAAo2F,EAAA,KAAAlqB,GAAAG,KACA,CAgEAgqB,CAAAnrD,EAAA5xB,GAEA,GAAAzZ,EAAAo2B,MAAAiV,EAAAswB,QA38NA,SAAAliD,EAAA8yE,GACAA,EAAA13E,UAAA2b,QAAA,SAAA3d,EAAA5S,GACA,MAAAA,EAAA,CAEA,IAAAoxE,EAAAx+D,EAAA1Q,QAAA,mCACA,MAAAkvE,EAAAvwE,OAAA,IACA2R,GAAArR,MAAAwiB,QAAAnK,EAAA43D,EAAAkb,EAAA33E,UAAA3U,GAAAyY,QAHA,CAIA,EACA,CAm8NA+9E,CAAAh9E,EAAAhH,GAAAiT,KAAA2lB,EAAAswB,OAAA,CAAqE3xD,KAAA,iBAAAqhC,EAAAswB,OAAA,qBACrEliD,CACA,CAynJAi9E,CAAArrD,EAAArrC,GACAA,EACA,CA6FsC22F,CAAAtrD,EAAArrC,GACtC,WACA,WACA,WACA,WACA,cACA,iBA5IA,SAAAqrC,EAAArkC,GACA,IAAAhH,EAAA4qB,GAAA5jB,GAAA,IAEA,OAAAguF,GADA94E,GAAAmvB,EAAArrC,GACAA,EACA,CAwIA42F,CAAAvrD,EAAArrC,GACA,kBAAAiE,MAAA,0BAAAjE,EAAAg+B,SAAA,KAEA,CAEA,SAAA64D,GAAA72F,GACA,IAAAA,EAAAg+B,SAAA,CACA,IAOAxZ,EAAAxkB,EAAAmU,KAAArT,MAAAd,EAAAmU,KAAArG,YAAA,MAAAqB,cACAqV,EAAA5Z,MAAA,gBAAA5K,EAAAg+B,SAAAxZ,EAAA1jB,MAAA,IACAd,EAAAg+B,SATA,CACA84D,IAAA,QACA/yE,IAAA,OACAgzE,IAAA,OACAC,WAAA,MACAC,QAAA,OAIAj3F,EAAAg+B,WAAAh+B,EAAAg+B,QAVA,CAWA,CAEA,SAAAlY,GAAAulB,EAAAv4B,EAAA9L,GACA,IAAAhH,EAAAgH,GAAA,GAGA,OAHmBhH,EAAAgK,KAAA,OACnBhK,EAAAmU,KAAArB,EACA+jF,GAAA72F,GACA41F,GAAAvqD,EAAArrC,EACA,CAEA,SAAAk3F,GAAA7rD,EAAAv4B,EAAA9L,GACA,IAAAhH,EAAAgH,GAAA,GAGA,OAHmBhH,EAAAgK,KAAA,OACnBhK,EAAAmU,KAAArB,EACA+jF,GAAA72F,GACA01F,GAAArqD,EAAArrC,EACA,CAGA,SAAAm3F,GAAArkF,EAAAu4B,EAAArkC,EAAAkuB,GACA,IAAAl1B,EAAAgH,GAAA,GAAmBhH,EAAAgK,KAAA,OACnBhK,EAAAmU,KAAArB,EACA+jF,GAAA72F,GACAA,EAAAgK,KAAA,SACA,IAAAotF,EAAAliE,EACA,OADekiE,aAAAC,WAAAD,EAAA,GACfxwE,GAAAb,UAAAjT,EAAA8iF,GAAAvqD,EAAArrC,GAAAo3F,EACA,CAOA,SAAAE,GAAAz/D,EAAAvrB,EAAA2L,EAAA44B,EAAA76B,EAAA0wB,EAAAvO,EAAAn4B,GACA,IAAA6M,EAAA6pB,GAAAze,GACAs/E,EAAAv3F,EAAAu3F,OAAAt+E,EAAAjZ,EAAAiZ,MAAAmB,OAAA8O,UAAAC,eAAA1kB,KAAAzE,EAAA,OACAw3F,GAAA,EACAhjF,EAAA,IAAAwB,EAAA,MACA,OAAAA,EACA,GAAAoE,OAAAq9E,eAAA,IAAkCr9E,OAAAq9E,eAAAjjF,EAAA,cAA0C2a,MAAAlX,EAAAy/E,YAAA,GAA0B,CAAK,MAAA90F,GAAW4R,EAAAmjF,WAAA1/E,CAAA,MACtHzD,EAAAmjF,WAAA1/E,EAEA,IAAAkgB,GAAAN,EAAA5f,GAAA,QAAA1F,EAAAjG,EAAA/I,EAAAQ,EAA4CwO,GAAAjG,EAAA1J,EAAAmB,IAAYwO,EAAA,CACxD,IAAArI,EAAAiuB,EAAAN,EAAA5f,GAAA1F,GAAAslB,EAAAgZ,EAAAt+B,GAAA1F,GACA,QAAAmD,IAAA9F,QAAA8F,IAAA9F,EAAAlF,EAAA,CAKA,IAAAF,EAAAoF,EAAApF,EACA,OAAAoF,EAAAlF,GACA,iBAAAF,EAAA,MAAkC,SAClC,QAAAA,EAAA,GAAAA,EAAA,YAA2C,MAC3C,sCACA,kBAAAb,MAAA,qBAAAiG,EAAAlF,GAEA,SAAA0hC,EAAAn0B,GAAA,CACA,SAAAzN,EACA,QAAAoF,EAAAlF,GAAA,OAAAF,EAAA0P,EAAAkyB,EAAAn0B,IAAA,UACA,QAAAvC,IAAAunF,EAAA/iF,EAAAkyB,EAAAn0B,IAAAglF,MACA,KAAAt+E,GAAA,OAAAnU,EACA,SADA0P,EAAAkyB,EAAAn0B,IAAA,IACA,MAEAiC,EAAAkyB,EAAAn0B,IAAA0G,IAAA,MAAA/O,EAAAlF,GAAA,MAAAkF,EAAAlF,IAAA,IAAAhF,EAAA43F,YAAA9yF,EAAAyyB,GAAArtB,EAAApF,EAAA9E,GAEA,MAAA8E,IAAA0yF,GAAA,EACA,CAlBA,KAJA,CACA,QAAAxnF,IAAAunF,EAAA,SACA,MAAA7wD,EAAAn0B,KAAwBiC,EAAAkyB,EAAAn0B,IAAAglF,EAExB,CAmBA,CACA,OAAU/iF,IAAAA,EAAAgjF,QAAAA,EACV,CAGA,SAAA7mD,GAAA9Y,EAAA7wB,GACA,SAAA6wB,GAAA,MAAAA,EAAA,iBACA,IAAA3tB,EAAA,CAAYlF,EAAA,IAAAF,EAAA,GAAUkR,EAAA,EAAAuD,EAAA,EAAAmtB,EAAA,GAAA5hC,EAAA,EAAA4K,EAAA,GACtBpD,EAAA,CAAU/I,EAAA,CAAG+I,EAAA,EAAAvI,EAAA,GAAQnB,EAAA,CAAI0J,EAAA,EAAAvI,EAAA,IACzB/D,EAAAgH,GAAA,GACAsvB,EAAA,MAAAt2B,EAAAs2B,MAAAt2B,EAAAs2B,MAAAuB,EAAA,QAKA,OAJA,IAAA73B,EAAAgW,OAAAA,EAAA,EACA,MAAAhW,EAAAgW,OAAAA,EAAA,EACA7S,MAAAW,QAAA9D,EAAAgW,QAAAA,EAAA,EACA,MAAAhW,EAAAgW,SAAAA,EAAA,UACAsgB,GACA,aAAAhqB,EAAAgrB,GAAAhB,GAA+C,MAC/C,cAAAhqB,EAAAgrB,GAAAO,EAAA,UAAuDt0B,EAAA+I,EAAAgqB,EAAe,MACtE,QAAAhqB,EAAAgqB,EAEAtgB,EAAA,IAAAuD,EAAA,GACA,IAAA1M,EAAA6pB,GAAApqB,EAAA/I,EAAA+I,GACAukC,EAAA,GACAvpC,EAAA,GACAuwF,EAAA,EAAAC,EAAA,EACA3/D,EAAAh1B,MAAAW,QAAA+zB,GACA5f,EAAA3L,EAAA/I,EAAA+I,EAAAiG,EAAA,EACAwlF,EAAA,GACA5/D,IAAAN,EAAA5f,KAAA4f,EAAA5f,GAAA,IACA,IAAA09B,EAAA31C,EAAAg4F,YAAAngE,EAAA,aACA6d,EAAA11C,EAAAg4F,YAAAngE,EAAA,aACA,IAAAtlB,EAAAjG,EAAA/I,EAAAQ,EAAgBwO,GAAAjG,EAAA1J,EAAAmB,IAAYwO,EAC5B,KAAAojC,EAAApjC,IAAA,IAAqB,OAGrB,OAFAs+B,EAAAt+B,GAAAokB,GAAApkB,GACArI,EAAAiuB,EAAAN,EAAA5f,GAAA1F,GAAAslB,EAAAgZ,EAAAt+B,GAAA1F,GACAmJ,GACA,OAAA0wB,EAAAn0B,GAAAA,EAAAjG,EAAA/I,EAAAQ,EAA+B,MAC/B,OAAA2iC,EAAAn0B,GAAAs+B,EAAAt+B,GAA6B,MAC7B,OAAAm0B,EAAAn0B,GAAAvS,EAAAgW,OAAAzD,EAAAjG,EAAA/I,EAAAQ,GAAyC,MACzC,QAIA,GAHA,MAAAmG,IAAAA,EAAA,CAA2Bd,EAAA,UAAApE,EAAA,MAC3B0K,EAAA5K,EAAAyyB,GAAArtB,EAAA,KAAAlK,GACA83F,EAAAC,EAAAjzF,IAAA,EAEA,CACA,GAAU4K,EAAA5K,EAAA,IAAAgzF,UAA8BC,EAAAroF,IAAuBqoF,EAAAjzF,GAAAgzF,EAC/DC,EAAAroF,GAAA,CACA,MAJAqoF,EAAAjzF,GAAA,EAKA4hC,EAAAn0B,GAAA7C,EAGA,IAAAuI,EAAA3L,EAAA/I,EAAA+I,EAAAiN,EAA0BtB,GAAA3L,EAAA1J,EAAA0J,IAAY2L,EACtC,KAAAy9B,EAAAz9B,IAAA,IAAqBw+B,OAArB,CACA,IAAAjiC,EAAA8iF,GAAAz/D,EAAAvrB,EAAA2L,EAAA44B,EAAA76B,EAAA0wB,EAAAvO,EAAAn4B,KACA,IAAAwU,EAAAgjF,UAAA,IAAAxhF,GAAA,IAAAhW,EAAAi4F,UAAAj4F,EAAAi4F,cAAA3wF,EAAAuwF,KAAArjF,EAAAA,IAFqB,CAKrB,OADAlN,EAAAnH,OAAA03F,EACAvwF,CACA,CAEA,IAAA4wF,GAAA,KACA,SAAAC,GAAAtgE,EAAAvrB,EAAA2L,EAAA44B,EAAAn+B,EAAAurC,EAAAhF,EAAAj5C,GAGA,IAFA,IAAAw3F,GAAA,EACAhjF,EAAA,GAAA4jF,EAAA,GAAAvrF,EAAA6pB,GAAAze,GACA1F,EAAAjG,EAAA/I,EAAAQ,EAAoBwO,GAAAjG,EAAA1J,EAAAmB,IAAYwO,EAChC,GAAAs+B,EAAAt+B,GAAA,CACA,IAAArI,EAAAlK,EAAAm4B,OAAAN,EAAA5f,IAAA,IAAA1F,GAAAslB,EAAAgZ,EAAAt+B,GAAA1F,GACA,SAAA3C,EAAAkuF,EAAA,QACA,SAAAluF,EAAApF,EAAA,CACA0yF,GAAA,EACAY,EAAA,IAAAp4F,EAAA43F,YAAA,KAAA1tF,EAAAlF,EAAAkF,EAAApF,EAAAyyB,GAAArtB,EAAA,KAAAlK,IACA,QAAAC,EAAA,EAAAyL,EAAA,EAA0BzL,IAAAm4F,EAAAj4F,SAAkBF,EAAA,IAAAyL,EAAA0sF,EAAAh4F,WAAAH,MAAAyS,GAAAhH,IAAAuyC,GAAA,KAAAvyC,GAAA1L,EAAAq4F,YAAA,CAAqFD,EAAA,IAAAA,EAAAj2F,QAAA+1F,GAAA,UAA6C,MAC9K,MAAAE,IAAAA,EAAA,OACA,MAAI,MAAAluF,EAAAqE,GAAArE,EAAA0/B,EAGAwuD,EAAA,IAFJZ,GAAA,GACAY,EAAA,IAAAluF,EAAAqE,GAAsB5O,QAAA,UAAAy4F,EAAA,IAAAA,EAAAj2F,QAAA+1F,GAAA,YAGtB1jF,EAAAwC,KAAAohF,EAbA,CAeA,WAAAp4F,EAAAi4F,WAAAT,EAAA,KACAhjF,EAAAhU,KAAAy4C,EACA,CAEA,SAAA88C,GAAAl+D,EAAA7wB,GACA,IAAAM,EAAA,GACAtH,EAAA,MAAAgH,EAAA,GAA2BA,EAC3B,SAAA6wB,GAAA,MAAAA,EAAA,iBACA,IAAAvrB,EAAAgrB,GAAAO,EAAA,SACAohB,OAAAjpC,IAAAhQ,EAAAi5C,GAAAj5C,EAAAi5C,GAAA,IAAAvmC,EAAAumC,EAAA74C,WAAA,GACAg3C,OAAApnC,IAAAhQ,EAAAo3C,GAAAp3C,EAAAo3C,GAAA,KAAA6G,EAAA7G,EAAAh3C,WAAA,GACAk4F,EAAA,IAAAzoE,QAAA,KAAAopB,EAAA,MAAAA,GAAA,MACAzkC,EAAA,GAAAq8B,EAAA,GACA7wC,EAAAm4B,MAAAh1B,MAAAW,QAAA+zB,GAGA,IAFA,IAAA8d,EAAA31C,EAAAg4F,YAAAngE,EAAA,aACA6d,EAAA11C,EAAAg4F,YAAAngE,EAAA,aACAtlB,EAAAjG,EAAA/I,EAAAQ,EAAoBwO,GAAAjG,EAAA1J,EAAAmB,IAAYwO,GAAAojC,EAAApjC,IAAA,IAA0B,SAAAs+B,EAAAt+B,GAAAokB,GAAApkB,IAE1D,IADA,IAAAnJ,EAAA,EACA6O,EAAA3L,EAAA/I,EAAA+I,EAAoB2L,GAAA3L,EAAA1J,EAAA0J,IAAY2L,GAChCy9B,EAAAz9B,IAAA,IAAqBw+B,QAErB,OADAjiC,EAAA2jF,GAAAtgE,EAAAvrB,EAAA2L,EAAA44B,EAAAn+B,EAAAurC,EAAAhF,EAAAj5C,MAEAA,EAAAu4F,QAAA/jF,EAAAA,EAAArS,QAAAm2F,EAAA,MACA9jF,IAAA,IAAAxU,EAAAi4F,YAAA3wF,EAAA0P,MAAA5N,IAAAguC,EAAA,IAAA5iC,IAGA,cADAxU,EAAAm4B,MACA7wB,EAAA9G,KAAA,GACA,CAEA,SAAAs1F,GAAAj+D,EAAA7wB,GACAA,IAAAA,EAAA,IAAsBA,EAAAiyC,GAAA,KAAgBjyC,EAAAowC,GAAA,KACtC,IAAA7zC,EAAAwyF,GAAAl+D,EAAA7wB,GACA,YAAAvG,GAAA,UAAAuG,EAAAgD,KAAA,OAAAzG,EACA,IAAAvD,EAAAS,EAAAW,MAAA+lB,OAAA,KAAA5jB,EAAA,OACA,OAAAjD,OAAAC,aAAA,KAAAD,OAAAC,aAAA,KAAAP,CACA,CAoCA,SAAAw4F,GAAAtgE,EAAAugE,EAAAzxF,GACA,IAWAivB,EAXAj2B,EAAAgH,GAAA,GACAuS,IAAAvZ,EAAA04F,WACAtgE,EAAAF,GAAA,CAAkC,EAClCG,EAAA,EAAAC,EAAA,EACA,GAAAF,GAAA,MAAAp4B,EAAAu4B,OACA,oBAAAv4B,EAAAu4B,OAAAF,EAAAr4B,EAAAu4B,WACA,CACA,IAAAC,EAAA,iBAAAx4B,EAAAu4B,OAAAtB,GAAAj3B,EAAAu4B,QAAAv4B,EAAAu4B,OACAF,EAAAG,EAAAlsB,EAAmBgsB,EAAAE,EAAAz0B,CACnB,CAGA,IAAAuyB,EAAA,CAAyB/yB,EAAA,CAAIQ,EAAA,EAAAuI,EAAA,GAAS1J,EAAA,CAAMmB,EAAAuI,EAAA+rB,EAAAogE,EAAAt4F,OAAA,EAAAoZ,IAC5C,GAAA6e,EAAA,SACA,IAAAK,EAAAnB,GAAAc,EAAA,SACA9B,EAAA1zB,EAAAmB,EAAAsB,KAAAgI,IAAAipB,EAAA1zB,EAAAmB,EAAA00B,EAAA71B,EAAAmB,GACAuyB,EAAA1zB,EAAA0J,EAAAjH,KAAAgI,IAAAipB,EAAA1zB,EAAA0J,EAAAmsB,EAAA71B,EAAA0J,IACA,GAAA+rB,IAAiBA,EAAAI,EAAA71B,EAAA0J,EAAA,EAAqBgqB,EAAA1zB,EAAA0J,EAAA+rB,EAAAogE,EAAAt4F,OAAA,EAAAoZ,EACtC,MACA,GAAA8e,IAAiBA,EAAA,EAAQ/B,EAAA1zB,EAAA0J,EAAAmsF,EAAAt4F,OAAA,EAAAoZ,GAEzB,IAAAmtB,EAAA1mC,EAAAgW,QAAA,GAAAzD,EAAA,EAEAkmF,EAAAjoE,QAAA,SAAAmoE,EAAA1gF,GACA8Q,GAAA4vE,GAAAnoE,QAAA,SAAA1Z,IACA,IAAAvE,EAAAm0B,EAAA/mC,QAAAmX,MAAA4vB,EAAAn0B,EAAAm0B,EAAAvmC,QAAA2W,GACA,IAAAhS,EAAA6zF,EAAA7hF,GACA9R,EAAA,IACAgpB,EAAA,GACAigB,EAAAzX,GAAA,CAA0BzyB,EAAAu0B,EAAA/lB,EAAAjG,EAAA+rB,EAAApgB,EAAAsB,IAC1B0c,EAAA2iE,GAAAxgE,EAAA6V,IACAnpC,GAAA,iBAAAA,GAAAA,aAAAkD,MAGA,iBAAAlD,EAAAE,EAAA,IACA,kBAAAF,EAAAE,EAAA,IACA,iBAAAF,EAAAE,EAAA,IACAF,aAAAkD,MACAhD,EAAA,IACAhF,EAAA84B,YAAwB9zB,EAAA,IAASF,EAAA6kB,GAAA7kB,IACjCkpB,EAAAhuB,EAAAqO,QAAAvI,EAAA,KAEA,OAAAhB,GAAA9E,EAAA44B,YAAyC5zB,EAAA,IAASF,EAAA,GAClDmxB,GAEAA,EAAAjxB,EAAAA,EAAiBixB,EAAAnxB,EAAAA,SACjBmxB,EAAA7sB,SAAoB6sB,EAAAhe,EACpB+V,IAAAiI,EAAAjI,EAAAA,IAJAoK,EAAA6V,GAAAhY,EAAA,CAAiCjxB,EAAAA,EAAAF,EAAAA,GAMjCkpB,IAAAiI,EAAAjI,EAAAA,IAjBAoK,EAAA6V,GAAAnpC,CAmBA,EACA,GACAwxB,EAAA1zB,EAAAmB,EAAAsB,KAAAgI,IAAAipB,EAAA1zB,EAAAmB,EAAAu0B,EAAAoO,EAAAvmC,OAAA,GACA,IAAAu4B,EAAAhC,GAAA2B,GACA,GAAA9e,EAAA,IAAAhH,EAAA,EAAuBA,EAAAm0B,EAAAvmC,SAAgBoS,EAAA6lB,EAAAzB,GAAApkB,EAAA+lB,GAAAI,GAAA,CAAqC1zB,EAAA,IAAAF,EAAA4hC,EAAAn0B,IAE5E,OADA6lB,EAAA,QAAAjB,GAAAb,GACA8B,CACA,CAIA,SAAAwgE,GAAAxgE,EAAAngB,EAAA1F,GAEA,oBAAA0F,EAAA,CAEA,GAAA9U,MAAAW,QAAAs0B,GAAA,CACA,IAAAygE,EAAA5hE,GAAAhf,GAEA,OADAmgB,EAAAygE,EAAAvsF,KAAA8rB,EAAAygE,EAAAvsF,GAAA,IACA8rB,EAAAygE,EAAAvsF,GAAAusF,EAAA90F,KAAAq0B,EAAAygE,EAAAvsF,GAAAusF,EAAA90F,GAAA,CAA+CiB,EAAA,KAC/C,CACA,OAAAozB,EAAAngB,KAAAmgB,EAAAngB,GAAA,CAA4BjT,EAAA,KAC5B,CAEA,OAAA4zF,GAAAxgE,EAAA5B,GAAA,iBAAAve,EAAAA,EAEA,CAA0C3L,EAAA2L,EAAAlU,EAAAwO,GAAA,IAC1C,CAoBA,SAAAg1D,GAAAl8B,EAAAjT,EAAA9gB,EAAAwhF,GACA,IAAA74F,EAAA,EACA,IAAAqX,EAAA,KAAiBrX,GAAA,QAAa,GAAAorC,EAAAtT,WAAAp4B,QAAA2X,EAAA,QAAArX,KAAAA,EAAAqX,OAAAtH,GAC9B,IAAAsH,GAAA+zB,EAAAtT,WAAA53B,QAAA,gBAAA8D,MAAA,uBACA,GAAA60F,GAAAztD,EAAAtT,WAAAp4B,QAAA2X,IAAA,GACA,IAAA5P,EAAA4P,EAAA1M,MAAA,gBACA3K,EAAAyH,IAAAA,EAAA,MACA,IAAA4M,EAAA5M,GAAAA,EAAA,IAAA4P,EACA,MAAArX,EAAWA,GAAA,QAAa,GAAAorC,EAAAtT,WAAAp4B,QAAA2X,EAAAhD,EAAArU,KAAAA,GACxB,CAEA,GADAwhE,GAAAnqD,GACA+zB,EAAAtT,WAAAp4B,QAAA2X,IAAA,YAAArT,MAAA,wBAAAqT,EAAA,qBAIA,OAFA+zB,EAAAtT,WAAA/gB,KAAAM,GACA+zB,EAAArT,OAAA1gB,GAAA8gB,EACA9gB,CACA,CA0BA,SAAAyhF,GAAA9iE,EAAA7I,EAAAuwC,GAOA,OANAvwC,GAGA6I,EAAAvnB,EAAA,CAAcuxB,OAAA7S,GACduwC,IAAA1nC,EAAAvnB,EAAA8/B,QAAAmvB,WAHA1nC,EAAAvnB,EAKAunB,CACA,CA0BA,IAwCA+iE,GAxCA53F,GAAA,CACAu1B,WAAAA,GACAD,WAAAA,GACAF,YAAAA,GACAW,aAAAA,GACAL,WAAAA,GACAF,WAAAA,GACAqiE,WAjxnBA,SAAAh+E,GAAyD,OAAAA,EAAA9Y,QAAA,+BAAAqB,MAAA,MAkxnBzDyzB,YAAAA,GACAC,aAAAA,GACAK,YAAAA,GACAU,cAAAA,GACAugE,eAAAA,GACApa,cAAAA,GACAplD,aAAAA,GACAkgE,cAjIA,SAAAT,EAAAzxF,GAAgE,OAAAwxF,GAAA,KAAAC,EAAAzxF,EAAA,EAkIhEmyF,eAAApa,GACAqa,cAvvGA,SAAA9qF,EAAAtH,GACA,OAAA4wB,GAAAmnD,GAAAzwE,EAAAtH,GAAAA,EACA,EAsvGA+uF,aAAAA,GACAD,aAAAA,GACAnlD,cAAAA,GACAwtC,cAAAA,GACAkb,kBAtOA,SAAAxhE,GACA,IAAA72B,EAAAyG,EAAA,GAAAyC,EAAA,GACA,SAAA2tB,GAAA,MAAAA,EAAA,iBACA,IAAAtlB,EAAAjG,EAAAgrB,GAAAO,EAAA,SAAAhrB,EAAA,GAAAgkC,EAAA,GACAyoD,EAAA,GACAnhE,EAAAh1B,MAAAW,QAAA+zB,GACA,IAAAtlB,EAAAjG,EAAA/I,EAAAQ,EAAgBwO,GAAAjG,EAAA1J,EAAAmB,IAAYwO,EAAAs+B,EAAAt+B,GAAAokB,GAAApkB,GAC5B,QAAA0F,EAAA3L,EAAA/I,EAAA+I,EAAoB2L,GAAA3L,EAAA1J,EAAA0J,IAAY2L,EAEhC,IADApL,EAAA6pB,GAAAze,GACA1F,EAAAjG,EAAA/I,EAAAQ,EAAiBwO,GAAAjG,EAAA1J,EAAAmB,IAAYwO,EAI7B,GAHA9K,EAAAopC,EAAAt+B,GAAA1F,EAEA3C,EAAA,QACA8F,KAFAhP,EAAAm3B,GAAAN,EAAA5f,IAAA,IAAA1F,GAAAslB,EAAApwB,IAEA,CACA,SAAAzG,EAAA4oC,EAAA,CAEA,GADAniC,EAAAzG,EAAA4oC,GACA5oC,EAAAuN,EAAA,SACArE,EAAAlJ,EAAAuN,GACA,GAAA9G,EAAA9H,QAAA,OAAA8H,EAAAA,EAAA,IAAAA,EACA,CACA,SAAAzG,EAAAuN,EAAArE,EAAAlJ,EAAAuN,MACA,SAAAvN,EAAAgE,EAAA,SACA,QAAAhE,EAAAgE,GAAA,MAAAhE,EAAA8D,EAAAoF,EAAA,GAAAlJ,EAAA8D,OACA,QAAA9D,EAAAgE,EAAAkF,EAAAlJ,EAAA8D,EAAA,oBACA,QAAAkL,IAAAhP,EAAAoI,EAAAc,EAAA,IAAAlJ,EAAAoI,MACA,SAAA4G,IAAAhP,EAAA8D,EAAA,SACAoF,EAAA,KAAAlJ,EAAAgE,EAAA,IAAAhE,EAAA8D,EACA,GAAA9D,EAAA8D,CAAA,EACAw0F,EAAAA,EAAAn5F,QAAAsH,EAAA,IAAAyC,CATA,CAYA,OAAAovF,CACA,EAuMAC,0BAAA5oD,GACA6oD,eAAAZ,GACAa,SA1GA,WACA,OAAU1hE,WAAA,GAAAC,OAAA,GACV,EAyGAuvC,kBAAAA,GACAmyB,0BApFA,SAAAruD,EAAAsuD,EAAAC,GACAvuD,EAAAwwB,WAAAxwB,EAAAwwB,SAAA,IACAxwB,EAAAwwB,SAAA7jC,SAAAqT,EAAAwwB,SAAA7jC,OAAA,IAEA,IAAArtB,EAxCA,SAAA0gC,EAAAsuD,GACA,oBAAAA,EAAA,CACA,GAAAA,GAAA,GAAAtuD,EAAAtT,WAAA53B,OAAAw5F,EAAA,OAAAA,EACA,UAAA11F,MAAA,uBAAA01F,EACA,CAAG,oBAAAA,EAAA,CACH,IAAAhvF,EAAA0gC,EAAAtT,WAAAp4B,QAAAg6F,GACA,GAAAhvF,GAAA,SAAAA,EACA,UAAA1G,MAAA,2BAAA01F,EAAA,IACA,CAAG,UAAA11F,MAAA,sBAAA01F,EAAA,IACH,CA+BAE,CAAAxuD,EAAAsuD,GAIA,OAFAtuD,EAAAwwB,SAAA7jC,OAAArtB,KAAA0gC,EAAAwwB,SAAA7jC,OAAArtB,GAAA,IAEAivF,GACA,2BACA,kBAAA31F,MAAA,gCAAA21F,GAGAvuD,EAAAwwB,SAAA7jC,OAAArtB,GAAAw3D,OAAAy3B,CACA,EAuEAE,uBApEA,SAAA7jE,EAAAhsB,GAEA,OADAgsB,EAAAjI,EAAA/jB,EACAgsB,CACA,EAkEA8iE,mBAAAA,GACAgB,uBAvDA,SAAA9jE,EAAAK,EAAAqnC,GAAwF,OAAAo7B,GAAA9iE,EAAA,IAAAK,EAAAqnC,EAAA,EAwDxFq8B,iBArDA,SAAA/jE,EAAAxR,EAAA2pC,GACAn4B,EAAAlyB,IAAAkyB,EAAAlyB,EAAA,IACAkyB,EAAAlyB,EAAAiT,KAAA,CAAchS,EAAA+Z,EAAAqvC,GAAA,WACd,EAmDA6rC,wBAhDA,SAAA7hE,EAAA9B,EAAA8f,EAAA8jD,GAGA,IAFA,IAAAh1B,EAAA,iBAAA5uC,EAAAA,EAAAgB,GAAAhB,GACA6jE,EAAA,iBAAA7jE,EAAAA,EAAAa,GAAAb,GACAre,EAAAitD,EAAA3hE,EAAA+I,EAAsB2L,GAAAitD,EAAAtiE,EAAA0J,IAAc2L,EAAA,QAAA1F,EAAA2yD,EAAA3hE,EAAAQ,EAA0BwO,GAAA2yD,EAAAtiE,EAAAmB,IAAcwO,EAAA,CAC5E,IAAA0jB,EAAA2iE,GAAAxgE,EAAAngB,EAAA1F,GACA0jB,EAAAjxB,EAAA,IACAixB,EAAA2T,EAAAuwD,SACAlkE,EAAAnxB,EACAmT,GAAAitD,EAAA3hE,EAAA+I,GAAAiG,GAAA2yD,EAAA3hE,EAAAQ,IACAkyB,EAAA1nB,EAAA6nC,EACA8jD,IAAAjkE,EAAA/vB,GAAA,GAEA,CACA,OAAAkyB,CACA,EAmCAzb,OAAA,CACAy9E,cAAA,EACAC,aAAA,EACAC,kBAAA,IA8HAC,GAAA,CACAC,QA/DA,SAAA3iE,EAAA7wB,GACA,IAAAyzF,EAAAzB,GAAA,CAAyB0B,YAAA,IAEzB,SAAA7iE,GAAA,MAAAA,EAAA,QAAiE,OAAnB4iE,EAAAzjF,KAAA,MAAmByjF,EACjE,IAAAvwF,EAAA,CAAYlF,EAAA,IAAAF,EAAA,GAAUkR,EAAA,EAAAuD,EAAA,EAAAmtB,EAAA,GAAA5hC,EAAA,EAAA4K,EAAA,GACtBpD,EAAA,CAAU/I,EAAA,CAAG+I,EAAA,EAAAvI,EAAA,GAAQnB,EAAA,CAAI0J,EAAA,EAAAvI,EAAA,IACzB/D,EAAAgH,GAAA,GACAsvB,EAAA,MAAAt2B,EAAAs2B,MAAAt2B,EAAAs2B,MAAAuB,EAAA,QAIA,OAHA,IAAA73B,EAAAgW,OAAAA,EAAA,EACA,MAAAhW,EAAAgW,OAAAA,EAAA,EACA7S,MAAAW,QAAA9D,EAAAgW,UAAAA,EAAA,UACAsgB,GACA,aAAAhqB,EAAAgrB,GAAAhB,GAA+C,MAC/C,cAAAhqB,EAAAgrB,GAAAO,EAAA,UAAuDt0B,EAAA+I,EAAAgqB,EAAe,MACtE,QAAAhqB,EAAAgqB,EAEAtgB,EAAA,IAAAuD,EAAA,GACA,IAAA1M,EAAA6pB,GAAApqB,EAAA/I,EAAA+I,GACAukC,EAAA,GACAinD,EAAA,EACA3/D,EAAAh1B,MAAAW,QAAA+zB,GACA5f,EAAA3L,EAAA/I,EAAA+I,EAAAiG,EAAA,EACAwlF,EAAA,GACA5/D,IAAAN,EAAA5f,KAAA4f,EAAA5f,GAAA,IACA,IAAA09B,EAAA31C,EAAAg4F,YAAAngE,EAAA,aACA6d,EAAA11C,EAAAg4F,YAAAngE,EAAA,aACA,IAAAtlB,EAAAjG,EAAA/I,EAAAQ,EAAgBwO,GAAAjG,EAAA1J,EAAAmB,IAAYwO,EAC5B,KAAAojC,EAAApjC,IAAA,IAAqB,OAGrB,OAFAs+B,EAAAt+B,GAAAokB,GAAApkB,GACArI,EAAAiuB,EAAAN,EAAA5f,GAAA1F,GAAAslB,EAAAgZ,EAAAt+B,GAAA1F,GACAmJ,GACA,OAAA0wB,EAAAn0B,GAAAA,EAAAjG,EAAA/I,EAAAQ,EAA+B,MAC/B,OAAA2iC,EAAAn0B,GAAAs+B,EAAAt+B,GAA6B,MAC7B,OAAAm0B,EAAAn0B,GAAAvS,EAAAgW,OAAAzD,EAAAjG,EAAA/I,EAAAQ,GAAyC,MACzC,QAIA,GAHA,MAAAmG,IAAAA,EAAA,CAA2Bd,EAAA,UAAApE,EAAA,MAC3B0K,EAAA5K,EAAAyyB,GAAArtB,EAAA,KAAAlK,GACA83F,EAAAC,EAAAjzF,IAAA,EAEA,CACA,GAAU4K,EAAA5K,EAAA,IAAAgzF,UAA8BC,EAAAroF,IAAuBqoF,EAAAjzF,GAAAgzF,EAC/DC,EAAAroF,GAAA,CACA,MAJAqoF,EAAAjzF,GAAA,EAKA4hC,EAAAn0B,GAAA7C,EAgBA,OAbAuI,EAAA3L,EAAA/I,EAAA+I,EAAAiN,EACAkhF,EAAAE,MAAA,WACA,KAAA1iF,GAAA3L,EAAA1J,EAAA0J,GACA,KAAAopC,EAAAz9B,EAAA,QAAwBw+B,OAAxB,CACA,IAAAjiC,EAAA8iF,GAAAz/D,EAAAvrB,EAAA2L,EAAA44B,EAAA76B,EAAA0wB,EAAAvO,EAAAn4B,GAEA,KADAiY,GACA,IAAAzD,EAAAgjF,UAAA,IAAAxhF,GAAA,IAAAhW,EAAAi4F,UAAAj4F,EAAAi4F,WAEA,YADAwC,EAAAzjF,KAAAxC,EAAAA,IAJwB,CAQxB,OAAAimF,EAAAzjF,KAAA,KACA,EACAyjF,CACA,EAIAG,QA1FA,SAAAxiE,EAAApxB,GACA,IAAAyzF,EAAAzB,KAEAh5F,EAAAgH,GAAA,GACAgP,EAAA,MAAAhW,EAAAgW,OAAAhW,EAAAgW,OAAAgoE,GACAxmB,EAAA,MAAAx3D,EAAAw3D,OAAAx3D,EAAAw3D,OAAAymB,GACAwc,EAAAzjF,KAAAhB,GACA,IAAA1J,EAAA4qB,GAAAkB,EAAA,SACAp4B,EAAAm4B,MAAAh1B,MAAAW,QAAAs0B,GACAqiE,EAAAzjF,KAAAknE,GAAA9lD,EAAA9rB,EAAAtM,IACA,IAAAiY,EAAA3L,EAAA/I,EAAA+I,EACAsY,GAAA,EAYA,OAXA61E,EAAAE,MAAA,WACA,GAAA1iF,EAAA3L,EAAA1J,EAAA0J,EAEA,OADAsY,IAAcA,GAAA,EAAY61E,EAAAzjF,KAAA,WAAAwgD,IAC1BijC,EAAAzjF,KAAA,MAEA,KAAAiB,GAAA3L,EAAA1J,EAAA0J,GAAA,CACAmuF,EAAAzjF,KAAA8mE,GAAA1lD,EAAA9rB,EAAA2L,EAAAjY,MACAiY,EACA,KACA,CACA,EACAwiF,CACA,EAmEAI,OA1HA,SAAAhjE,EAAA7wB,GACA,IAAAyzF,EAAAzB,KACAh5F,EAAA,MAAAgH,EAAA,GAA2BA,EAC3B,SAAA6wB,GAAA,MAAAA,EAAA,QAAiE,OAAnB4iE,EAAAzjF,KAAA,MAAmByjF,EACjE,IAAAnuF,EAAAgrB,GAAAO,EAAA,SACAohB,OAAAjpC,IAAAhQ,EAAAi5C,GAAAj5C,EAAAi5C,GAAA,IAAAvmC,EAAAumC,EAAA74C,WAAA,GACAg3C,OAAApnC,IAAAhQ,EAAAo3C,GAAAp3C,EAAAo3C,GAAA,KAAA6G,EAAA7G,EAAAh3C,WAAA,GACAk4F,EAAA,IAAAzoE,QAAA,KAAAopB,EAAA,MAAAA,GAAA,MACAzkC,EAAA,GAAAq8B,EAAA,GACA7wC,EAAAm4B,MAAAh1B,MAAAW,QAAA+zB,GAGA,IAFA,IAAA8d,EAAA31C,EAAAg4F,YAAAngE,EAAA,aACA6d,EAAA11C,EAAAg4F,YAAAngE,EAAA,aACAtlB,EAAAjG,EAAA/I,EAAAQ,EAAoBwO,GAAAjG,EAAA1J,EAAAmB,IAAYwO,GAAAojC,EAAApjC,IAAA,IAA0B,SAAAs+B,EAAAt+B,GAAAokB,GAAApkB,IAC1D,IAAA0F,EAAA3L,EAAA/I,EAAA+I,EACAwuF,GAAA,EAAA1xF,EAAA,EAcA,OAbAqxF,EAAAE,MAAA,WACA,IAAAG,EAAyB,OAAZA,GAAA,EAAYL,EAAAzjF,KAAA,UACzB,KAAAiB,GAAA3L,EAAA1J,EAAA0J,GAEA,KADA2L,IACAy9B,EAAAz9B,EAAA,QAAwBw+B,QAExB,OADAjiC,EAAA2jF,GAAAtgE,EAAAvrB,EAAA2L,EAAA,EAAA44B,EAAAn+B,EAAAurC,EAAAhF,EAAAj5C,MAEAA,EAAAu4F,QAAA/jF,EAAAA,EAAArS,QAAAm2F,EAAA,KACA9jF,IAAA,IAAAxU,EAAAi4F,WAAA,OAAAwC,EAAAzjF,MAAA5N,IAAAguC,EAAA,IAAA5iC,GAGA,OAAAimF,EAAAzjF,KAAA,KACA,EACAyjF,CACA,EA8FAM,aA7HA,SAAA9iF,GAA2B+gF,GAAA/gF,CAAA,GA+HpB,MAAA+E,GAAA5d,EAAA4d,Q","sources":["webpack://dash_table/./node_modules/xlsx/xlsx.mjs"],"sourcesContent":["/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */\nvar XLSX = {};\nXLSX.version = '0.18.5';\nvar current_codepage = 1200, current_ansi = 1252;\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ];\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n\t/*::[*/0/*::]*/: 1252, /* ANSI */\n\t/*::[*/1/*::]*/: 65001, /* DEFAULT */\n\t/*::[*/2/*::]*/: 65001, /* SYMBOL */\n\t/*::[*/77/*::]*/: 10000, /* MAC */\n\t/*::[*/128/*::]*/: 932, /* SHIFTJIS */\n\t/*::[*/129/*::]*/: 949, /* HANGUL */\n\t/*::[*/130/*::]*/: 1361, /* JOHAB */\n\t/*::[*/134/*::]*/: 936, /* GB2312 */\n\t/*::[*/136/*::]*/: 950, /* CHINESEBIG5 */\n\t/*::[*/161/*::]*/: 1253, /* GREEK */\n\t/*::[*/162/*::]*/: 1254, /* TURKISH */\n\t/*::[*/163/*::]*/: 1258, /* VIETNAMESE */\n\t/*::[*/177/*::]*/: 1255, /* HEBREW */\n\t/*::[*/178/*::]*/: 1256, /* ARABIC */\n\t/*::[*/186/*::]*/: 1257, /* BALTIC */\n\t/*::[*/204/*::]*/: 1251, /* RUSSIAN */\n\t/*::[*/222/*::]*/: 874, /* THAI */\n\t/*::[*/238/*::]*/: 1250, /* EASTEUROPE */\n\t/*::[*/255/*::]*/: 1252, /* OEM */\n\t/*::[*/69/*::]*/: 6969 /* MISC */\n}/*:any*/);\n\nvar set_ansi = function(cp/*:number*/) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data/*:string*/)/*:Array*/ { var o/*:Array*/ = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data/*:string*/)/*:string*/ {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\n\nvar $cptable;\nfunction set_cptable(cptable) {\n\t$cptable = cptable;\n\tset_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data/*:string*/) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return $cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x/*:number*/)/*:string*/ {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn $cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x/*:number*/)/*:string*/ {\n\t\treturn $cptable.utils.decode(current_ansi, [x])[0];\n\t};\n\tcpdoit();\n}\nexport { set_cptable };\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64_map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nfunction Base64_encode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n for (var i = 0; i < input.length; ) {\n c1 = input.charCodeAt(i++);\n e1 = c1 >> 2;\n c2 = input.charCodeAt(i++);\n e2 = (c1 & 3) << 4 | c2 >> 4;\n c3 = input.charCodeAt(i++);\n e3 = (c2 & 15) << 2 | c3 >> 6;\n e4 = c3 & 63;\n if (isNaN(c2)) {\n e3 = e4 = 64;\n } else if (isNaN(c3)) {\n e4 = 64;\n }\n o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);\n }\n return o;\n}\nfunction Base64_decode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n input = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n for (var i = 0; i < input.length; ) {\n e1 = Base64_map.indexOf(input.charAt(i++));\n e2 = Base64_map.indexOf(input.charAt(i++));\n c1 = e1 << 2 | e2 >> 4;\n o += String.fromCharCode(c1);\n e3 = Base64_map.indexOf(input.charAt(i++));\n c2 = (e2 & 15) << 4 | e3 >> 2;\n if (e3 !== 64) {\n o += String.fromCharCode(c2);\n }\n e4 = Base64_map.indexOf(input.charAt(i++));\n c3 = (e3 & 3) << 6 | e4;\n if (e4 !== 64) {\n o += String.fromCharCode(c3);\n }\n }\n return o;\n}\nvar has_buf = /*#__PURE__*/(function() { return typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node; })();\n\nvar Buffer_from = /*#__PURE__*/(function() {\n\tif(typeof Buffer !== 'undefined') {\n\t\tvar nbfs = !Buffer.from;\n\t\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\t\treturn nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t}\n\treturn function() {};\n})();\n\n\nfunction new_raw_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.alloc ? Buffer.alloc(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s/*:string*/)/*:any*/ {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x/*:string*/)/*:number*/{ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s/*:string*/)/*:any*/ {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data/*:any*/)/*:string*/ {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o/*:Array*/ = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data/*:Array*/)/*:Uint8Array*/ {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data/*:ArrayBuffer|Uint8Array*/)/*:Array*/ {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\n\t/*:: if(data instanceof ArrayBuffer) throw new Error(\"unreachable\"); */\n\tvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = has_buf ? function(bufs) { return Buffer.concat(bufs.map(function(buf) { return Buffer.isBuffer(buf) ? buf : Buffer_from(buf); })); } : function(bufs) {\n\tif(typeof Uint8Array !== \"undefined\") {\n\t\tvar i = 0, maxlen = 0;\n\t\tfor(i = 0; i < bufs.length; ++i) maxlen += bufs[i].length;\n\t\tvar o = new Uint8Array(maxlen);\n\t\tvar len = 0;\n\t\tfor(i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) {\n\t\t\tlen = bufs[i].length;\n\t\t\tif(bufs[i] instanceof Uint8Array) o.set(bufs[i], maxlen);\n\t\t\telse if(typeof bufs[i] == \"string\") { throw \"wtf\"; }\n\t\t\telse o.set(new Uint8Array(bufs[i]), maxlen);\n\t\t}\n\t\treturn o;\n\t}\n\treturn [].concat.apply([], bufs.map(function(buf) { return Array.isArray(buf) ? buf : [].slice.call(buf); }));\n};\n\nfunction utf8decode(content/*:string*/) {\n\tvar out = [], widx = 0, L = content.length + 250;\n\tvar o = new_raw_buf(content.length + 255);\n\tfor(var ridx = 0; ridx < content.length; ++ridx) {\n\t\tvar c = content.charCodeAt(ridx);\n\t\tif(c < 0x80) o[widx++] = c;\n\t\telse if(c < 0x800) {\n\t\t\to[widx++] = (192|((c>>6)&31));\n\t\t\to[widx++] = (128|(c&63));\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64;\n\t\t\tvar d = content.charCodeAt(++ridx)&1023;\n\t\t\to[widx++] = (240|((c>>8)&7));\n\t\t\to[widx++] = (128|((c>>2)&63));\n\t\t\to[widx++] = (128|((d>>6)&15)|((c&3)<<4));\n\t\t\to[widx++] = (128|(d&63));\n\t\t} else {\n\t\t\to[widx++] = (224|((c>>12)&15));\n\t\t\to[widx++] = (128|((c>>6)&63));\n\t\t\to[widx++] = (128|(c&63));\n\t\t}\n\t\tif(widx > L) {\n\t\t\tout.push(o.slice(0, widx));\n\t\t\twidx = 0;\n\t\t\to = new_raw_buf(65535);\n\t\t\tL = 65530;\n\t\t}\n\t}\n\tout.push(o.slice(0, widx));\n\treturn bconcat(out);\n}\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/*::\ndeclare type Block = any;\ndeclare type BufArray = {\n\tnewblk(sz:number):Block;\n\tnext(sz:number):Block;\n\tend():any;\n\tpush(buf:Block):void;\n};\n\ntype RecordHopperCB = {(d:any, Rn:string, RT:number):?boolean;};\n\ntype EvertType = {[string]:string};\ntype EvertNumType = {[string]:number};\ntype EvertArrType = {[string]:Array};\n\ntype StringConv = {(string):string};\n\n*/\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nfunction _strrev(x/*:string*/)/*:string*/ { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = /*#__PURE__*/Math.pow(2,32);\nfunction pad0r(v/*:any*/,d/*:number*/)/*:string*/{if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\n/* yes, in 2022 this is still faster than string compare */\nfunction SSF_isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days/*:Array >*/ = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months/*:Array >*/ = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction SSF_init_table(t/*:any*/) {\n\tif(!t) t = {};\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n\treturn t;\n}\n/* repeated to satiate webpack */\nvar table_fmt = {\n\t0: 'General',\n\t1: '0',\n\t2: '0.00',\n\t3: '#,##0',\n\t4: '#,##0.00',\n\t9: '0%',\n\t10: '0.00%',\n\t11: '0.00E+00',\n\t12: '# ?/?',\n\t13: '# ??/??',\n\t14: 'm/d/yy',\n\t15: 'd-mmm-yy',\n\t16: 'd-mmm',\n\t17: 'mmm-yy',\n\t18: 'h:mm AM/PM',\n\t19: 'h:mm:ss AM/PM',\n\t20: 'h:mm',\n\t21: 'h:mm:ss',\n\t22: 'm/d/yy h:mm',\n\t37: '#,##0 ;(#,##0)',\n\t38: '#,##0 ;[Red](#,##0)',\n\t39: '#,##0.00;(#,##0.00)',\n\t40: '#,##0.00;[Red](#,##0.00)',\n\t45: 'mm:ss',\n\t46: '[h]:mm:ss',\n\t47: 'mmss.0',\n\t48: '##0.0E+0',\n\t49: '@',\n\t56: '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"'\n};\n\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar SSF_default_map = {\n\t5: 37, 6: 38, 7: 39, 8: 40, // 5 -> 37 ... 8 -> 40\n\n\t23: 0, 24: 0, 25: 0, 26: 0, // 23 -> 0 ... 26 -> 0\n\n\t27: 14, 28: 14, 29: 14, 30: 14, 31: 14, // 27 -> 14 ... 31 -> 14\n\n\t50: 14, 51: 14, 52: 14, 53: 14, 54: 14, // 50 -> 14 ... 58 -> 14\n\t55: 14, 56: 14, 57: 14, 58: 14,\n\t59: 1, 60: 2, 61: 3, 62: 4, // 59 -> 1 ... 62 -> 4\n\n\t67: 9, 68: 10, // 67 -> 9 ... 68 -> 10\n\t69: 12, 70: 13, 71: 14, // 69 -> 12 ... 71 -> 14\n\t72: 14, 73: 15, 74: 16, 75: 17, // 72 -> 14 ... 75 -> 17\n\t76: 20, 77: 21, 78: 22, // 76 -> 20 ... 78 -> 22\n\t79: 45, 80: 46, 81: 47, // 79 -> 45 ... 81 -> 47\n\t82: 0 // 82 -> 0 ... 65536 -> 0 (omitted)\n};\n\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar SSF_default_str = {\n\t// 5 -- Currency, 0 decimal, black negative\n\t5: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t63: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\n\t// 6 -- Currency, 0 decimal, red negative\n\t6: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t64: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\n\t// 7 -- Currency, 2 decimal, black negative\n\t7: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t65: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 8 -- Currency, 2 decimal, red negative\n\t8: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t66: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 41 -- Accounting, 0 decimal, No Symbol\n\t41: '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)',\n\n\t// 42 -- Accounting, 0 decimal, $ Symbol\n\t42: '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)',\n\n\t// 43 -- Accounting, 2 decimal, No Symbol\n\t43: '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)',\n\n\t// 44 -- Accounting, 2 decimal, $ Symbol\n\t44: '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)'\n};\n\nfunction SSF_frac(x/*:number*/, D/*:number*/, mixed/*:?boolean*/)/*:Array*/ {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = SSF_fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nvar SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0);\nvar SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime();\nvar SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= SSFbase1904) epoch += 24*60*60*1000;\n\treturn (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\n/* exponent >= -9 and <= 9 */\nfunction SSF_strip_decimal(o/*:string*/)/*:string*/ {\n\treturn (o.indexOf(\".\") == -1) ? o : o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)$/, \"$1\");\n}\n\n/* General Exponential always shows 2 digits exp and trims the mantissa */\nfunction SSF_normalize_exp(o/*:string*/)/*:string*/ {\n\tif(o.indexOf(\"E\") == -1) return o;\n\treturn o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/,\"$1E\").replace(/(E[+-])(\\d)$/,\"$10$2\");\n}\n\n/* exponent >= -9 and <= 9 */\nfunction SSF_small_exp(v/*:number*/)/*:string*/ {\n\tvar w = (v<0?12:11);\n\tvar o = SSF_strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\n\n/* exponent >= 11 or <= -10 likely exponential */\nfunction SSF_large_exp(v/*:number*/)/*:string*/ {\n\tvar o = SSF_strip_decimal(v.toFixed(11));\n\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n}\n\nfunction SSF_general_num(v/*:number*/)/*:string*/ {\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = SSF_small_exp(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = SSF_large_exp(v);\n\n\treturn SSF_strip_decimal(SSF_normalize_exp(o.toUpperCase()));\n}\n\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tThe longest 32-bit integer text is \"-2147483648\", exactly 11 chars\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction SSF_general(v/*:any*/, opts/*:any*/) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : SSF_general_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\n\nfunction SSF_fix_hijri(date/*:Date*/, o/*:[number, number, number]*/) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\nfunction SSF_write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:string*/ {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\n\t\t\t/*::if(!ss0) ss0 = 0; */\n\t\t\tif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n\n\n/*jshint -W086 */\n/*jshint +W086 */\nfunction commaify(s/*:string*/)/*:string*/ {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar pct1 = /%/g;\nfunction write_num_pct(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\n\nfunction write_num_cm(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\n\nfunction write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar o/*:string*/;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str/*:string*/)/*:string*/ {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val/*:number*/, d/*:number*/)/*:string*/ { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val/*:number*/, d/*:number*/)/*:number*/ {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val/*:number*/, d/*:number*/)/*:number*/ {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val/*:number*/)/*:string*/ {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/ {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(/*::(*/r/*::||[\"\"])*/[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\to = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\t\treturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri*/ {\n\tvar out/*:Array*/ = [];\n\tvar in_str = false/*, cc*/;\n\tfor(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) {\n\t\tcase 34: /* '\"' */\n\t\t\tin_str = !in_str; break;\n\t\tcase 95: case 42: case 92: /* '_' '*' '\\\\' */\n\t\t\t++i; break;\n\t\tcase 59: /* ';' */\n\t\t\tout[out.length] = fmt.substr(j,i-j);\n\t\t\tj = i+1;\n\t}\n\tout[out.length] = fmt.substr(j);\n\tif(in_str === true) throw new Error(\"Format |\" + fmt + \"| unterminated string \");\n\treturn out;\n}\n\nvar SSF_abstime = /\\[[HhMmSs\\u0E0A\\u0E19\\u0E17]*\\]/;\nfunction fmt_is_date(fmt/*:string*/)/*:boolean*/ {\n\tvar i = 0, /*cc = 0,*/ c = \"\", o = \"\";\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': if(SSF_isgeneral(fmt, i)) i+= 6; i++; break;\n\t\t\tcase '\"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;\n\t\t\tcase '\\\\': i+=2; break;\n\t\t\tcase '_': i+=2; break;\n\t\t\tcase '@': ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") return true;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"AM/PM\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"上午/下午\") return true;\n\t\t\t\t++i; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.match(SSF_abstime)) return true;\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\twhile(i < fmt.length && (\"0#?.,E+-%\".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!SSF_isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=SSF_parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(SSF_abstime)) {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\n\t\t\t\t/*::if(!dt) throw \"unreachable\"; */\n\t\t\t\tout[i].v = SSF_write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = SSF_general(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\n\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f/*:string*/, v/*:any*/) {\n\tvar fmt = SSF_split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(/\\[[=<>]/) != null || fmt[1].match(/\\[[=<>]/) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table/*:any*/) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[SSF_default_map[fmt]]) || table_fmt[SSF_default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = SSF_default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(SSF_isgeneral(sfmt,0)) return SSF_general(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(SSF_isgeneral(f[1])) return SSF_general(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction SSF_load(fmt/*:string*/, idx/*:?number*/)/*:number*/ {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tfor(var i = 0; i < 0x0188; ++i) {\n/*::if(typeof idx != 'number') return 0x188; */\n\t\t\tif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tif(idx < 0) idx = 0x187;\n\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\ttable_fmt[idx] = fmt;\n\treturn idx;\n}\nfunction SSF_load_table(tbl/*:SSFTable*/)/*:void*/ {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) SSF_load(tbl[i], i);\n}\n\nfunction make_ssf() {\n\ttable_fmt = SSF_init_table();\n}\n\nvar SSF = {\n\tformat: SSF_format,\n\tload: SSF_load,\n\t_table: table_fmt,\n\tload_table: SSF_load_table,\n\tparse_date_code: SSF_parse_date_code,\n\tis_date: fmt_is_date,\n\tget_table: function get_table() { return SSF._table = table_fmt; }\n};\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n}/*:any*/);\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ {\n\tvar fmt = typeof dateNF == \"number\" ? table_fmt[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\n/*::\ndeclare var ReadShift:any;\ndeclare var CheckField:any;\ndeclare var prep_blob:any;\ndeclare var __readUInt32LE:any;\ndeclare var __readInt32LE:any;\ndeclare var __toBuffer:any;\ndeclare var __utf16le:any;\ndeclare var bconcat:any;\ndeclare var s2a:any;\ndeclare var chr0:any;\ndeclare var chr1:any;\ndeclare var has_buf:boolean;\ndeclare var new_buf:any;\ndeclare var new_raw_buf:any;\ndeclare var new_unsafe_buf:any;\ndeclare var Buffer_from:any;\n*/\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/*::\ntype SectorEntry = {\n\tname?:string;\n\tnodes?:Array;\n\tdata:RawBytes;\n};\ntype SectorList = {\n\t[k:string|number]:SectorEntry;\n\tname:?string;\n\tfat_addrs:Array;\n\tssz:number;\n}\ntype CFBFiles = {[n:string]:CFBEntry};\n*/\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32 = /*#__PURE__*/(function() {\nvar CRC32 = {};\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table()/*:any*/ {\n\tvar c = 0, table/*:Array*/ = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table/*:Array*/ = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B/*:Uint8Array|Array*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\nreturn CRC32;\n})();\n/* [MS-CFB] v20171201 */\nvar CFB = /*#__PURE__*/(function _CFB(){\nvar exports = {};\nexports.version = '1.2.1';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l/*:string*/, r/*:string*/)/*:number*/ {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf/*:CFBlob*/, date/*:Date|string*/) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms/*:number*/ = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd/*:number*/ = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf/*:CFBlob*/)/*:Date*/ {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob/*:CFBlob*/)/*:any*/ {\n\tprep_blob(blob, 0);\n\tvar o = /*::(*/{}/*:: :any)*/;\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs/*:: = require('fs'); */;\nfunction get_fs() { return fs || (fs = {}); }\nfunction parse(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif((file[0] | 0x20) == 0x6d && (file[1]|0x20) == 0x69) return parse_mad(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs/*:Array*/ = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob/*:CFBlob*/ = /*::(*/file.slice(0,512)/*:: :any)*/;\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = /*::(*/file.slice(0,ssz)/*:: :any)*/; prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header/*:RawBytes*/ = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt/*:number*/ = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors/*:Array*/ = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list/*:SectorList*/ = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files/*:CFBFiles*/ = {}, Paths/*:Array*/ = [], FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob/*:CFBlob*/)/*:[number, number]*/ {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver/*:number*/ = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob/*:CFBlob*/, mver/*:number*/)/*:void*/ {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file/*:RawBytes*/, ssz/*:number*/)/*:Array*/ {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors/*:Array*/ = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI/*:CFBFileIndex*/, FP/*:Array*/, Paths/*:Array*/)/*:void*/ {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad/*:Array*/ = [], q/*:Array*/ = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry/*:CFBEntry*/, payload/*:RawBytes*/, mini/*:?RawBytes*/)/*:CFBlob*/ {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size)/*:any*/);\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0)/*:any*/);\n\treturn (bconcat(o).slice(0, entry.size)/*:any*/);\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx/*:number*/, cnt/*:number*/, sectors/*:Array*/, ssz/*:number*/, fat_addrs)/*:void*/ {\n\tvar q/*:number*/ = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors/*:Array*/, start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/, chkd/*:?Array*/)/*:SectorEntry*/ {\n\tvar buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors/*:Array*/, dir_start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/)/*:SectorList*/ {\n\tvar sl = sectors.length, sector_list/*:SectorList*/ = ([]/*:any*/);\n\tvar chkd/*:Array*/ = [], buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]/*:Array*/);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr/*:number*/ = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])}/*:SectorEntry*/);\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sectors/*:Array*/, Paths/*:Array*/, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob/*:CFBlob*/ = /*::(*/sector.slice(i, i+128)/*:: :any)*/;\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o/*:CFBEntry*/ = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/);\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob/*:RawBytes|CFBlob*/, offset/*:number*/)/*:Date*/ {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename/*:string*/, options/*:CFBReadOpts*/) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob/*:RawBytes|string*/, options/*:CFBReadOpts*/) {\n\tvar type = options && options.type;\n\tif(!type) {\n\t\tif(has_buf && Buffer.isBuffer(blob)) type = \"buffer\";\n\t}\n\tswitch(type || \"base64\") {\n\t\tcase \"file\": /*:: if(typeof blob !== 'string') throw \"Must pass a filename when type='file'\"; */return read_file(blob, options);\n\t\tcase \"base64\": /*:: if(typeof blob !== 'string') throw \"Must pass a base64-encoded binary string when type='file'\"; */return parse(s2a(Base64_decode(blob)), options);\n\t\tcase \"binary\": /*:: if(typeof blob !== 'string') throw \"Must pass a binary string when type='file'\"; */return parse(s2a(blob), options);\n\t}\n\treturn parse(/*::typeof blob == 'string' ? new Buffer(blob, 'utf-8') : */blob, options);\n}\n\nfunction init_cfb(cfb/*:CFBContainer*/, opts/*:?any*/)/*:void*/ {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 }/*:any*/);\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb/*:CFBContainer*/)/*:void*/ {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }/*:any*/));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\t// Track which names exist\n\tvar fullPaths = Object.create ? Object.create(null) : {};\n\tvar data/*:Array<[string, CFBEntry]>*/ = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tfullPaths[cfb.FullPaths[i]] = true;\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = fullPaths[dad];\n\t\tif(!s) {\n\t\t\tdata.push([dad, ({\n\t\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\t\ttype: 1,\n\t\t\t\tclsid: HEADER_CLSID,\n\t\t\t\tct: now, mt: now,\n\t\t\t\tcontent: null\n\t\t\t}/*:any*/)]);\n\t\t\t// Add name to set\n\t\t\tfullPaths[dad] = true;\n\t\t}\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar _opts = options || {};\n\t/* MAD is order-sensitive, skip rebuild and sort */\n\tif(_opts.fileType == 'mad') return write_mad(cfb, _opts);\n\trebuild_cfb(cfb);\n\tswitch(_opts.fileType) {\n\t\tcase 'zip': return write_zip(cfb, _opts);\n\t\t//case 'mad': return write_mad(cfb, _opts);\n\t}\n\tvar L = (function(cfb/*:CFBContainer*/)/*:Array*/{\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\n\t\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\t\tvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w/*:number*/)/*:void*/ {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\n\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\tflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm/*:string*/ = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 511) & -512;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size > 0 && file.size < 0x1000) {\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 63) & -64;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tif (has_buf) {\n\t\to.l = o.length;\n\t} else {\n\t\t// When using Buffer, already 0-filled\n\t\twhile(o.l < o.length) o.write_shift(1, 0);\n\t}\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb/*:CFBContainer*/, path/*:string*/)/*:?CFBEntry*/ {\n\tvar UCFullPaths/*:Array*/ = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths/*:Array*/ = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k/*:boolean*/ = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath/*:string*/ = path.toUpperCase();\n\tvar w/*:number*/ = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb/*:CFBContainer*/, filename/*:string*/, options/*:CFBWriteOpts*/)/*:void*/ {\n\tget_fs();\n\tvar o = _write(cfb, options);\n\t/*:: if(typeof Buffer == 'undefined' || !Buffer.isBuffer(o) || !(o instanceof Buffer)) throw new Error(\"unreachable\"); */\n\tfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o/*:RawBytes*/)/*:string*/ {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type || \"buffer\") {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o/*:any*/)); return o;\n\t\tcase \"binary\": return typeof o == \"string\" ? o : a2s(o);\n\t\tcase \"base64\": return Base64_encode(typeof o == \"string\" ? o : a2s(o));\n\t\tcase \"buffer\": if(has_buf) return Buffer.isBuffer(o) ? o : Buffer_from(o);\n\t\t\t/* falls through */\n\t\tcase \"array\": return typeof o == \"string\" ? s2a(o) : o;\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* helpers for unaligned bit writes */\nfunction write_bits_3(buf, bl, v) { var w = bl & 7, h = bl >>> 3;\n\tif(w <= 5) buf[h] |= (v & 7) << w;\n\telse {\n\t\tbuf[h] |= (v << w) & 0xFF;\n\t\tbuf[h+1] = (v&7) >> (8-w);\n\t}\n\treturn bl + 3;\n}\n\nfunction write_bits_1(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv = (v&1) << w;\n\tbuf[h] |= v;\n\treturn bl + 1;\n}\nfunction write_bits_8(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v;\n\treturn bl + 8;\n}\nfunction write_bits_16(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v & 0xFF;\n\tbuf[h+2] = v >>> 8;\n\treturn bl + 16;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz/*:number*/) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < L; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX/*:number*/)/*:number*/ {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<*/ = [];\n\tvar i = 0;\n\tfor(;i<32; i++) dlens.push(5);\n\tbuild_tree(dlens, fix_dmap, 32);\n\n\tvar clens/*:Array*/ = [];\n\ti = 0;\n\tfor(; i<=143; i++) clens.push(8);\n\tfor(; i<=255; i++) clens.push(9);\n\tfor(; i<=279; i++) clens.push(7);\n\tfor(; i<=287; i++) clens.push(8);\n\tbuild_tree(clens, fix_lmap, 288);\n})();var _deflateRaw = /*#__PURE__*/(function _deflateRawIIFE() {\n\tvar DST_LN_RE = use_typed_arrays ? new Uint8Array(0x8000) : [];\n\tvar j = 0, k = 0;\n\tfor(; j < DST_LN.length - 1; ++j) {\n\t\tfor(; k < DST_LN[j+1]; ++k) DST_LN_RE[k] = j;\n\t}\n\tfor(;k < 32768; ++k) DST_LN_RE[k] = 29;\n\n\tvar LEN_LN_RE = use_typed_arrays ? new Uint8Array(0x103) : [];\n\tfor(j = 0, k = 0; j < LEN_LN.length - 1; ++j) {\n\t\tfor(; k < LEN_LN[j+1]; ++k) LEN_LN_RE[k] = j;\n\t}\n\n\tfunction write_stored(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t}\n\n\t/* Fixed Huffman */\n\tfunction write_huff_fixed(data, out) {\n\t\tvar bl = 0;\n\t\tvar boff = 0;\n\t\tvar addrs = use_typed_arrays ? new Uint16Array(0x8000) : [];\n\t\twhile(boff < data.length) {\n\t\t\tvar L = /* data.length - boff; */ Math.min(0xFFFF, data.length - boff);\n\n\t\t\t/* write a stored block for short data */\n\t\t\tif(L < 10) {\n\t\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length)); // jshint ignore:line\n\t\t\t\tif(bl & 7) bl += 8 - (bl & 7);\n\t\t\t\tout.l = (bl / 8) | 0;\n\t\t\t\tout.write_shift(2, L);\n\t\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t\t\tbl = out.l * 8;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length) + 2); // jshint ignore:line\n\t\t\tvar hash = 0;\n\t\t\twhile(L-- > 0) {\n\t\t\t\tvar d = data[boff];\n\t\t\t\thash = ((hash << 5) ^ d) & 0x7FFF;\n\n\t\t\t\tvar match = -1, mlen = 0;\n\n\t\t\t\tif((match = addrs[hash])) {\n\t\t\t\t\tmatch |= boff & ~0x7FFF;\n\t\t\t\t\tif(match > boff) match -= 0x8000;\n\t\t\t\t\tif(match < boff) while(data[match + mlen] == data[boff + mlen] && mlen < 250) ++mlen;\n\t\t\t\t}\n\n\t\t\t\tif(mlen > 2) {\n\t\t\t\t\t/* Copy Token */\n\t\t\t\t\td = LEN_LN_RE[mlen];\n\t\t\t\t\tif(d <= 22) bl = write_bits_8(out, bl, bitswap8[d+1]>>1) - 1;\n\t\t\t\t\telse {\n\t\t\t\t\t\twrite_bits_8(out, bl, 3);\n\t\t\t\t\t\tbl += 5;\n\t\t\t\t\t\twrite_bits_8(out, bl, bitswap8[d-23]>>5);\n\t\t\t\t\t\tbl += 3;\n\t\t\t\t\t}\n\t\t\t\t\tvar len_eb = (d < 8) ? 0 : ((d - 4)>>2);\n\t\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, mlen - LEN_LN[d]);\n\t\t\t\t\t\tbl += len_eb;\n\t\t\t\t\t}\n\n\t\t\t\t\td = DST_LN_RE[boff - match];\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]>>3);\n\t\t\t\t\tbl -= 3;\n\n\t\t\t\t\tvar dst_eb = d < 4 ? 0 : (d-2)>>1;\n\t\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, boff - match - DST_LN[d]);\n\t\t\t\t\t\tbl += dst_eb;\n\t\t\t\t\t}\n\t\t\t\t\tfor(var q = 0; q < mlen; ++q) {\n\t\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t\thash = ((hash << 5) ^ data[boff]) & 0x7FFF;\n\t\t\t\t\t\t++boff;\n\t\t\t\t\t}\n\t\t\t\t\tL-= mlen - 1;\n\t\t\t\t} else {\n\t\t\t\t\t/* Literal Token */\n\t\t\t\t\tif(d <= 143) d = d + 48;\n\t\t\t\t\telse bl = write_bits_1(out, bl, 1);\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]);\n\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t++boff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbl = write_bits_8(out, bl, 0) - 1;\n\t\t}\n\t\tout.l = ((bl + 7)/8)|0;\n\t\treturn out.l;\n\t}\n\treturn function _deflateRaw(data, out) {\n\t\tif(data.length < 8) return write_stored(data, out);\n\t\treturn write_huff_fixed(data, out);\n\t};\n})();\n\nfunction _deflate(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n}\n/* modified inflate function also moves original read head */\n\nvar dyn_lmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_dmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_cmap = use_typed_arrays ? new Uint16Array(128) : zero_fill_array(128);\nvar dyn_len_1 = 1, dyn_len_2 = 1;\n\n/* 5.5.3 Expanding Huffman Codes */\nfunction dyn(data, boff/*:number*/) {\n\t/* nomenclature from RFC1951 refers to bit values; these are offset by the implicit constant */\n\tvar _HLIT = read_bits_5(data, boff) + 257; boff += 5;\n\tvar _HDIST = read_bits_5(data, boff) + 1; boff += 5;\n\tvar _HCLEN = read_bits_4(data, boff) + 4; boff += 4;\n\tvar w = 0;\n\n\t/* grab and store code lengths */\n\tvar clens = use_typed_arrays ? new Uint8Array(19) : zero_fill_array(19);\n\tvar ctree = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n\tvar maxlen = 1;\n\tvar bl_count = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar next_code = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar L = clens.length; /* 19 */\n\tfor(var i = 0; i < _HCLEN; ++i) {\n\t\tclens[CLEN_ORDER[i]] = w = read_bits_3(data, boff);\n\t\tif(maxlen < w) maxlen = w;\n\t\tbl_count[w]++;\n\t\tboff += 3;\n\t}\n\n\t/* build code tree */\n\tvar ccode = 0;\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) next_code[i] = ccode = (ccode + bl_count[i-1])<<1;\n\tfor(i = 0; i < L; ++i) if((ccode = clens[i]) != 0) ctree[i] = next_code[ccode]++;\n\t/* cmap[7 bits from stream] = (off&7) + (lit<<3) */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bitswap8[ctree[i]]>>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<*/ = [];\n\tmaxlen = 1;\n\tfor(; hcodes.length < _HLIT + _HDIST;) {\n\t\tccode = dyn_cmap[read_bits_7(data, boff)];\n\t\tboff += ccode & 7;\n\t\tswitch((ccode >>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz/*:number*/) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(sz > 0) {\n\t\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\t\twhile(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\t}\n\t\t\tcontinue;\n\t\t} else if((header >> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt + 100); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\tif(usz) return [outbuf, (boff+7)>>>3];\n\treturn [outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tvar blob/*:CFBlob*/ = /*::(*/file/*:: :any)*/;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(/*::(*/blob.slice(blob.l+namelen, blob.l+namelen+efsz)/*:: :any)*/);\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob/*:CFBlob*/, csz/*:number*/, usz/*:number*/, o/*:CFBContainer*/, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(/*::(*/blob.slice(blob.l, blob.l + efsz)/*:: :any)*/);\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break; // TODO: scan for magic number\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\t//var _crc32 = CRC32.buf(data, 0);\n\t//if((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o/*:CFBlob*/ = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(/*::((*/fi.content/*::||[]):any)*/, 0);\n\n\t\tvar outbuf = fi.content/*::||[]*/;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: extra fields? */\n\n\t\t/* TODO: encryption header ? */\n\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out/*:any*/)), bconcat(cdirs), o]/*:any*/));\n}\nvar ContentTypeMap = ({\n\t\"htm\": \"text/html\",\n\t\"xml\": \"text/xml\",\n\n\t\"gif\": \"image/gif\",\n\t\"jpg\": \"image/jpeg\",\n\t\"png\": \"image/png\",\n\n\t\"mso\": \"application/x-mso\",\n\t\"thmx\": \"application/vnd.ms-officetheme\",\n\t\"sh33tj5\": \"application/octet-stream\"\n}/*:any*/);\n\nfunction get_content_type(fi/*:CFBEntry*/, fp/*:string*/)/*:string*/ {\n\tif(fi.ctype) return fi.ctype;\n\n\tvar ext = fi.name || \"\", m = ext.match(/\\.([^\\.]+)$/);\n\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\n\tif(fp) {\n\t\tm = (ext = fp).match(/[\\.\\\\]([^\\.\\\\])+$/);\n\t\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\t}\n\n\treturn \"application/octet-stream\";\n}\n\n/* 76 character chunks TODO: intertwine encoding */\nfunction write_base64_76(bstr/*:string*/)/*:string*/ {\n\tvar data = Base64_encode(bstr);\n\tvar o = [];\n\tfor(var i = 0; i < data.length; i+= 76) o.push(data.slice(i, i+76));\n\treturn o.join(\"\\r\\n\") + \"\\r\\n\";\n}\n\n/*\nRules for QP:\n\t- escape =## applies for all non-display characters and literal \"=\"\n\t- space or tab at end of line must be encoded\n\t- \\r\\n newlines can be preserved, but bare \\r and \\n must be escaped\n\t- lines must not exceed 76 characters, use soft breaks =\\r\\n\n\nTODO: Some files from word appear to write line extensions with bare equals:\n\n```\n*/ = [], split = encoded.split(\"\\r\\n\");\n\tfor(var si = 0; si < split.length; ++si) {\n\t\tvar str = split[si];\n\t\tif(str.length == 0) { o.push(\"\"); continue; }\n\t\tfor(var i = 0; i < str.length;) {\n\t\t\tvar end = 76;\n\t\t\tvar tmp = str.slice(i, i + end);\n\t\t\tif(tmp.charAt(end - 1) == \"=\") end --;\n\t\t\telse if(tmp.charAt(end - 2) == \"=\") end -= 2;\n\t\t\telse if(tmp.charAt(end - 3) == \"=\") end -= 3;\n\t\t\ttmp = str.slice(i, i + end);\n\t\t\ti += end;\n\t\t\tif(i < str.length) tmp += \"=\";\n\t\t\to.push(tmp);\n\t\t}\n\t}\n\n\treturn o.join(\"\\r\\n\");\n}\nfunction parse_quoted_printable(data/*:Array*/)/*:RawBytes*/ {\n\tvar o = [];\n\n\t/* unify long lines */\n\tfor(var di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\twhile(di <= data.length && line.charAt(line.length - 1) == \"=\") line = line.slice(0, line.length - 1) + data[++di];\n\t\to.push(line);\n\t}\n\n\t/* decode */\n\tfor(var oi = 0; oi < o.length; ++oi) o[oi] = o[oi].replace(/[=][0-9A-Fa-f]{2}/g, function($$) { return String.fromCharCode(parseInt($$.slice(1), 16)); });\n\treturn s2a(o.join(\"\\r\\n\"));\n}\n\n\nfunction parse_mime(cfb/*:CFBContainer*/, data/*:Array*/, root/*:string*/)/*:void*/ {\n\tvar fname = \"\", cte = \"\", ctype = \"\", fdata;\n\tvar di = 0;\n\tfor(;di < 10; ++di) {\n\t\tvar line = data[di];\n\t\tif(!line || line.match(/^\\s*$/)) break;\n\t\tvar m = line.match(/^(.*?):\\s*([^\\s].*)$/);\n\t\tif(m) switch(m[1].toLowerCase()) {\n\t\t\tcase \"content-location\": fname = m[2].trim(); break;\n\t\t\tcase \"content-type\": ctype = m[2].trim(); break;\n\t\t\tcase \"content-transfer-encoding\": cte = m[2].trim(); break;\n\t\t}\n\t}\n\t++di;\n\tswitch(cte.toLowerCase()) {\n\t\tcase 'base64': fdata = s2a(Base64_decode(data.slice(di).join(\"\"))); break;\n\t\tcase 'quoted-printable': fdata = parse_quoted_printable(data.slice(di)); break;\n\t\tdefault: throw new Error(\"Unsupported Content-Transfer-Encoding \" + cte);\n\t}\n\tvar file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true});\n\tif(ctype) file.ctype = ctype;\n}\n\nfunction parse_mad(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tif(a2s(file.slice(0,13)).toLowerCase() != \"mime-version:\") throw new Error(\"Unsupported MAD header\");\n\tvar root = (options && options.root || \"\");\n\t// $FlowIgnore\n\tvar data = (has_buf && Buffer.isBuffer(file) ? file.toString(\"binary\") : a2s(file)).split(\"\\r\\n\");\n\tvar di = 0, row = \"\";\n\n\t/* if root is not specified, scan for the common prefix */\n\tfor(di = 0; di < data.length; ++di) {\n\t\trow = data[di];\n\t\tif(!/^Content-Location:/i.test(row)) continue;\n\t\trow = row.slice(row.indexOf(\"file\"));\n\t\tif(!root) root = row.slice(0, row.lastIndexOf(\"/\") + 1);\n\t\tif(row.slice(0, root.length) == root) continue;\n\t\twhile(root.length > 0) {\n\t\t\troot = root.slice(0, root.length - 1);\n\t\t\troot = root.slice(0, root.lastIndexOf(\"/\") + 1);\n\t\t\tif(row.slice(0,root.length) == root) break;\n\t\t}\n\t}\n\n\tvar mboundary = (data[1] || \"\").match(/boundary=\"(.*?)\"/);\n\tif(!mboundary) throw new Error(\"MAD cannot find boundary\");\n\tvar boundary = \"--\" + (mboundary[1] || \"\");\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o);\n\tvar start_di, fcnt = 0;\n\tfor(di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\tif(line !== boundary && line !== boundary + \"--\") continue;\n\t\tif(fcnt++) parse_mime(o, data.slice(start_di, di), root);\n\t\tstart_di = di;\n\t}\n\treturn o;\n}\n\nfunction write_mad(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:string*/ {\n\tvar opts = options || {};\n\tvar boundary = opts.boundary || \"SheetJS\";\n\tboundary = '------=' + boundary;\n\n\tvar out = [\n\t\t'MIME-Version: 1.0',\n\t\t'Content-Type: multipart/related; boundary=\"' + boundary.slice(2) + '\"',\n\t\t'',\n\t\t'',\n\t\t''\n\t];\n\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tfor(var i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length);\n\t\tfi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\n\t\t/* Normalize filename */\n\t\tfp = fp.replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7E-\\xFF]/g, function(c) {\n\t\t\treturn \"_x\" + c.charCodeAt(0).toString(16) + \"_\";\n\t\t}).replace(/[\\u0080-\\uFFFF]/g, function(u) {\n\t\t\treturn \"_u\" + u.charCodeAt(0).toString(16) + \"_\";\n\t\t});\n\n\t\t/* Extract content as binary string */\n\t\tvar ca = fi.content;\n\t\t// $FlowIgnore\n\t\tvar cstr = has_buf && Buffer.isBuffer(ca) ? ca.toString(\"binary\") : a2s(ca);\n\n\t\t/* 4/5 of first 1024 chars ascii -> quoted printable, else base64 */\n\t\tvar dispcnt = 0, L = Math.min(1024, cstr.length), cc = 0;\n\t\tfor(var csl = 0; csl <= L; ++csl) if((cc=cstr.charCodeAt(csl)) >= 0x20 && cc < 0x80) ++dispcnt;\n\t\tvar qp = dispcnt >= L * 4 / 5;\n\n\t\tout.push(boundary);\n\t\tout.push('Content-Location: ' + (opts.root || 'file:///C:/SheetJS/') + fp);\n\t\tout.push('Content-Transfer-Encoding: ' + (qp ? 'quoted-printable' : 'base64'));\n\t\tout.push('Content-Type: ' + get_content_type(fi, fp));\n\t\tout.push('');\n\n\t\tout.push(qp ? write_quoted_printable(cstr) : write_base64_76(cstr));\n\t}\n\tout.push(boundary + '--\\r\\n');\n\treturn out.join(\"\\r\\n\");\n}\nfunction cfb_new(opts/*:?any*/)/*:CFBContainer*/ {\n\tvar o/*:CFBContainer*/ = ({}/*:any*/);\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb/*:CFBContainer*/, name/*:string*/, content/*:?RawBytes*/, opts/*:?any*/)/*:CFBEntry*/ {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath/*:string*/ = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2}/*:any*/);\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\n\t/*:: if(!file) throw new Error(\"unreachable\"); */\n\tfile.content = (content/*:any*/);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb/*:CFBContainer*/, name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb/*:CFBContainer*/, old_name/*:string*/, new_name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb/*:CFBContainer*/)/*:void*/ { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nlet _fs = void 0;\nfunction set_fs(fs) { _fs = fs; }\nexport { set_fs };\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tif(typeof Deno !== 'undefined') {\n\t\t/* in this spot, it's safe to assume typed arrays and TextEncoder/TextDecoder exist */\n\t\tif(enc && typeof payload == \"string\") switch(enc) {\n\t\t\tcase \"utf8\": payload = new TextEncoder(enc).encode(payload); break;\n\t\t\tcase \"binary\": payload = s2ab(payload); break;\n\t\t\t/* TODO: binary equivalent */\n\t\t\tdefault: throw new Error(\"Unsupported encoding \" + enc);\n\t\t}\n\t\treturn Deno.writeFileSync(fname, payload);\n\t}\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\n\t/*:: declare var IE_SaveFile: any; */\n\tif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\n\t\t/*:: declare var navigator: any; */\n\t\tif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\n\t\t/*:: declare var saveAs: any; */\n\t\tif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\n\t\t\t/*:: declare var chrome: any; */\n\t\t\tif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */\n\t\t\t\ta.download = fname; a.href = url; document.body.appendChild(a); a.click();\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */ document.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path/*:string*/) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\tif(typeof Deno !== 'undefined') return Deno.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o/*:any*/)/*:Array*/ {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj/*:any*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj/*:any*/)/*:EvertNumType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj/*:any*/)/*:EvertArrType*/ {\n\tvar o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nfunction datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\tvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nvar refdate = /*#__PURE__*/new Date();\nvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\nvar refoffset = /*#__PURE__*/refdate.getTimezoneOffset();\nfunction numdate(v/*:number*/)/*:Date*/ {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\tif (out.getTimezoneOffset() !== refoffset) {\n\t\tout.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000);\n\t}\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z');\nvar good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1;\nvar good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ {\n\tvar d = new Date(str);\n\tif(good_pd) {\n\t\t/*:: if(fixdate == null) fixdate = 0; */\n\t\tif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr/*:Array*/, debomit)/*:string*/ {\n\tif(has_buf && Buffer.isBuffer(arr)) {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(arr.slice(2).toString(\"utf16le\"));\n\t\t\tif(arr[1] == 0xFE && arr[2] == 0xFF) return utf8write(utf16beread(arr.slice(2).toString(\"binary\")));\n\t\t}\n\t\treturn arr.toString(\"binary\");\n\t}\n\n\tif(typeof TextDecoder !== \"undefined\") try {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(new TextDecoder(\"utf-16le\").decode(arr.slice(2)));\n\t\t\tif(arr[0] == 0xFE && arr[1] == 0xFF) return utf8write(new TextDecoder(\"utf-16be\").decode(arr.slice(2)));\n\t\t}\n\t\tvar rev = {\n\t\t\t\"\\u20ac\": \"\\x80\", \"\\u201a\": \"\\x82\", \"\\u0192\": \"\\x83\", \"\\u201e\": \"\\x84\",\n\t\t\t\"\\u2026\": \"\\x85\", \"\\u2020\": \"\\x86\", \"\\u2021\": \"\\x87\", \"\\u02c6\": \"\\x88\",\n\t\t\t\"\\u2030\": \"\\x89\", \"\\u0160\": \"\\x8a\", \"\\u2039\": \"\\x8b\", \"\\u0152\": \"\\x8c\",\n\t\t\t\"\\u017d\": \"\\x8e\", \"\\u2018\": \"\\x91\", \"\\u2019\": \"\\x92\", \"\\u201c\": \"\\x93\",\n\t\t\t\"\\u201d\": \"\\x94\", \"\\u2022\": \"\\x95\", \"\\u2013\": \"\\x96\", \"\\u2014\": \"\\x97\",\n\t\t\t\"\\u02dc\": \"\\x98\", \"\\u2122\": \"\\x99\", \"\\u0161\": \"\\x9a\", \"\\u203a\": \"\\x9b\",\n\t\t\t\"\\u0153\": \"\\x9c\", \"\\u017e\": \"\\x9e\", \"\\u0178\": \"\\x9f\"\n\t\t};\n\t\tif(Array.isArray(arr)) arr = new Uint8Array(arr);\n\t\treturn new TextDecoder(\"latin1\").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; });\n\t} catch(e) {}\n\n\tvar o = [];\n\tfor(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i]));\n\treturn o.join(\"\");\n}\n\nfunction dup(o/*:any*/)/*:any*/ {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s/*:string*/)/*:number*/ {\n\tvar v/*:number*/ = Number(s);\n\tif(!isNaN(v)) return isFinite(v) ? v : NaN;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nvar lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nfunction fuzzydate(s/*:string*/)/*:Date*/ {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tvar lower = s.toLowerCase();\n\tif(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) {\n\t\tlower = lower.replace(/[^a-z]/g,\"\").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,\"\");\n\t\tif(lower.length > 3 && lower_months.indexOf(lower) == -1) return n;\n\t} else if(lower.match(/[a-z]/)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar split_regex = /*#__PURE__*/(function() {\n\tvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\n\treturn function split_regex(str/*:string*/, re, def/*:string*/)/*:Array*/ {\n\t\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\t\tvar p = str.split(re), o = [p[0]];\n\t\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\t\treturn o;\n\t};\n})();\nfunction getdatastr(data)/*:?string*/ {\n\tif(!data) return null;\n\tif(data.content && data.type) return cc2str(data.content, true);\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file/*:string*/) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase().replace(/[\\/]/g, '\\\\'), g = f.replace(/\\\\/g,'\\/');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex1=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s*[\\/\\?]?>/mg, tagregex2 = /<[^>]*>/g;\nvar tagregex = /*#__PURE__*/XML_HEADER.match(tagregex1) ? tagregex1 : tagregex2;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag/*:string*/, skip_root/*:?boolean*/, skip_LC/*:?boolean*/)/*:any*/ {\n\tvar z = ({}/*:any*/);\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = /*#__PURE__*/evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml/*:StringConv*/ = /*#__PURE__*/(function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text/*:string*/)/*:string*/ {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text/*:string*/)/*:string*/{ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); };\n})();\nfunction xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); }\n\nfunction parsexmlbool(value/*:any*/)/*:boolean*/ {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nfunction utf8reada(orig/*:string*/)/*:string*/ {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n}\n\nfunction utf8readb(data) {\n\tvar out = new_raw_buf(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\tfor(i = 0; i < data.length; i+=j) {\n\t\tj = 1;\n\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\telse { j = 4;\n\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t}\n\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t}\n\treturn out.slice(0,k).toString('ucs2');\n}\n\nfunction utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); }\n\nvar utf8corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\nvar utf8read = has_buf && (/*#__PURE__*/utf8readc(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readc || /*#__PURE__*/utf8readb(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readb) || utf8reada;\n\nvar utf8write/*:StringConv*/ = has_buf ? function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); } : function(orig/*:string*/)/*:string*/ {\n\tvar out/*:Array*/ = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\n// matches ... extracts content\nvar matchtag = /*#__PURE__*/(function() {\n\tvar mtcache/*:{[k:string]:RegExp}*/ = ({}/*:any*/);\n\treturn function matchtag(f/*:string*/,g/*:?string*/)/*:RegExp*/ {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\")/*:any*/)));\n\t};\n})();\n\nvar htmldecode/*:{(s:string):string}*/ = /*#__PURE__*/(function() {\n\tvar entities/*:Array<[RegExp, string]>*/ = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x/*:[string, string]*/) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str/*:string*/)/*:string*/ {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = /*#__PURE__*/(function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)*/ {\n\tvar h = parsexmltag(data);\n\n\tvar matches/*:Array*/ = data.match(vtregex(h.baseType))||[];\n\tvar res/*:Array*/ = [];\n\tif(matches.length != h.size) {\n\t\tif(opts.WTF) throw new Error(\"unexpected vector length \" + matches.length + \" != \" + h.size);\n\t\treturn res;\n\t}\n\tmatches.forEach(function(x/*:string*/) {\n\t\tvar v = x.replace(vtvregex,\"\").match(vtmregex);\n\t\tif(v) res.push({v:utf8read(v[2]), t:v[1]});\n\t});\n\treturn res;\n}\n\nvar wtregex = /(^\\s|\\s$|\\n)/;\nfunction writetag(f/*:string*/,g/*:string*/)/*:string*/ { return '<' + f + (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + ''; }\n\nfunction wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f/*:string*/,g/*:?string*/,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx/*:?boolean*/)/*:string*/ {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nfunction xlml_normalize(d)/*:string*/ {\n\tif(has_buf &&/*::typeof Buffer !== \"undefined\" && d != null && d instanceof Buffer &&*/ Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>:\\/]+)(?:[\\s?:\\/][^>]*)?>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\n\nvar XMLNS = ({\n\tCORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',\n\tCUST_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",\n\tEXT_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\n\tCT: 'http://schemas.openxmlformats.org/package/2006/content-types',\n\tRELS: 'http://schemas.openxmlformats.org/package/2006/relationships',\n\tTCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments',\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n}/*:any*/);\n\nvar XMLNS_main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n}/*:any*/);\nfunction read_double_le(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b/*:RawBytes|CFBlob*/, v/*:number*/, idx/*:number*/) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar ___toBuffer = function(bufs/*:Array >*/)/*:RawBytes*/ { var x=[],w=10240; for(var i=0;i 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0].map(function(x) { return Buffer.isBuffer(x) ? x : Buffer_from(x); })) : ___toBuffer(bufs);} : ___toBuffer;\n\nvar ___utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/)/*:string*/ { var ss/*:Array*/=[]; for(var i=s; i*/=[]; for(var i=s; i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpstr = ___lpstr;\n\nvar ___cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __cpstr = ___cpstr;\n\nvar ___lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpwstr = ___lpwstr;\n\nvar ___lpp4 = function lpp4_(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __lpp4 = ___lpp4;\n\nvar ___8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = ___8lpp4;\n\nvar ___double = function(b/*:RawBytes|CFBlob*/, idx/*:number*/) { return read_double_le(b, idx);};\nvar __double = ___double;\n\nvar is_buf = function is_buf_a(a) { return Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n\nif(has_buf/*:: && typeof Buffer !== 'undefined'*/) {\n\t__lpstr = function lpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__double = function double_(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n}\n\n/* from js-xls */\nfunction cpdoit() {\n\t__utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\nif(typeof $cptable !== 'undefined') cpdoit();\n\nvar __readUInt8 = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx]; };\nvar __readUInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ {\n\tvar o=\"\", oI/*:: :number = 0*/, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof $cptable !== 'undefined') {\n\t\t\t\to = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\n\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\tfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof $cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = $cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tvar end/*:number*/ = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else /*:: if(typeof val === 'number') */ switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr/*:string*/, fld/*:string*/)/*:void*/ {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos/*:number*/)/*:void*/ {\n\tblob.l = pos;\n\tblob.read_shift = /*::(*/ReadShift/*:: :any)*/;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length/*:: :number, opts?:any */) { blob.l += length; }\n\nfunction new_buf(sz/*:number*/)/*:Block*/ {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = R.f && R.f(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array()/*:BufArray*/ {\n\tvar bufs/*:Array*/ = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz/*:number*/)/*:Block*/ {\n\t\tvar o/*:Block*/ = (new_buf(sz)/*:any*/);\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf/*:Block*/ = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz/*:number*/)/*:Block*/ {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn bconcat(bufs);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/);\n}\n\nfunction write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) {\n\tvar t/*:number*/ = +type, l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell/*:CellAddress*/, tgt/*:any*/, opts/*:?any*/)/*:CellAddress*/ {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c/*:CellAddress*/, biff/*:number*/)/*:string*/ {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts)/*:string*/ {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nfunction decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row/*:number*/)/*:string*/ { return \"\" + (row + 1); }\nfunction fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr/*:string*/)/*:number*/ { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col/*:number*/)/*:string*/ { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\n//function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction decode_cell(cstr/*:string*/)/*:CellAddress*/ {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\n//function encode_cell(cell/*:CellAddress*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); }\nfunction encode_cell(cell/*:CellAddress*/)/*:string*/ {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range/*:string*/)/*:Range*/ {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\n/*# if only one arg, it is assumed to be a Range. If 2 args, both are cell addresses */\nfunction encode_range(cs/*:CellAddrSpec|Range*/,ce/*:?CellAddrSpec*/)/*:string*/ {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\n/*:: if(!(cs instanceof Range)) throw \"unreachable\"; */\n\t\treturn encode_range(cs.s, cs.e);\n\t}\n/*:: if((cs instanceof Range)) throw \"unreachable\"; */\n\tif(typeof cs !== 'string') cs = encode_cell((cs/*:any*/));\n\tif(typeof ce !== 'string') ce = encode_cell((ce/*:any*/));\n/*:: if(typeof cs !== 'string') throw \"unreachable\"; */\n/*:: if(typeof ce !== 'string') throw \"unreachable\"; */\n\treturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range/*:string*/)/*:Range*/ {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\t++i;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell/*:Cell*/, v/*:any*/) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF_format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF_format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell/*:Cell*/, v/*:any*/, o/*:any*/) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(cell.t == \"e\") return BErr[cell.v] || cell.v;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet/*:Worksheet*/, opts)/*:Workbook*/ {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws/*:Worksheet*/ = _ws || (dense ? ([]/*:any*/) : ({}/*:any*/));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t\tif(!ws[\"!ref\"]) ws[\"!ref\"] = \"A1:A1\";\n\t}\n\tvar range/*:Range*/ = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell/*:Cell*/ = ({v: data[R][C] }/*:any*/);\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) {\n\t\t\t\t\tif(cell.f) cell.t = 'n';\n\t\t\t\t\telse if(o.nullError) { cell.t = 'e'; cell.v = 0; }\n\t\t\t\t\telse if(!o.sheetStubs) continue;\n\t\t\t\t\telse cell.t = 'z';\n\t\t\t\t}\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF_format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}/*:any*/));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ { return sheet_add_aoa(null, data, opts); }\n\nfunction parse_Int32LE(data) {\n\treturn data.read_shift(4, 'i');\n}\nfunction write_UInt32LE(x/*:number*/, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data/*::, length*/)/*:string*/ {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length/*:number*/)/*:XLString*/ {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str }/*:any*/);\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data)/*:any*/ {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell/*:any*/, o/*:?Block*/) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* Short XLSB Cell does not include column */\nfunction parse_XLSBShortCell(data)/*:any*/ {\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:-1, iStyleRef: iStyleRef };\n}\nfunction write_XLSBShortCell(cell/*:any*/, o/*:?Block*/) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data)/*:number*/ {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, (b[0] & 0xFC), b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data/*:number*/, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data /*::, length*/)/*:Range*/ {\n\tvar cell/*:Range*/ = ({ s: {}, e: {} }/*:any*/);\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r/*:Range*/, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx/*:string*/) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data/*::, length*/) {\n\tif(data.length - data.l < 8) throw \"XLS Xnum Buffer underflow\";\n\treturn data.read_shift(8, 'f');\n}\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data/*::, length*/) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data/*::, length, opts*/) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w/*:number*/)/*:string*/ {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m/*:number*/ = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n// Note: some tree shakers cannot handle VT_VECTOR | $CONST, hence extra vars\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\nvar VT_VECTOR_VARIANT = 0x100C;\nvar VT_VECTOR_LPSTR = 0x101E;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 },\n\t/*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 },\n\t/*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 },\n\t/*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 },\n\t/*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 },\n\t/*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 },\n\t/*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 },\n\t/*::[*/0x0b/*::]*/: { n: 'ScaleCrop', t: VT_BOOL },\n\t/*::[*/0x0c/*::]*/: { n: 'HeadingPairs', t: VT_VECTOR_VARIANT /* VT_VECTOR | VT_VARIANT */ },\n\t/*::[*/0x0d/*::]*/: { n: 'TitlesOfParts', t: VT_VECTOR_LPSTR /* VT_VECTOR | VT_LPSTR */ },\n\t/*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING },\n\t/*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING },\n\t/*::[*/0x10/*::]*/: { n: 'LinksUpToDate', t: VT_BOOL },\n\t/*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 },\n\t/*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL },\n\t/*::[*/0x16/*::]*/: { n: 'HyperlinksChanged', t: VT_BOOL },\n\t/*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' },\n\t/*::[*/0x18/*::]*/: { n: 'DigSig', t: VT_BLOB },\n\t/*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING },\n\t/*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING },\n\t/*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING },\n\t/*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING },\n\t/*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING },\n\t/*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING },\n\t/*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING },\n\t/*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING },\n\t/*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING },\n\t/*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME },\n\t/*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME },\n\t/*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME },\n\t/*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME },\n\t/*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 },\n\t/*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 },\n\t/*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 },\n\t/*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF },\n\t/*::[*/0x12/*::]*/: { n: 'Application', t: VT_STRING },\n\t/*::[*/0x13/*::]*/: { n: 'DocSecurity', t: VT_I4 },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n\t/*::[*/0x0001/*::]*/: \"US\", // United States\n\t/*::[*/0x0002/*::]*/: \"CA\", // Canada\n\t/*::[*/0x0003/*::]*/: \"\", // Latin America (except Brazil)\n\t/*::[*/0x0007/*::]*/: \"RU\", // Russia\n\t/*::[*/0x0014/*::]*/: \"EG\", // Egypt\n\t/*::[*/0x001E/*::]*/: \"GR\", // Greece\n\t/*::[*/0x001F/*::]*/: \"NL\", // Netherlands\n\t/*::[*/0x0020/*::]*/: \"BE\", // Belgium\n\t/*::[*/0x0021/*::]*/: \"FR\", // France\n\t/*::[*/0x0022/*::]*/: \"ES\", // Spain\n\t/*::[*/0x0024/*::]*/: \"HU\", // Hungary\n\t/*::[*/0x0027/*::]*/: \"IT\", // Italy\n\t/*::[*/0x0029/*::]*/: \"CH\", // Switzerland\n\t/*::[*/0x002B/*::]*/: \"AT\", // Austria\n\t/*::[*/0x002C/*::]*/: \"GB\", // United Kingdom\n\t/*::[*/0x002D/*::]*/: \"DK\", // Denmark\n\t/*::[*/0x002E/*::]*/: \"SE\", // Sweden\n\t/*::[*/0x002F/*::]*/: \"NO\", // Norway\n\t/*::[*/0x0030/*::]*/: \"PL\", // Poland\n\t/*::[*/0x0031/*::]*/: \"DE\", // Germany\n\t/*::[*/0x0034/*::]*/: \"MX\", // Mexico\n\t/*::[*/0x0037/*::]*/: \"BR\", // Brazil\n\t/*::[*/0x003d/*::]*/: \"AU\", // Australia\n\t/*::[*/0x0040/*::]*/: \"NZ\", // New Zealand\n\t/*::[*/0x0042/*::]*/: \"TH\", // Thailand\n\t/*::[*/0x0051/*::]*/: \"JP\", // Japan\n\t/*::[*/0x0052/*::]*/: \"KR\", // Korea\n\t/*::[*/0x0054/*::]*/: \"VN\", // Viet Nam\n\t/*::[*/0x0056/*::]*/: \"CN\", // China\n\t/*::[*/0x005A/*::]*/: \"TR\", // Turkey\n\t/*::[*/0x0069/*::]*/: \"JS\", // Ramastan\n\t/*::[*/0x00D5/*::]*/: \"DZ\", // Algeria\n\t/*::[*/0x00D8/*::]*/: \"MA\", // Morocco\n\t/*::[*/0x00DA/*::]*/: \"LY\", // Libya\n\t/*::[*/0x015F/*::]*/: \"PT\", // Portugal\n\t/*::[*/0x0162/*::]*/: \"IS\", // Iceland\n\t/*::[*/0x0166/*::]*/: \"FI\", // Finland\n\t/*::[*/0x01A4/*::]*/: \"CZ\", // Czech Republic\n\t/*::[*/0x0376/*::]*/: \"TW\", // Taiwan\n\t/*::[*/0x03C1/*::]*/: \"LB\", // Lebanon\n\t/*::[*/0x03C2/*::]*/: \"JO\", // Jordan\n\t/*::[*/0x03C3/*::]*/: \"SY\", // Syria\n\t/*::[*/0x03C4/*::]*/: \"IQ\", // Iraq\n\t/*::[*/0x03C5/*::]*/: \"KW\", // Kuwait\n\t/*::[*/0x03C6/*::]*/: \"SA\", // Saudi Arabia\n\t/*::[*/0x03CB/*::]*/: \"AE\", // United Arab Emirates\n\t/*::[*/0x03CC/*::]*/: \"IL\", // Israel\n\t/*::[*/0x03CE/*::]*/: \"QA\", // Qatar\n\t/*::[*/0x03D5/*::]*/: \"IR\", // Iran\n\t/*::[*/0xFFFF/*::]*/: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr/*:Array*/)/*:Array<[number, number, number]>*/ { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = /*#__PURE__*/ rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = /*#__PURE__*/dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n\t/*::[*/0x00/*::]*/: \"#NULL!\",\n\t/*::[*/0x07/*::]*/: \"#DIV/0!\",\n\t/*::[*/0x0F/*::]*/: \"#VALUE!\",\n\t/*::[*/0x17/*::]*/: \"#REF!\",\n\t/*::[*/0x1D/*::]*/: \"#NAME?\",\n\t/*::[*/0x24/*::]*/: \"#NUM!\",\n\t/*::[*/0x2A/*::]*/: \"#N/A\",\n\t/*::[*/0x2B/*::]*/: \"#GETTING_DATA\",\n\t/*::[*/0xFF/*::]*/: \"#WTF?\"\n};\n//var RBErr = evert_num(BErr);\nvar RBErr = {\n\t\"#NULL!\": 0x00,\n\t\"#DIV/0!\": 0x07,\n\t\"#VALUE!\": 0x0F,\n\t\"#REF!\": 0x17,\n\t\"#NAME?\": 0x1D,\n\t\"#NUM!\": 0x24,\n\t\"#N/A\": 0x2A,\n\t\"#GETTING_DATA\": 0x2B,\n\t\"#WTF?\": 0xFF\n};\n\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\": \"workbooks\",\n\t\"application/vnd.ms-excel.addin.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": \"sheets\",\n\t\"application/vnd.ms-excel.worksheet\": \"sheets\",\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Chartsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": \"charts\",\n\t\"application/vnd.ms-excel.chartsheet\": \"charts\",\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.macrosheet+xml\": \"macros\",\n\t\"application/vnd.ms-excel.macrosheet\": \"macros\",\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* Dialogsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": \"dialogs\",\n\t\"application/vnd.ms-excel.dialogsheet\": \"dialogs\",\n\n\t/* Shared Strings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\": \"strs\",\n\t\"application/vnd.ms-excel.sharedStrings\": \"strs\",\n\n\t/* Styles */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": \"styles\",\n\t\"application/vnd.ms-excel.styles\": \"styles\",\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* Comments */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": \"comments\",\n\t\"application/vnd.ms-excel.comments\": \"comments\",\n\t\"application/vnd.ms-excel.threadedcomments+xml\": \"threadedcomments\",\n\t\"application/vnd.ms-excel.person+xml\": \"people\",\n\n\t/* Metadata (Stock/Geography and Dynamic Array) */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"metadata\",\n\t\"application/vnd.ms-excel.sheetMetadata\": \"metadata\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"TODO\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n}/*:any*/);\n\nvar CT_LIST = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tmetadata: { /* Metadata (Stock/Geography and Dynamic Array) */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheetMetadata\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n};\n\nfunction new_ct()/*:any*/ {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], threadedcomments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [], metadata: [], people:[],\n\t\tTODO:[], xmlns: \"\" }/*:any*/);\n}\n\nfunction parse_ct(data/*:?string*/) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nfunction write_ct(ct, opts)/*:string*/ {\n\tvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\n\tvar o/*:Array*/ = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = writextag('Types', null, {\n\t\t'xmlns': XMLNS.CT,\n\t\t'xmlns:xsd': XMLNS.xsd,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t});\n\n\to = o.concat([\n\t\t['xml', 'application/xml'],\n\t\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t\t/* from test files */\n\t\t['bmp', 'image/bmp'],\n\t\t['png', 'image/png'],\n\t\t['gif', 'image/gif'],\n\t\t['emf', 'image/x-emf'],\n\t\t['wmf', 'image/x-wmf'],\n\t\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t\t['pdf', 'application/pdf'],\n\t\t['rels', 'application/vnd.openxmlformats-package.relationships+xml']\n\t].map(function(x) {\n\t\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n\t}));\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('threadedcomments');\n\tf3('drawings');\n\tf2('metadata');\n\tf3('people');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tCMNT: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n\tCORE_PROPS: \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n\tEXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',\n\tCUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties',\n\tSST: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",\n\tSTY: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n\tTHEME: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",\n\tCHART: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n\tCHARTEX: \"http://schemas.microsoft.com/office/2014/relationships/chartEx\",\n\tCS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",\n\tWS: [\n\t\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n\t],\n\tDS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",\n\tMS: \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\",\n\tIMG: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n\tDRAW: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n\tXLMETA: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\",\n\tTCMNT: \"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\",\n\tPEOPLE: \"http://schemas.microsoft.com/office/2017/10/relationships/person\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n}/*:any*/);\n\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file/*:string*/)/*:string*/ {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data/*:?string*/, currentFilePath/*:string*/) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nfunction add_rels(rels, rId/*:number*/, f, type, relobj, targetmode/*:?string*/)/*:number*/ {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(!rels['!idx']) rels['!idx'] = 1;\n\tif(rId < 0) for(rId = rels['!idx']; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trels['!idx'] = rId + 1;\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if([RELS.HLINK, RELS.XPATH, RELS.XMISS].indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest/*:Array >*/)/*:string*/ {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file/*:string*/, res/*:string*/, tag/*:?string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base/*:string*/, file/*:string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nfunction write_meta_ods(/*:: wb: Workbook, opts: any*/)/*:string*/ {\n\treturn 'Sheet' + 'JS ' + XLSX.version + '';\n}\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS/*:Array >*/ = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nvar CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, writextag('cp:coreProperties', null, {\n\t\t//'xmlns': XMLNS.CORE_PROPS,\n\t\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t\t'xmlns:dc': XMLNS.dc,\n\t\t'xmlns:dcterms': XMLNS.dcterms,\n\t\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t})], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS/*:Array >*/ = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP/*:string|Array>*/, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nfunction write_ext_props(cp/*::, opts*/)/*:string*/ {\n\tvar o/*:Array*/ = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (writextag('Properties', null, {\n\t\t'xmlns': XMLNS.EXT_PROPS,\n\t\t'xmlns:vt': XMLNS.vt\n\t}));\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data/*:string*/, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM;\n\nfunction xlml_set_prop(Props, tag/*:string*/, val) {\n\tif(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap);\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o/*:Array*/ = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops/*::, opts*/) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o/*:Array*/ = [];\n\tif(Props) keys(Props).forEach(function(k) {\n\t\t/*:: if(!Props) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\n\t\t/*:: if(!Custprops) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time/*:string|Date*/) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad/*:?number*/) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t/*:number*/, pad/*:?boolean*/) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t/*:number*/) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.7 VtVecLpwstrValue */\nfunction parse_VtVecLpwstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) {\n\t\tvar start = blob.l;\n\t\tret[i] = blob.read_shift(0, 'lpwstr').replace(chr0,'');\n\t\tif((blob.l - start) & 0x02) blob.l += 2;\n\t}\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar start = blob.l;\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tif(blob[blob.l] == 0x00 && blob[blob.l+1] == 0x00 && ((blob.l - start) & 0x02)) blob.l += 2;\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i < cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type/*:number*/, _opts)/*:any*/ {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1 && !((type & 0xFFFE) == 0x101E && (t & 0xFFFE) == 0x101E)) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPairValue(blob);\n\t\tcase 0x101E /*VT_VECTOR|VT_LPSTR*/:\n\t\tcase 0x101F /*VT_VECTOR|VT_LPWSTR*/:\n\t\t\treturn t == 0x101F ? parse_VtVecLpwstrValue(blob) : parse_VtVecUnalignedLpstrValue(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type/*:number*/, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: /*:: if(typeof value !== \"string\" && !(value instanceof Date)) throw \"unreachable\"; */ p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\n\t\t\t/*:: if(typeof value !== \"string\") throw \"unreachable\"; */\n\t\t\tp = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2)/*:number*/);\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ]; //.concat(PseudoPropsPairs);\nfunction guess_property_type(val/*:any*/)/*:number*/ {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI/*:: || {}*/)[idx]/*:: || {} */;\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\n\t\t\t\t/*:: if(typeof val !== \"string\") throw \"unreachable\"; */\n\t\t\t\tvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({}/*:any*/);\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/);\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI/*:{[key:string|number]:any}*/, entries2/*:?any*/, clsid2/*:?any*/) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr/*:: :XLString, opts*/) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob/*::, length, opts*/) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob/*::, length, opts*/) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob/*::, length*/) {\n\tvar cAnti = blob.read_shift(2);\n\tvar preamble = \"\"; while(cAnti-- > 0) preamble += \"../\";\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return preamble + ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn preamble + unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob/*::, length*/) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\nfunction write_HyperlinkString(str/*:string*/, o) {\n\tif(!o) o = new_buf(6 + str.length * 2);\n\to.write_shift(4, 1 + str.length);\n\tfor(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i));\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length)/*:Hyperlink*/ {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tif((flags & 0x0002) && target.charAt(0) == \"/\" && target.charAt(1) != \"/\") target = \"file://\" + target;\n\tvar out = ({Target:target}/*:any*/);\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tif(Target.slice(0,7) == \"file://\") Target = Target.slice(7);\n\tvar hashidx = Target.indexOf(\"#\");\n\tvar F = hashidx > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\twrite_HyperlinkString(Target, out);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar Pretarget = hashidx > -1 ? Target.slice(0, hashidx) : Target;\n\t\tout.write_shift(4, 2*(Pretarget.length + 1));\n\t\tfor(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t\tif(F & 0x08) write_HyperlinkString(hashidx > -1 ? Target.slice(hashidx+1): \"\", out);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length - 3 * P + 1);\n\t\tfor(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob/*::, length*/)/*:Cell*/ {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe}/*:any*/);\n}\nfunction write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r/*:Range*/, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob/*::, length*/) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n\t/*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */\n\t/*::[*/0x04/*::]*/: parse_FtSkip, /* FtMacro */\n\t/*::[*/0x05/*::]*/: parse_FtSkip, /* FtButton */\n\t/*::[*/0x06/*::]*/: parse_FtSkip, /* FtGmo */\n\t/*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */\n\t/*::[*/0x08/*::]*/: parse_FtSkip, /* FtPioGrbit */\n\t/*::[*/0x09/*::]*/: parse_FtSkip, /* FtPictFmla */\n\t/*::[*/0x0A/*::]*/: parse_FtSkip, /* FtCbls */\n\t/*::[*/0x0B/*::]*/: parse_FtSkip, /* FtRbo */\n\t/*::[*/0x0C/*::]*/: parse_FtSkip, /* FtSbs */\n\t/*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */\n\t/*::[*/0x0E/*::]*/: parse_FtSkip, /* FtSbsFmla */\n\t/*::[*/0x0F/*::]*/: parse_FtSkip, /* FtGboData */\n\t/*::[*/0x10/*::]*/: parse_FtSkip, /* FtEdoData */\n\t/*::[*/0x11/*::]*/: parse_FtSkip, /* FtRboData */\n\t/*::[*/0x12/*::]*/: parse_FtSkip, /* FtCblsData */\n\t/*::[*/0x13/*::]*/: parse_FtSkip, /* FtLbsData */\n\t/*::[*/0x14/*::]*/: parse_FtSkip, /* FtCblsFmla */\n\t/*::[*/0x15/*::]*/: parse_FtCmo\n};\nfunction parse_FtArray(blob, length/*::, ot*/) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb/*:Workbook*/, t/*:number*/, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s/*:string*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10, fBelow: flags & 0x40, fRight: flags & 0x80 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length)/*:SST*/ {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs/*:SST*/ = ([]/*:any*/);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\n\t/*::(*/o/*:: :any)*/.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({}/*:any*/);\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1(/*::opts*/) {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o/*:any*/ = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ /*::, opts*/) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i/*:number*/, f/*:string*/, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\tvar f = 0;\n\tif(data.numFmtId > 0 && b5) f |= 0x0400;\n\to.write_shift(4, f);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts/*:Array*/) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2 || length == 9) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:string*/) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t}/*:any*/);\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\t/*jshint -W018 */\n\tvar rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\t/*jshint +W018 */\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length)/*:Array*/ {\n\tvar merges/*:Array*/ = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges/*:Array*/) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = {\n0x08: function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n}\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts); // eslint-disable-line no-unused-vars\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob)/*:[string|number, string|number]*/ {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}/*:any*/);\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\nfunction write_ColInfo(col, idx) {\n\tvar o = new_buf(12);\n\to.write_shift(2, idx);\n\to.write_shift(2, idx);\n\to.write_shift(2, col.width * 256);\n\to.write_shift(2, 0);\n\tvar f = 0;\n\tif(col.hidden) f |= 1;\n\to.write_shift(1, f);\n\tf = col.level || 0;\n\to.write_shift(1, f);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n/*:number*/) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 5) opts.biff = 2;\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob/*::, length*/) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\nvar DBF = /*#__PURE__*/(function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\n\t/* shapefile DBF extension */\n\t/*::[*/0x00/*::]*/: 20127, /*::[*/0x08/*::]*/: 865,\n\t/*::[*/0x09/*::]*/: 437, /*::[*/0x0A/*::]*/: 850,\n\t/*::[*/0x0B/*::]*/: 437, /*::[*/0x0D/*::]*/: 437,\n\t/*::[*/0x0E/*::]*/: 850, /*::[*/0x0F/*::]*/: 437,\n\t/*::[*/0x10/*::]*/: 850, /*::[*/0x11/*::]*/: 437,\n\t/*::[*/0x12/*::]*/: 850, /*::[*/0x13/*::]*/: 932,\n\t/*::[*/0x14/*::]*/: 850, /*::[*/0x15/*::]*/: 437,\n\t/*::[*/0x16/*::]*/: 850, /*::[*/0x17/*::]*/: 865,\n\t/*::[*/0x18/*::]*/: 437, /*::[*/0x19/*::]*/: 437,\n\t/*::[*/0x1A/*::]*/: 850, /*::[*/0x1B/*::]*/: 437,\n\t/*::[*/0x1C/*::]*/: 863, /*::[*/0x1D/*::]*/: 850,\n\t/*::[*/0x1F/*::]*/: 852, /*::[*/0x22/*::]*/: 852,\n\t/*::[*/0x23/*::]*/: 852, /*::[*/0x24/*::]*/: 860,\n\t/*::[*/0x25/*::]*/: 850, /*::[*/0x26/*::]*/: 866,\n\t/*::[*/0x37/*::]*/: 850, /*::[*/0x40/*::]*/: 852,\n\t/*::[*/0x4D/*::]*/: 936, /*::[*/0x4E/*::]*/: 949,\n\t/*::[*/0x4F/*::]*/: 950, /*::[*/0x50/*::]*/: 874,\n\t/*::[*/0x57/*::]*/: 1252, /*::[*/0x58/*::]*/: 1252,\n\t/*::[*/0x59/*::]*/: 1252, /*::[*/0x6C/*::]*/: 863,\n\t/*::[*/0x86/*::]*/: 737, /*::[*/0x87/*::]*/: 852,\n\t/*::[*/0x88/*::]*/: 857, /*::[*/0xCC/*::]*/: 1257,\n\n\t/*::[*/0xFF/*::]*/: 16969\n};\nvar dbf_reverse_map = evert({\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\t/*::[*/0x00/*::]*/: 20127\n});\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts)/*:AOA*/ {\n\tvar out/*:AOA*/ = [];\n\tvar d/*:Block*/ = (new_raw_buf(1)/*:any*/);\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64_decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = !!(ft & 0x88);\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: break; // dBASE II\n\t\tcase 0x03: break; // dBASE III\n\t\tcase 0x30: vfp = true; memo = true; break; // VFP\n\t\tcase 0x31: vfp = true; memo = true; break; // VFP with autoincrement\n\t\t// 0x43 dBASE IV SQL table files\n\t\t// 0x63 dBASE IV SQL system files\n\t\tcase 0x83: break; // dBASE III with memo\n\t\tcase 0x8B: break; // dBASE IV with memo\n\t\tcase 0x8C: l7 = true; break; // dBASE Level 7 with memo\n\t\t// case 0xCB dBASE IV SQL table files with memo\n\t\tcase 0xF5: break; // FoxPro 2.x with memo\n\t\t// case 0xFB FoxBASE\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\n\tvar nrow = 0, fpos = 0x0209;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\td.l += 3; // dBASE II stores DDMMYY date, others use YYMMDD\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(nrow > 1048576) nrow = 1e6;\n\n\tif(ft != 0x02) fpos = d.read_shift(2); // header length\n\tvar rlen = d.read_shift(2); // record length\n\n\tvar /*flags = 0,*/ current_cp = opts.codepage || 1252;\n\tif(ft != 0x02) { // 20 reserved bytes\n\t\td.l+=16;\n\t\t/*flags = */d.read_shift(1);\n\t\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t\t/* codepage present in FoxPro and dBASE Level 7 */\n\t\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\t\td.l+=1;\n\n\t\td.l+=2;\n\t}\n\tif(l7) d.l += 36; // Level 7: 32 byte \"Language driver name\", 4 byte reserved\n\n/*:: type DBFField = { name:string; len:number; type:string; } */\n\tvar fields/*:Array*/ = [], field/*:DBFField*/ = ({}/*:any*/);\n\tvar hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0))));\n\tvar ww = l7 ? 32 : 11;\n\twhile(d.l < hend && d[d.l] != 0x0d) {\n\t\tfield = ({}/*:any*/);\n\t\tfield.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // Double (VFP) / Binary (dBASE L7)\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General (FoxPro and dBASE L7)\n\t\t\tcase 'P': // Picture (FoxPro and dBASE L7)\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase '+': // Autoincrement (dBASE L7 only)\n\t\t\tcase '0': // _NullFlags (VFP only)\n\t\t\tcase '@': // Timestamp (dBASE L7 only)\n\t\t\tcase 'C': // Character (dBASE II)\n\t\t\tcase 'D': // Date (dBASE III)\n\t\t\tcase 'F': // Float (dBASE IV)\n\t\t\tcase 'I': // Long (VFP and dBASE L7)\n\t\t\tcase 'L': // Logical (dBASE II)\n\t\t\tcase 'M': // Memo (dBASE III)\n\t\t\tcase 'N': // Number (dBASE II)\n\t\t\tcase 'O': // Double (dBASE L7 only)\n\t\t\tcase 'T': // Datetime (VFP only)\n\t\t\tcase 'Y': // Currency (VFP only)\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\td.l = fpos;\n\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) {\n\t\t\t// TODO: record marked as deleted -- create a hidden row?\n\t\t\td.l+=rlen;\n\t\t\tcontinue;\n\t\t}\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = $cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\t// NOTE: it is conventional to write ' / / ' for empty dates\n\t\t\t\t\tif(s.trim().length) out[R][C] = s.replace(/\\s+$/,\"\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.trim().toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase '': case '?': break;\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N':\n\t\t\t\t\ts = s.replace(/\\u0000/g,\"\").trim();\n\t\t\t\t\t// NOTE: dBASE II interprets \" . \" as 0\n\t\t\t\t\tif(s && s != \".\") out[R][C] = +s || 0; break;\n\t\t\t\tcase '@':\n\t\t\t\t\t// NOTE: dBASE specs appear to be incorrect\n\t\t\t\t\tout[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\topts.DBF = fields;\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\tvar ws = aoa_to_sheet(dbf_to_aoa(buf, o), o);\n\tws[\"!cols\"] = o.DBF.map(function(field) { return {\n\t\twch: field.len,\n\t\tDBF: field\n\t};});\n\tdelete o.DBF;\n\treturn ws;\n}\n\nfunction dbf_to_workbook(buf, opts)/*:Workbook*/ {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa/*:AOA*/ = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1), cols = ws[\"!cols\"] || [];\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; }\n\t\tif(headers[i] == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes/*:Array*/ = [];\n\tvar colwidths/*:Array*/ = [];\n\tvar coldecimals/*:Array*/ = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar guess = '', _guess = '', maxlen = 0;\n\t\tvar col/*:Array*/ = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tmaxlen = Math.max(maxlen, String(col[j]).length);\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\t//if(guess == 'C') break;\n\t\t}\n\t\tif(maxlen > 250) maxlen = 250;\n\t\t_guess = ((cols[i]||{}).DBF||{}).type;\n\t\t/* TODO: more fine grained control over DBF type resolution */\n\t\tif(_guess == 'C') {\n\t\t\tif(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len;\n\t\t}\n\t\tif(guess == 'B' && _guess == 'N') {\n\t\t\tguess = 'N';\n\t\t\tcoldecimals[i] = cols[i].DBF.dec;\n\t\t\tmaxlen = cols[i].DBF.len;\n\t\t}\n\t\tcolwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0);\n\t\trlen += colwidths[i];\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[/*::String(*/current_ansi/*::)*/] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, coldecimals[i] || 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += (colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t}/*:any*/);\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str/*:string*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr/*:AOA*/ = [];\n\t\tvar formats/*:Array*/ = [];\n\t\tvar next_cell_format/*:string|null*/ = null;\n\t\tvar sht = {}, rowinfo/*:Array*/ = [], colinfo/*:Array*/ = [], cw/*:Array*/ = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'W': break; /* window? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1;\n\t\t\tfor(rj=1; rj -1 && arr[_R][_C];\n\t\t\t\tif(!shrbase || !shrbase[1]) throw new Error(\"SYLK shared formula cannot find base\");\n\t\t\t\tarr[R][C][1] = shift_formula_str(shrbase[1], {r: R - _R, c: C - _C});\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 'F':\n\t\t\tvar F_seen = 0;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*//*::, opts*/)/*:string*/ {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\").replace(/;/g, \";;\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number' && !col.wpx) col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number' && !col.wch) col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out/*:Array*/, rows/*:Array*/) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/)/*:string*/ {\n\t\tvar preamble/*:Array*/ = [\"ID;PWXL;N;E\"], o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = /*#__PURE__*/(function() {\n\tfunction dif_to_aoa(d/*:RawData*/, opts)/*:AOA*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri] || \"\";\n\t\t\twhile(((data.match(/[\"]/g)||[]).length & 1) && ri < records.length - 1) data += \"\\n\" + records[++ri];\n\t\t\tdata = data.trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tdata = data.replace(/\"\"/g, '\"');\n\t\t\t\t\tif(DIF_XL && data && data.match(/^=\".*\"$/)) data = data.slice(2, -1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = /*#__PURE__*/(function() {\n\t\tvar push_field = function pf(o/*:Array*/, topic/*:string*/, v/*:number*/, n/*:number*/, s/*:string*/) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o/*:Array*/, type/*:number*/, v/*:any*/, s/*:string*/) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\t\tvar o/*:Array*/ = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF_format(cell.z || table_fmt[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = /*#__PURE__*/(function() {\n\tfunction decode(s/*:string*/)/*:string*/ { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s/*:string*/)/*:string*/ { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws/*:Worksheet*/)/*:string*/ {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o/*:Array*/ = [], oo/*:Array*/ = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF_format(cell.z || table_fmt[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = /*#__PURE__*/(function() {\n\tfunction set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/, o/*:any*/) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f/*:string*/, opts)/*:AOA*/ {\n\t\tvar o = opts || {};\n\t\tvar arr/*:AOA*/ = ([]/*:any*/);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n\t\t/*::[*/0x2C/*::]*/: ',',\n\t\t/*::[*/0x09/*::]*/: \"\\t\",\n\t\t/*::[*/0x3B/*::]*/: ';',\n\t\t/*::[*/0x7C/*::]*/: '|'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n\t\t/*::[*/0x2C/*::]*/: 3,\n\t\t/*::[*/0x09/*::]*/: 2,\n\t\t/*::[*/0x3B/*::]*/: 1,\n\t\t/*::[*/0x7C/*::]*/: 0\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]] || 0x2C;\n\t}\n\n\tfunction dsv_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:0}}/*:any*/);\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t\telse sep = guess_sep(str.slice(0,1024));\n\t\t}\n\t\telse if(o && o.FS) sep = o.FS;\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0);\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({}/*:any*/);\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1; startcc = str.charCodeAt(start);\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: if(startcc === 0x22) instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(opts.FS) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64_decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf\n\t\t\t\telse if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d);\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str);\n\t\telse if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\tvar o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo/*:Array*/ = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = /*#__PURE__*/(function() {\n\tfunction lotushopper(data, cb/*:RecordHopperCB*/, opts/*:any*/) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFFFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = R.f && R.f(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d/*:RawData*/, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64_decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts)/*:Workbook*/ {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s/*:Worksheet*/ = ((o.dense ? [] : {})/*:any*/), n = \"Sheet1\", next_n = \"\", sidx = 0;\n\t\tvar sheets = {}, snames = [], realnames = [];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x00) {\n\t\t\tif(d[3] == 0x08 || d[3] == 0x09) {\n\t\t\t\tif(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error(\"Unsupported Works 3 for Mac file\");\n\t\t\t}\n\t\t}\n\n\t\tif(d[2] == 0x02) {\n\t\t\to.Enum = WK1Enum;\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0x00: /* BOF */\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0xDE: next_n = val; break; /* SHEETNAMELP */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || table_fmt[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\n\t\t\t\t\tif(o.qpro) {\n\t\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\t\tsidx = val[3]; n = next_n || \"Sheet\" + (sidx + 1); next_n = \"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];\n\t\t\t\t\tif(tmpcell) {\n\t\t\t\t\t\ttmpcell.t = val[1].t; tmpcell.v = val[1].v;\n\t\t\t\t\t\tif(val[1].z != null) tmpcell.z = val[1].z;\n\t\t\t\t\t\tif(val[1].f != null) tmpcell.f = val[1].f;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}}, o);\n\t\t} else if(d[2] == 0x1A || d[2] == 0x0E) {\n\t\t\to.Enum = WK3Enum;\n\t\t\tif(d[2] == 0x0E) { o.qpro = true; d.l = 0; }\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0xCC: n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x1B: /* XFORMAT */\n\t\t\t\t\tif(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0601: /* SHEETINFOQP */\n\t\t\t\t\trealnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;\n\t\t\t\tdefault: break;\n\t\t\t}}, o);\n\t\t} else throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[next_n || n] = s;\n\t\tsnames.push(next_n || n);\n\t\tif(!realnames.length) return { SheetNames: snames, Sheets: sheets };\n\t\tvar osheets = {}, rnames = [];\n\t\t/* TODO: verify no collisions */\n\t\tfor(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {\n\t\t\trnames.push(realnames[i] || snames[i]);\n\t\t\tosheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];\n\t\t} else {\n\t\t\trnames.push(realnames[i]);\n\t\t\tosheets[realnames[i]] = ({ \"!ref\": \"A1\" });\n\t\t}\n\t\treturn { SheetNames: rnames, Sheets: osheets };\n\t}\n\n\tfunction sheet_to_wk1(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK1 to JS string\");\n\t\tvar ba = buf_array();\n\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\tvar dense = Array.isArray(ws);\n\t\tvar cols = [];\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));\n\t\twrite_biff_rec(ba, 0x06, write_RANGE(range));\n\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\tvar rr = encode_row(R);\n\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t/* TODO: formula records */\n\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\tif((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v));\n\t\t\t\t\telse write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v));\n\t\t\t\t} else {\n\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\twrite_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239)));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\tfunction book_to_wk3(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK3 to JS string\");\n\t\tvar ba = buf_array();\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK3(wb));\n\n\t\tfor(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})[\"!ref\"]) write_biff_rec(ba, 0x1b, write_XFORMAT_SHEETNAME(wb.SheetNames[i], cnt++));\n\n\t\tvar wsidx = 0;\n\t\tfor(i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tvar cols = [];\n\t\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\t\tvar rr = encode_row(R);\n\t\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t\t/* TODO: FORMULA19 NUMBER18 records */\n\t\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\t\twrite_biff_rec(ba, 0x17, write_NUMBER_17(R, C, wsidx, cell.v));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\t\t/* TODO: max len? */\n\t\t\t\t\t\twrite_biff_rec(ba, 0x16, write_LABEL_16(R, C, wsidx, str.slice(0, 239)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t++wsidx;\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\n\tfunction write_BOF_WK1(v/*:number*/) {\n\t\tvar out = new_buf(2);\n\t\tout.write_shift(2, v);\n\t\treturn out;\n\t}\n\n\tfunction write_BOF_WK3(wb/*:Workbook*/) {\n\t\tvar out = new_buf(26);\n\t\tout.write_shift(2, 0x1000);\n\t\tout.write_shift(2, 0x0004);\n\t\tout.write_shift(4, 0x0000);\n\t\tvar rows = 0, cols = 0, wscnt = 0;\n\t\tfor(var i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar name = wb.SheetNames[i];\n\t\t\tvar ws = wb.Sheets[name];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\t++wscnt;\n\t\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\t\tif(rows < range.e.r) rows = range.e.r;\n\t\t\tif(cols < range.e.c) cols = range.e.c;\n\t\t}\n\t\tif(rows > 8191) rows = 8191;\n\t\tout.write_shift(2, rows);\n\t\tout.write_shift(1, wscnt);\n\t\tout.write_shift(1, cols);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(1, 0x01);\n\t\tout.write_shift(1, 0x02);\n\t\tout.write_shift(4, 0);\n\t\tout.write_shift(4, 0);\n\t\treturn out;\n\t}\n\n\tfunction parse_RANGE(blob, length, opts) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\tif(length == 8 && opts.qpro) {\n\t\t\to.s.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.s.r = blob.read_shift(2);\n\t\t\to.e.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.e.r = blob.read_shift(2);\n\t\t\treturn o;\n\t\t}\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\tfunction write_RANGE(range) {\n\t\tvar out = new_buf(8);\n\t\tout.write_shift(2, range.s.c);\n\t\tout.write_shift(2, range.s.r);\n\t\tout.write_shift(2, range.e.c);\n\t\tout.write_shift(2, range.e.r);\n\t\treturn out;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\to[3] = blob.read_shift(1);\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL(R, C, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(7 + s.length);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, 0x27); // ??\n\t\tfor(var i = 0; i < o.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\tfunction write_INTEGER(R, C, v) {\n\t\tvar o = new_buf(7);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(2, v, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\tfunction write_NUMBER(R, C, v) {\n\t\tvar o = new_buf(13);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(8, v, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\twk1_fmla_to_csf(blob.slice(blob.l, blob.l + flen), o);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction wk1_parse_rc(B, V, col) {\n\t\tvar rel = V & 0x8000;\n\t\tV &= ~0x8000;\n\t\tV = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V);\n\t\treturn (rel ? \"\" : \"$\") + (col ? encode_col(V) : encode_row(V));\n\t}\n\t/* var oprec = [\n\t\t8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3,\n\t\t3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8\n\t]; */\n\t/* TODO: flesh out */\n\tvar FuncTab = {\n\t\t0x33: [\"FALSE\", 0],\n\t\t0x34: [\"TRUE\", 0],\n\t\t0x46: [\"LEN\", 1],\n\t\t0x50: [\"SUM\", 69],\n\t\t0x51: [\"AVERAGEA\", 69],\n\t\t0x52: [\"COUNTA\", 69],\n\t\t0x53: [\"MINA\", 69],\n\t\t0x54: [\"MAXA\", 69],\n\t\t0x6F: [\"T\", 1]\n\t};\n\tvar BinOpTab = [\n\t\t \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"\", \"+\", \"-\", \"*\", \"/\", \"^\", \"=\", \"<>\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t\"<=\", \">=\", \"<\", \">\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"&\", \"\", \"\", \"\", \"\", \"\", \"\", \"\" // eslint-disable-line no-mixed-spaces-and-tabs\n\t];\n\n\tfunction wk1_fmla_to_csf(blob, o) {\n\t\tprep_blob(blob, 0);\n\t\tvar out = [], argc = 0, R = \"\", C = \"\", argL = \"\", argR = \"\";\n\t\twhile(blob.l < blob.length) {\n\t\t\tvar cc = blob[blob.l++];\n\t\t\tswitch(cc) {\n\t\t\t\tcase 0x00: out.push(blob.read_shift(8, 'f')); break;\n\t\t\t\tcase 0x01: {\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x02: {\n\t\t\t\t\tvar c = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tvar r = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(c + r + \":\" + C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tif(blob.l < blob.length) { console.error(\"WK1 premature formula end\"); return; }\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x04: out.push(\"(\" + out.pop() + \")\"); break;\n\t\t\t\tcase 0x05: out.push(blob.read_shift(2)); break;\n\t\t\t\tcase 0x06: {\n\t\t\t\t\t/* TODO: text encoding */\n\t\t\t\t\tvar Z = \"\"; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc);\n\t\t\t\t\tout.push('\"' + Z.replace(/\"/g, '\"\"') + '\"');\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x08: out.push(\"-\" + out.pop()); break;\n\t\t\t\tcase 0x17: out.push(\"+\" + out.pop()); break;\n\t\t\t\tcase 0x16: out.push(\"NOT(\" + out.pop() + \")\"); break;\n\n\t\t\t\tcase 0x14: case 0x15: {\n\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\tout.push([\"AND\", \"OR\"][cc - 0x14] + \"(\" + argL + \",\" + argR + \")\");\n\t\t\t\t} break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif(cc < 0x20 && BinOpTab[cc]) {\n\t\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\t\tout.push(argL + BinOpTab[cc] + argR);\n\t\t\t\t\t} else if(FuncTab[cc]) {\n\t\t\t\t\t\targc = FuncTab[cc][1];\n\t\t\t\t\t\tif(argc == 69) argc = blob[blob.l++];\n\t\t\t\t\t\tif(argc > out.length) { console.error(\"WK1 bad formula parse 0x\" + cc.toString(16) + \":|\" + out.join(\"|\") + \"|\"); return; }\n\t\t\t\t\t\tvar args = out.slice(-argc);\n\t\t\t\t\t\tout.length -= argc;\n\t\t\t\t\t\tout.push(FuncTab[cc][0] + \"(\" + args.join(\",\") + \")\");\n\t\t\t\t\t}\n\t\t\t\t\telse if(cc <= 0x07) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x18) return console.error(\"WK1 unsupported op \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x1E) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x73) return console.error(\"WK1 unsupported function opcode \" + cc.toString(16));\n\t\t\t\t\t// possible future functions ??\n\t\t\t\t\telse return console.error(\"WK1 unrecognized opcode \" + cc.toString(16));\n\t\t\t}\n\t\t}\n\t\tif(out.length == 1) o[1].f = \"\" + out[0];\n\t\telse console.error(\"WK1 bad formula parse |\" + out.join(\"|\") + \"|\");\n\t}\n\n\n\tfunction parse_cell_3(blob/*::, length*/) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL_16(R, C, wsidx, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(6 + s.length);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\to.write_shift(1, 0x27);\n\t\tfor(var i = 0; i < s.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 0: v = (v >> 3) * 5000; break;\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 3: v = (v >> 3) / 200; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 5: v = (v >> 3) / 20000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) {\n\t\t\tif(v1 === 0 && v2 === 0xC0000000) { o[1].t = \"e\"; o[1].v = 0x0F; } // ERR -> #VALUE!\n\t\t\telse if(v1 === 0 && v2 === 0xD0000000) { o[1].t = \"e\"; o[1].v = 0x2A; } // NA -> #N/A\n\t\t\telse o[1].v = 0;\n\t\t\treturn o;\n\t\t}\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (1 - s*2) * (v2 * Math.pow(2, e+32) + v1 * Math.pow(2, e));\n\t\treturn o;\n\t}\n\tfunction write_NUMBER_17(R, C, wsidx, v) {\n\t\tvar o = new_buf(14);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\tif(v == 0) {\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(2, 0xFFFF);\n\t\t\treturn o;\n\t\t}\n\t\tvar s = 0, e = 0, v1 = 0, v2 = 0;\n\t\tif(v < 0) { s = 1; v = -v; }\n\t\te = Math.log2(v) | 0;\n\t\tv /= Math.pow(2, e-31);\n\t\tv2 = (v)>>>0;\n\t\tif((v2&0x80000000) == 0) { v/=2; ++e; v2 = v >>> 0; }\n\t\tv -= v2;\n\t\tv2 |= 0x80000000;\n\t\tv2 >>>= 0;\n\t\tv *= Math.pow(2, 32);\n\t\tv1 = v>>>0;\n\t\to.write_shift(4, v1);\n\t\to.write_shift(4, v2);\n\t\te += 0x3FFF + (s ? 0x8000 : 0);\n\t\to.write_shift(2, e);\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: WK3 formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETNAMECS(blob, length) {\n\t\treturn blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : \"\";\n\t}\n\n\tfunction parse_SHEETNAMELP(blob, length) {\n\t\tvar len = blob[blob.l++];\n\t\tif(len > length - 1) len = length - 1;\n\t\tvar o = \"\"; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETINFOQP(blob, length, opts) {\n\t\tif(!opts.qpro || length < 21) return;\n\t\tvar id = blob.read_shift(1);\n\t\tblob.l += 17;\n\t\tblob.l += 1; //var len = blob.read_shift(1);\n\t\tblob.l += 2;\n\t\tvar nm = blob.read_shift(length - 21, 'cstr');\n\t\treturn [id, nm];\n\t}\n\n\tfunction parse_XFORMAT(blob, length) {\n\t\tvar o = {}, tgt = blob.l + length;\n\t\twhile(blob.l < tgt) {\n\t\t\tvar dt = blob.read_shift(2);\n\t\t\tif(dt == 0x36b0) {\n\t\t\t\to[dt] = [0, \"\"];\n\t\t\t\to[dt][0] = blob.read_shift(2);\n\t\t\t\twhile(blob[blob.l]) { o[dt][1] += String.fromCharCode(blob[blob.l]); blob.l++; } blob.l++;\n\t\t\t}\n\t\t\t// TODO: 0x3a99 ??\n\t\t}\n\t\treturn o;\n\t}\n\tfunction write_XFORMAT_SHEETNAME(name, wsidx) {\n\t\tvar out = new_buf(5 + name.length);\n\t\tout.write_shift(2, 0x36b0);\n\t\tout.write_shift(2, wsidx);\n\t\tfor(var i = 0; i < name.length; ++i) {\n\t\t\tvar cc = name.charCodeAt(i);\n\t\t\tout[out.l++] = cc > 0x7F ? 0x5F : cc;\n\t\t}\n\t\tout[out.l++] = 0;\n\t\treturn out;\n\t}\n\n\tvar WK1Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\", f:parseuint16 },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"CALCMODE\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCORDER\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"SPLIT\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SYNC\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"RANGE\", f:parse_RANGE },\n\t\t/*::[*/0x0007/*::]*/: { n:\"WINDOW1\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"COLW1\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"WINTWO\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"COLW2\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"NAME\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"BLANK\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"INTEGER\", f:parse_INTEGER },\n\t\t/*::[*/0x000E/*::]*/: { n:\"NUMBER\", f:parse_NUMBER },\n\t\t/*::[*/0x000F/*::]*/: { n:\"LABEL\", f:parse_LABEL },\n\t\t/*::[*/0x0010/*::]*/: { n:\"FORMULA\", f:parse_FORMULA },\n\t\t/*::[*/0x0018/*::]*/: { n:\"TABLE\" },\n\t\t/*::[*/0x0019/*::]*/: { n:\"ORANGE\" },\n\t\t/*::[*/0x001A/*::]*/: { n:\"PRANGE\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"SRANGE\" },\n\t\t/*::[*/0x001C/*::]*/: { n:\"FRANGE\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"KRANGE1\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"HRANGE\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"KRANGE2\" },\n\t\t/*::[*/0x0024/*::]*/: { n:\"PROTEC\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"FOOTER\" },\n\t\t/*::[*/0x0026/*::]*/: { n:\"HEADER\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"SETUP\" },\n\t\t/*::[*/0x0028/*::]*/: { n:\"MARGINS\" },\n\t\t/*::[*/0x0029/*::]*/: { n:\"LABELFMT\" },\n\t\t/*::[*/0x002A/*::]*/: { n:\"TITLES\" },\n\t\t/*::[*/0x002B/*::]*/: { n:\"SHEETJS\" },\n\t\t/*::[*/0x002D/*::]*/: { n:\"GRAPH\" },\n\t\t/*::[*/0x002E/*::]*/: { n:\"NGRAPH\" },\n\t\t/*::[*/0x002F/*::]*/: { n:\"CALCCOUNT\" },\n\t\t/*::[*/0x0030/*::]*/: { n:\"UNFORMATTED\" },\n\t\t/*::[*/0x0031/*::]*/: { n:\"CURSORW12\" },\n\t\t/*::[*/0x0032/*::]*/: { n:\"WINDOW\" },\n\t\t/*::[*/0x0033/*::]*/: { n:\"STRING\", f:parse_LABEL },\n\t\t/*::[*/0x0037/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0038/*::]*/: { n:\"LOCKED\" },\n\t\t/*::[*/0x003C/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x003D/*::]*/: { n:\"QUERYNAME\" },\n\t\t/*::[*/0x003E/*::]*/: { n:\"PRINT\" },\n\t\t/*::[*/0x003F/*::]*/: { n:\"PRINTNAME\" },\n\t\t/*::[*/0x0040/*::]*/: { n:\"GRAPH2\" },\n\t\t/*::[*/0x0041/*::]*/: { n:\"GRAPHNAME\" },\n\t\t/*::[*/0x0042/*::]*/: { n:\"ZOOM\" },\n\t\t/*::[*/0x0043/*::]*/: { n:\"SYMSPLIT\" },\n\t\t/*::[*/0x0044/*::]*/: { n:\"NSROWS\" },\n\t\t/*::[*/0x0045/*::]*/: { n:\"NSCOLS\" },\n\t\t/*::[*/0x0046/*::]*/: { n:\"RULER\" },\n\t\t/*::[*/0x0047/*::]*/: { n:\"NNAME\" },\n\t\t/*::[*/0x0048/*::]*/: { n:\"ACOMM\" },\n\t\t/*::[*/0x0049/*::]*/: { n:\"AMACRO\" },\n\t\t/*::[*/0x004A/*::]*/: { n:\"PARSE\" },\n\t\t/*::[*/0x0066/*::]*/: { n:\"PRANGES??\" },\n\t\t/*::[*/0x0067/*::]*/: { n:\"RRANGES??\" },\n\t\t/*::[*/0x0068/*::]*/: { n:\"FNAME??\" },\n\t\t/*::[*/0x0069/*::]*/: { n:\"MRANGES??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00DE/*::]*/: { n:\"SHEETNAMELP\", f:parse_SHEETNAMELP },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\n\tvar WK3Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\" },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCSET\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"WINDOWSET\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SHEETCELLPTR\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"SHEETLAYOUT\" },\n\t\t/*::[*/0x0007/*::]*/: { n:\"COLUMNWIDTH\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"HIDDENCOLUMN\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"USERRANGE\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"SYSTEMRANGE\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"ZEROFORCE\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"SORTKEYDIR\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"FILESEAL\" },\n\t\t/*::[*/0x000E/*::]*/: { n:\"DATAFILLNUMS\" },\n\t\t/*::[*/0x000F/*::]*/: { n:\"PRINTMAIN\" },\n\t\t/*::[*/0x0010/*::]*/: { n:\"PRINTSTRING\" },\n\t\t/*::[*/0x0011/*::]*/: { n:\"GRAPHMAIN\" },\n\t\t/*::[*/0x0012/*::]*/: { n:\"GRAPHSTRING\" },\n\t\t/*::[*/0x0013/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0014/*::]*/: { n:\"ERRCELL\" },\n\t\t/*::[*/0x0015/*::]*/: { n:\"NACELL\" },\n\t\t/*::[*/0x0016/*::]*/: { n:\"LABEL16\", f:parse_LABEL_16},\n\t\t/*::[*/0x0017/*::]*/: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n\t\t/*::[*/0x0018/*::]*/: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n\t\t/*::[*/0x0019/*::]*/: { n:\"FORMULA19\", f:parse_FORMULA_19},\n\t\t/*::[*/0x001A/*::]*/: { n:\"FORMULA1A\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"XFORMAT\", f:parse_XFORMAT },\n\t\t/*::[*/0x001C/*::]*/: { n:\"DTLABELMISC\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"DTLABELCELL\" },\n\t\t/*::[*/0x001E/*::]*/: { n:\"GRAPHWINDOW\" },\n\t\t/*::[*/0x001F/*::]*/: { n:\"CPA\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"LPLAUTO\" },\n\t\t/*::[*/0x0021/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x0022/*::]*/: { n:\"HIDDENSHEET\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n\t\t/*::[*/0x0026/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n\t\t/*::[*/0x0028/*::]*/: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n\t\t/*::[*/0x008E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0093/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0096/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0097/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0098/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0099/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00A3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B1/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B8/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BA/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BB/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BC/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00CD/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00D0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0100/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0103/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0104/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0105/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0106/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0107/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0109/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010F/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0180/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0185/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0186/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0189/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x018C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0200/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0202/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0201/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0204/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0205/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0280/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0281/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0282/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0283/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0284/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0285/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0286/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0287/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0288/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0292/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0293/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0294/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0295/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0296/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0299/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x029A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0300/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0304/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0601/*::]*/: { n:\"SHEETINFOQP\", f:parse_SHEETINFOQP },\n\t\t/*::[*/0x0640/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0642/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0701/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0702/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0703/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0704/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0780/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0800/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0801/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0804/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0A80/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x2AF6/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x3231/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6E49/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6F44/*::]*/: { n:\"??\" },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\treturn {\n\t\tsheet_to_wk1: sheet_to_wk1,\n\t\tbook_to_wk3: book_to_wk3,\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.18 family ST_FontFamily */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = /*#__PURE__*/(function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o/*:Cell*/ = ({t:'s', v:unescapexml(t[1])}/*:any*/);\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = /*#__PURE__*/(function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style/*:Array*/ = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms/*:[Array, string, Array]*/ = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data/*:string*/, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst/*:SST*/, opts)/*:string*/ {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS_main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s/*:XLString*/ = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* BrtBeginSst */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* BrtSSTItem */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* BrtEndSst */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst/*::, opts*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x009F /* BrtBeginSst */, write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, 0x00A0 /* BrtEndSst */);\n\treturn ba.end();\n}\nfunction _JS2ANSI(str/*:string*/)/*:Array*/ {\n\tif(typeof $cptable !== 'undefined') return $cptable.utils.encode(current_ansi, str);\n\tvar o/*:Array*/ = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length/*:?number*/) {\n\tvar o/*:any*/ = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\n\t/*:: if(length == null) return o; */\n\tif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps/*:Array<{t:number, v:string}>*/ = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob)/*:Array*/ {\n\tvar o/*:Array*/ = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length/*:number*/) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length/*:number*/) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob/*::, vers*/) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt(/*::blob, vers*/) { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob/*::, vers*/) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob/*::, length*/) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password/*:string*/) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = /*#__PURE__*/(function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password/*:string*/) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password/*:string*/) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/);\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length/*:number*/, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length/*:number*/, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }/*:any*/); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = /*#__PURE__*/(function() {\n\tfunction rtf_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\t/* TODO: this is a stub */\n\tfunction rtf_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\n\t\tvar rows = str.match(/\\\\trowd.*?\\\\row\\b/g);\n\t\tif(!rows.length) throw new Error(\"RTF missing table\");\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:rows.length - 1}}/*:any*/);\n\t\trows.forEach(function(rowtf, R) {\n\t\t\tif(Array.isArray(ws)) ws[R] = [];\n\t\t\tvar rtfre = /\\\\\\w+\\b/g;\n\t\t\tvar last_index = 0;\n\t\t\tvar res;\n\t\t\tvar C = -1;\n\t\t\twhile((res = rtfre.exec(rowtf))) {\n\t\t\t\tswitch(res[0]) {\n\t\t\t\t\tcase \"\\\\cell\":\n\t\t\t\t\t\tvar data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length);\n\t\t\t\t\t\tif(data[0] == \" \") data = data.slice(1);\n\t\t\t\t\t\t++C;\n\t\t\t\t\t\tif(data.length) {\n\t\t\t\t\t\t\t// TODO: value parsing, including codepage adjustments\n\t\t\t\t\t\t\tvar cell = {v: data, t:\"s\"};\n\t\t\t\t\t\t\tif(Array.isArray(ws)) ws[R][C] = cell;\n\t\t\t\t\t\t\telse ws[encode_cell({r:R, c:C})] = cell;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tlast_index = rtfre.lastIndex;\n\t\t\t}\n\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t});\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws/*:Worksheet*//*::, opts*/)/*:string*/ {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll/*:ColInfo*/) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = /*::(*/{}/*:: :any)*/;\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(table_fmt)/*:any*/);\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = table_fmt[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF_load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF/*:{[n:number|string]:string}*//*::, opts*/) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(styles.NumberFmt && xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= /*#__PURE__*/(function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nfunction write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('styleSheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:vt': XMLNS.vt\n\t})], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length/*:number*/) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i/*:number*/, f/*:string*/, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length/*:number*/, opts) {\n\tvar out = ({}/*:any*/);\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font/*:any*/, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames/*:EvertNumType*/;\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tif(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/);\n\tvar fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length/*:number*/) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]/*:any*/);\n\tfor(var y in table_fmt) styles.NumberFmt[y] = table_fmt[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* BrtFmt */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF_load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* BrtFont */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* BrtKnownFonts */ break;\n\t\t\tcase 0x002D: /* BrtFill */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* BrtBorder */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* BrtXF */\n\t\t\t\tif(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* BrtStyle */\n\t\t\tcase 0x01FB: /* BrtDXF */\n\t\t\tcase 0x023C: /* BrtMRUColor */\n\t\t\tcase 0x01DB: /* BrtIndexedColor */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* BrtDXF14 */\n\t\t\tcase 0x0836: /* BrtDXF15 */\n\t\t\tcase 0x046A: /* BrtSlicerStyleElement */\n\t\t\tcase 0x0200: /* BrtTableStyleElement */\n\t\t\tcase 0x082F: /* BrtTimelineStyleElement */\n\t\t\tcase 0x0C00: /* BrtUid */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* BrtACBegin */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* BrtACEnd */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF/*:?SSFTable*/) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0267 /* BrtBeginFmts */, write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, 0x002C /* BrtFmt */, write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, 0x0268 /* BrtEndFmts */);\n}\n\nfunction write_FONTS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0263 /* BrtBeginFonts */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002B /* BrtFont */, write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, 0x0264 /* BrtEndFonts */);\n}\n\nfunction write_FILLS_bin(ba/*::, data*/) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x025B /* BrtBeginFills */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, 0x025C /* BrtEndFills */);\n}\n\nfunction write_BORDERS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0265 /* BrtBeginBorders */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002E /* BrtBorder */, write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, 0x0266 /* BrtEndBorders */);\n}\n\nfunction write_CELLSTYLEXFS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\twrite_record(ba, 0x0272 /* BrtBeginCellStyleXFs */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002F /* BrtXF */, write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x0273 /* BrtEndCellStyleXFs */);\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, 0x002F /* BrtXF */, write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x026A /* BrtEndCellXFs */);\n}\n\nfunction write_STYLES_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\twrite_record(ba, 0x026B /* BrtBeginStyles */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x0030 /* BrtStyle */, write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, 0x026C /* BrtEndStyles */);\n}\n\nfunction write_DXFS_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01F9 /* BrtBeginDXFs */, write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, 0x01FA /* BrtEndDXFs */);\n}\n\nfunction write_TABLESTYLES_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01FC /* BrtBeginTableStyles */, write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, 0x01FD /* BrtEndTableStyles */);\n}\n\nfunction write_COLORPALETTE_bin(/*::ba, data*/) {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0116 /* BrtBeginStyleSheet */);\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, 0x0117 /* BrtEndStyleSheet */);\n\treturn ba.end();\n}\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme(/*::t, themes, opts*/) { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme(/*::t, themes, opts*/) { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data/*:string*/, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) data = write_theme();\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts)/*:string*/ {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = zip_read(data, {type: \"array\"}); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob/*::, length*/) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob/*::, length*/) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob/*::, length*/)/*:Array*/ {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext/*:AOA*/ = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\nfunction parse_BrtMdtinfo(data, length) {\n return {\n flags: data.read_shift(4),\n version: data.read_shift(4),\n name: parse_XLWideString(data, length - 8)\n };\n}\nfunction write_BrtMdtinfo(data) {\n var o = new_buf(12 + 2 * data.name.length);\n o.write_shift(4, data.flags);\n o.write_shift(4, data.version);\n write_XLWideString(data.name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtMdb(data) {\n var out = [];\n var cnt = data.read_shift(4);\n while (cnt-- > 0)\n out.push([data.read_shift(4), data.read_shift(4)]);\n return out;\n}\nfunction write_BrtMdb(mdb) {\n var o = new_buf(4 + 8 * mdb.length);\n o.write_shift(4, mdb.length);\n for (var i = 0; i < mdb.length; ++i) {\n o.write_shift(4, mdb[i][0]);\n o.write_shift(4, mdb[i][1]);\n }\n return o;\n}\nfunction write_BrtBeginEsfmd(cnt, name) {\n var o = new_buf(8 + 2 * name.length);\n o.write_shift(4, cnt);\n write_XLWideString(name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtBeginEsmdb(data) {\n data.l += 4;\n return data.read_shift(4) != 0;\n}\nfunction write_BrtBeginEsmdb(cnt, cm) {\n var o = new_buf(8);\n o.write_shift(4, cnt);\n o.write_shift(4, cm ? 1 : 0);\n return o;\n}\nfunction parse_xlmeta_bin(data, name, _opts) {\n var out = { Types: [], Cell: [], Value: [] };\n var opts = _opts || {};\n var state = [];\n var pass = false;\n var metatype = 2;\n recordhopper(data, function(val, R, RT) {\n switch (RT) {\n case 335:\n out.Types.push({ name: val.name });\n break;\n case 51:\n val.forEach(function(r) {\n if (metatype == 1)\n out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n else if (metatype == 0)\n out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n });\n break;\n case 337:\n metatype = val ? 1 : 0;\n break;\n case 338:\n metatype = 2;\n break;\n case 35:\n state.push(RT);\n pass = true;\n break;\n case 36:\n state.pop();\n pass = false;\n break;\n default:\n if (R.T) {\n } else if (!pass || opts.WTF && state[state.length - 1] != 35)\n throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n }\n });\n return out;\n}\nfunction write_xlmeta_bin() {\n var ba = buf_array();\n write_record(ba, 332);\n write_record(ba, 334, write_UInt32LE(1));\n write_record(ba, 335, write_BrtMdtinfo({\n name: \"XLDAPR\",\n version: 12e4,\n flags: 3496657072\n }));\n write_record(ba, 336);\n write_record(ba, 339, write_BrtBeginEsfmd(1, \"XLDAPR\"));\n write_record(ba, 52);\n write_record(ba, 35, write_UInt32LE(514));\n write_record(ba, 4096, write_UInt32LE(0));\n write_record(ba, 4097, writeuint16(1));\n write_record(ba, 36);\n write_record(ba, 53);\n write_record(ba, 340);\n write_record(ba, 337, write_BrtBeginEsmdb(1, true));\n write_record(ba, 51, write_BrtMdb([[1, 0]]));\n write_record(ba, 338);\n write_record(ba, 333);\n return ba.end();\n}\nfunction parse_xlmeta_xml(data, name, opts) {\n var out = { Types: [], Cell: [], Value: [] };\n if (!data)\n return out;\n var pass = false;\n var metatype = 2;\n var lastmeta;\n data.replace(tagregex, function(x) {\n var y = parsexmltag(x);\n switch (strip_ns(y[0])) {\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n case \"\":\n case \"\":\n break;\n case \"\":\n pass = false;\n break;\n case \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n');\n return o.join(\"\");\n}\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data/*::, name, opts*/)/*:Array*/ {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ']*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId/*:number*/, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = /*::(*/{'color2':\"#BEFF82\", 'type':\"gradient\"}/*:: :any)*/;\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"}/*:any*/);\n\t++_shapeid;\n\n\to = o.concat([\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\nfunction sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell/*:Cell*/;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"}/*:any*/);\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded});\n\t\tif(comment.h) o.h = comment.h;\n\n\t\t/* threaded comments always override */\n\t\tfor(var i = cell.c.length - 1; i >= 0; --i) {\n\t\t\tif(!threaded && cell.c[i].T) return;\n\t\t\tif(threaded && !cell.c[i].T) cell.c.splice(i, 1);\n\t\t}\n\t\tif(threaded && people) for(i = 0; i < people.length; ++i) {\n\t\t\tif(o.a == people[i].id) { o.a = people[i].name || o.a; break; }\n\t\t}\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data/*:string*/, opts)/*:Array*/ {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors/*:Array*/ = [];\n\tvar commentList/*:Array*/ = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment/*:RawComment*/ = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid }/*:any*/);\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = (rt.t||\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nfunction write_comments_xml(data/*::, opts*/) {\n\tvar o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })];\n\n\tvar iauthor/*:Array*/ = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) == -1) {\n\t\t\tiauthor.push(a);\n\t\t\to.push(\"\" + a + \"\");\n\t\t}\n\t\tif(w.T && w.ID && iauthor.indexOf(\"tc=\" + w.ID) == -1) {\n\t\t\tiauthor.push(\"tc=\" + w.ID);\n\t\t\to.push(\"\" + \"tc=\" + w.ID + \"\");\n\t\t}\n\t}); });\n\tif(iauthor.length == 0) { iauthor.push(\"SheetJ5\"); o.push(\"SheetJ5\"); }\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\t/* 18.7.3 CT_Comment */\n\t\tvar lastauthor = 0, ts = [];\n\t\tif(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf(\"tc=\" + d[1][0].ID);\n\t\telse d[1].forEach(function(c) {\n\t\t\tif(c.a) lastauthor = iauthor.indexOf(escapexml(c.a));\n\t\t\tts.push(c.t||\"\");\n\t\t});\n\t\to.push('');\n\t\tif(ts.length <= 1) o.push(writetag(\"t\", escapexml(ts[0]||\"\")));\n\t\telse {\n\t\t\t/* based on Threaded Comments -> Comments projection */\n\t\t\tvar t = \"Comment:\\n \" + (ts[0]) + \"\\n\";\n\t\t\tfor(var i = 1; i < ts.length; ++i) t += \"Reply:\\n \" + ts[i] + \"\\n\";\n\t\t\to.push(writetag(\"t\", escapexml(t)));\n\t\t}\n\t\to.push('');\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.17 */\nfunction parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ {\n\tvar out = [];\n\tvar pass = false, comment = {}, tidx = 0;\n\tdata.replace(tagregex, function xml_tcmnt(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.205 threadedComment CT_ThreadedComment */\n\t\t\tcase '': if(comment.t != null) out.push(comment); break;\n\n\t\t\tcase '': case '': comment.t = data.slice(tidx, idx).replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\"); break;\n\n\t\t\t/* 2.6.206 mentions CT_ThreadedCommentMentions TODO */\n\t\t\tcase '': pass = true; break;\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 2.6.202 mention CT_Mention TODO */\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '
': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\n\nfunction write_tcmnt_xml(comments, people, opts) {\n\tvar o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\\/]>/, \">\")];\n\tcomments.forEach(function(carr) {\n\t\tvar rootid = \"\";\n\t\t(carr[1] || []).forEach(function(c, idx) {\n\t\t\tif(!c.T) { delete c.ID; return; }\n\t\t\tif(c.a && people.indexOf(c.a) == -1) people.push(c.a);\n\t\t\tvar tcopts = {\n\t\t\t\tref: carr[0],\n\t\t\t\tid: \"{54EE7951-7262-4200-6969-\" + (\"000000000000\" + opts.tcid++).slice(-12) + \"}\"\n\t\t\t};\n\t\t\tif(idx == 0) rootid = tcopts.id;\n\t\t\telse tcopts.parentId = rootid;\n\t\t\tc.ID = tcopts.id;\n\t\t\tif(c.a) tcopts.personId = \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + people.indexOf(c.a)).slice(-12) + \"}\";\n\t\t\to.push(writextag('threadedComment', writetag('text', c.t||\"\"), tcopts));\n\t\t});\n\t});\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.18 */\nfunction parse_people_xml(data/*:string*/, opts) {\n\tvar out = [];\n\tvar pass = false;\n\tdata.replace(tagregex, function xml_tcmnt(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.203 person CT_Person TODO: providers */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\nfunction write_people_xml(people/*, opts*/) {\n\tvar o = [XML_HEADER, writextag('personList', null, {\n\t\t'xmlns': XMLNS.TCMNT,\n\t\t'xmlns:x': XMLNS_main[0]\n\t}).replace(/[\\/]>/, \">\")];\n\tpeople.forEach(function(person, idx) {\n\t\to.push(writextag('person', null, {\n\t\t\tdisplayName: person,\n\t\t\tid: \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + idx).slice(-12) + \"}\",\n\t\t\tuserId: person,\n\t\t\tproviderId: \"None\"\n\t\t}));\n\t});\n\to.push(\"\");\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]/*:any*/), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts)/*:Array*/ {\n\tvar out/*:Array*/ = [];\n\tvar authors/*:Array*/ = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c/*:any*/).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data/*::, opts*/) {\n\tvar ba = buf_array();\n\tvar iauthor/*:Array*/ = [];\n\twrite_record(ba, 0x0274 /* BrtBeginComments */);\n\n\twrite_record(ba, 0x0276 /* BrtBeginCommentAuthors */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, 0x0277 /* BrtEndCommentAuthors */);\n\n\twrite_record(ba, 0x0279 /* BrtBeginCommentList */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c));\n\t\t\twrite_record(ba, 0x027C /* BrtEndComment */);\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, 0x027A /* BrtEndCommentList */);\n\n\twrite_record(ba, 0x0275 /* BrtEndComments */);\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n var newcfb = CFB.utils.cfb_new({ root: \"R\" });\n cfb.FullPaths.forEach(function(p, i) {\n if (p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/))\n return;\n var newpath = p.replace(/^[^\\/]*/, \"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n CFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n });\n return CFB.write(newcfb);\n}\nfunction fill_vba_xls(cfb, vba) {\n vba.FullPaths.forEach(function(p, i) {\n if (i == 0)\n return;\n var newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n if (newpath.slice(-1) !== \"/\")\n CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n });\n}\nvar VBAFMTS = [\"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\"];\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ms_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\nfunction parse_ms_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = /*#__PURE__*/(function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase/*:Cell*/ = ({r:0,c:0}/*:any*/);\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr/*:string*/, base/*:Cell*/)/*:string*/ {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc = /*#__PURE__*/(function(){\n\treturn function a1_to_rc(fstr/*:string*/, base/*:CellAddress*/) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f/*:string*/)/*:boolean*/ {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f/*:string*/)/*:string*/ {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob/*::, length, opts*/) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob/*::, length, opts*/) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob/*::, length, opts*/) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts)/*:Array*/ {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o/*:Array*/ = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob/*::, length*/) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff/*:number*/) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o/*:Array>*/ = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob/*::, length, opts*/) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob/*::, length, opts*/) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n\t/*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp },\n\t/*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl },\n\t/*::[*/0x03/*::]*/: { n:'PtgAdd', f:parseread1 },\n\t/*::[*/0x04/*::]*/: { n:'PtgSub', f:parseread1 },\n\t/*::[*/0x05/*::]*/: { n:'PtgMul', f:parseread1 },\n\t/*::[*/0x06/*::]*/: { n:'PtgDiv', f:parseread1 },\n\t/*::[*/0x07/*::]*/: { n:'PtgPower', f:parseread1 },\n\t/*::[*/0x08/*::]*/: { n:'PtgConcat', f:parseread1 },\n\t/*::[*/0x09/*::]*/: { n:'PtgLt', f:parseread1 },\n\t/*::[*/0x0A/*::]*/: { n:'PtgLe', f:parseread1 },\n\t/*::[*/0x0B/*::]*/: { n:'PtgEq', f:parseread1 },\n\t/*::[*/0x0C/*::]*/: { n:'PtgGe', f:parseread1 },\n\t/*::[*/0x0D/*::]*/: { n:'PtgGt', f:parseread1 },\n\t/*::[*/0x0E/*::]*/: { n:'PtgNe', f:parseread1 },\n\t/*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parseread1 },\n\t/*::[*/0x10/*::]*/: { n:'PtgUnion', f:parseread1 },\n\t/*::[*/0x11/*::]*/: { n:'PtgRange', f:parseread1 },\n\t/*::[*/0x12/*::]*/: { n:'PtgUplus', f:parseread1 },\n\t/*::[*/0x13/*::]*/: { n:'PtgUminus', f:parseread1 },\n\t/*::[*/0x14/*::]*/: { n:'PtgPercent', f:parseread1 },\n\t/*::[*/0x15/*::]*/: { n:'PtgParen', f:parseread1 },\n\t/*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parseread1 },\n\t/*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr },\n\t/*::[*/0x1A/*::]*/: { n:'PtgSheet', f:parse_PtgSheet },\n\t/*::[*/0x1B/*::]*/: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n\t/*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr },\n\t/*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool },\n\t/*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt },\n\t/*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum },\n\t/*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray },\n\t/*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc },\n\t/*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n\t/*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName },\n\t/*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef },\n\t/*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea },\n\t/*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea },\n\t/*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr },\n\t/*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n\t/*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n\t/*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr },\n\t/*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n\t/*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN },\n\t/*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN },\n\t/*::[*/0x2E/*::]*/: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n\t/*::[*/0x2F/*::]*/: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n\t/*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX },\n\t/*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d },\n\t/*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d },\n\t/*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n\t/*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n\t/*::[*/0xFF/*::]*/: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n\t/*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20,\n\t/*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21,\n\t/*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22,\n\t/*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23,\n\t/*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24,\n\t/*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25,\n\t/*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26,\n\t/*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27,\n\t/*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28,\n\t/*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29,\n\t/*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A,\n\t/*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B,\n\t/*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C,\n\t/*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D,\n\t/*::[*/0x4E/*::]*/: 0x2E, /*::[*/0x6E/*::]*/: 0x2E,\n\t/*::[*/0x4F/*::]*/: 0x2F, /*::[*/0x6F/*::]*/: 0x2F,\n\t/*::[*/0x58/*::]*/: 0x22, /*::[*/0x78/*::]*/: 0x22,\n\t/*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39,\n\t/*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A,\n\t/*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B,\n\t/*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C,\n\t/*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D\n};\n\nvar Ptg18 = {\n\t/*::[*/0x01/*::]*/: { n:'PtgElfLel', f:parse_PtgElfLel },\n\t/*::[*/0x02/*::]*/: { n:'PtgElfRw', f:parse_PtgElfRw },\n\t/*::[*/0x03/*::]*/: { n:'PtgElfCol', f:parse_PtgElfCol },\n\t/*::[*/0x06/*::]*/: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n\t/*::[*/0x07/*::]*/: { n:'PtgElfColV', f:parse_PtgElfColV },\n\t/*::[*/0x0A/*::]*/: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n\t/*::[*/0x0B/*::]*/: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n\t/*::[*/0x0D/*::]*/: { n:'PtgElfColS', f:parse_PtgElfColS },\n\t/*::[*/0x0F/*::]*/: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n\t/*::[*/0x10/*::]*/: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n\t/*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList },\n\t/*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName },\n\t/*::[*/0xFF/*::]*/: {}\n};\nvar Ptg19 = {\n\t/*::[*/0x00/*::]*/: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n\t/*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n\t/*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n\t/*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n\t/*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n\t/*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n\t/*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x21/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n\t/*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n\t/*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n\t/*::[*/0xFF/*::]*/: {}\n};\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id] || PtgTypes[PtgDupes[id]];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f/*:Array>*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r/*:Array*/ = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\n\t\t\t\t\t/*:: if(typeof y[1] != 'string') throw \"unreachable\"; */\n\t\t\t\t\tr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// List of invalid characters needs to be tested further\nfunction formula_quote_sheet_name(sname/*:string*/, opts)/*:string*/ {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/.test(sname)) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tvar ixtiraw = get_ixti_raw(supbooks, ixti, opts);\n\treturn ixtiraw == \"#REF\" ? ixtiraw : formula_quote_sheet_name(ixtiraw, opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, opts)/*:string*/ {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack/*:Array*/ = [], e1, e2, /*::type,*/ c/*:CellAddress*/, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\n\t\t\t\t/*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\n\t\t\t\t/*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]/*:any*/);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\t/* [MS-XLSB] 2.5.97.10 Ftab -- last verified 20220204 */\n\t\t\t\tif(name && name.slice(0,6) == \"_xlfn.\" && !opts.xlfn) name = name.slice(6);\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = (get_ixti_raw(supbooks, bookidx, opts)||\"\").split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r}/*:any*/);\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t} else {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(/*::String(*/f[1]/*::)*/);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(/*::(*/f[1]/*:: :any)*/) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts/*::, ref*/) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob/*::, length*/) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, os/*:number*/) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\nvar Cetab = {\n 0: \"BEEP\",\n 1: \"OPEN\",\n 2: \"OPEN.LINKS\",\n 3: \"CLOSE.ALL\",\n 4: \"SAVE\",\n 5: \"SAVE.AS\",\n 6: \"FILE.DELETE\",\n 7: \"PAGE.SETUP\",\n 8: \"PRINT\",\n 9: \"PRINTER.SETUP\",\n 10: \"QUIT\",\n 11: \"NEW.WINDOW\",\n 12: \"ARRANGE.ALL\",\n 13: \"WINDOW.SIZE\",\n 14: \"WINDOW.MOVE\",\n 15: \"FULL\",\n 16: \"CLOSE\",\n 17: \"RUN\",\n 22: \"SET.PRINT.AREA\",\n 23: \"SET.PRINT.TITLES\",\n 24: \"SET.PAGE.BREAK\",\n 25: \"REMOVE.PAGE.BREAK\",\n 26: \"FONT\",\n 27: \"DISPLAY\",\n 28: \"PROTECT.DOCUMENT\",\n 29: \"PRECISION\",\n 30: \"A1.R1C1\",\n 31: \"CALCULATE.NOW\",\n 32: \"CALCULATION\",\n 34: \"DATA.FIND\",\n 35: \"EXTRACT\",\n 36: \"DATA.DELETE\",\n 37: \"SET.DATABASE\",\n 38: \"SET.CRITERIA\",\n 39: \"SORT\",\n 40: \"DATA.SERIES\",\n 41: \"TABLE\",\n 42: \"FORMAT.NUMBER\",\n 43: \"ALIGNMENT\",\n 44: \"STYLE\",\n 45: \"BORDER\",\n 46: \"CELL.PROTECTION\",\n 47: \"COLUMN.WIDTH\",\n 48: \"UNDO\",\n 49: \"CUT\",\n 50: \"COPY\",\n 51: \"PASTE\",\n 52: \"CLEAR\",\n 53: \"PASTE.SPECIAL\",\n 54: \"EDIT.DELETE\",\n 55: \"INSERT\",\n 56: \"FILL.RIGHT\",\n 57: \"FILL.DOWN\",\n 61: \"DEFINE.NAME\",\n 62: \"CREATE.NAMES\",\n 63: \"FORMULA.GOTO\",\n 64: \"FORMULA.FIND\",\n 65: \"SELECT.LAST.CELL\",\n 66: \"SHOW.ACTIVE.CELL\",\n 67: \"GALLERY.AREA\",\n 68: \"GALLERY.BAR\",\n 69: \"GALLERY.COLUMN\",\n 70: \"GALLERY.LINE\",\n 71: \"GALLERY.PIE\",\n 72: \"GALLERY.SCATTER\",\n 73: \"COMBINATION\",\n 74: \"PREFERRED\",\n 75: \"ADD.OVERLAY\",\n 76: \"GRIDLINES\",\n 77: \"SET.PREFERRED\",\n 78: \"AXES\",\n 79: \"LEGEND\",\n 80: \"ATTACH.TEXT\",\n 81: \"ADD.ARROW\",\n 82: \"SELECT.CHART\",\n 83: \"SELECT.PLOT.AREA\",\n 84: \"PATTERNS\",\n 85: \"MAIN.CHART\",\n 86: \"OVERLAY\",\n 87: \"SCALE\",\n 88: \"FORMAT.LEGEND\",\n 89: \"FORMAT.TEXT\",\n 90: \"EDIT.REPEAT\",\n 91: \"PARSE\",\n 92: \"JUSTIFY\",\n 93: \"HIDE\",\n 94: \"UNHIDE\",\n 95: \"WORKSPACE\",\n 96: \"FORMULA\",\n 97: \"FORMULA.FILL\",\n 98: \"FORMULA.ARRAY\",\n 99: \"DATA.FIND.NEXT\",\n 100: \"DATA.FIND.PREV\",\n 101: \"FORMULA.FIND.NEXT\",\n 102: \"FORMULA.FIND.PREV\",\n 103: \"ACTIVATE\",\n 104: \"ACTIVATE.NEXT\",\n 105: \"ACTIVATE.PREV\",\n 106: \"UNLOCKED.NEXT\",\n 107: \"UNLOCKED.PREV\",\n 108: \"COPY.PICTURE\",\n 109: \"SELECT\",\n 110: \"DELETE.NAME\",\n 111: \"DELETE.FORMAT\",\n 112: \"VLINE\",\n 113: \"HLINE\",\n 114: \"VPAGE\",\n 115: \"HPAGE\",\n 116: \"VSCROLL\",\n 117: \"HSCROLL\",\n 118: \"ALERT\",\n 119: \"NEW\",\n 120: \"CANCEL.COPY\",\n 121: \"SHOW.CLIPBOARD\",\n 122: \"MESSAGE\",\n 124: \"PASTE.LINK\",\n 125: \"APP.ACTIVATE\",\n 126: \"DELETE.ARROW\",\n 127: \"ROW.HEIGHT\",\n 128: \"FORMAT.MOVE\",\n 129: \"FORMAT.SIZE\",\n 130: \"FORMULA.REPLACE\",\n 131: \"SEND.KEYS\",\n 132: \"SELECT.SPECIAL\",\n 133: \"APPLY.NAMES\",\n 134: \"REPLACE.FONT\",\n 135: \"FREEZE.PANES\",\n 136: \"SHOW.INFO\",\n 137: \"SPLIT\",\n 138: \"ON.WINDOW\",\n 139: \"ON.DATA\",\n 140: \"DISABLE.INPUT\",\n 142: \"OUTLINE\",\n 143: \"LIST.NAMES\",\n 144: \"FILE.CLOSE\",\n 145: \"SAVE.WORKBOOK\",\n 146: \"DATA.FORM\",\n 147: \"COPY.CHART\",\n 148: \"ON.TIME\",\n 149: \"WAIT\",\n 150: \"FORMAT.FONT\",\n 151: \"FILL.UP\",\n 152: \"FILL.LEFT\",\n 153: \"DELETE.OVERLAY\",\n 155: \"SHORT.MENUS\",\n 159: \"SET.UPDATE.STATUS\",\n 161: \"COLOR.PALETTE\",\n 162: \"DELETE.STYLE\",\n 163: \"WINDOW.RESTORE\",\n 164: \"WINDOW.MAXIMIZE\",\n 166: \"CHANGE.LINK\",\n 167: \"CALCULATE.DOCUMENT\",\n 168: \"ON.KEY\",\n 169: \"APP.RESTORE\",\n 170: \"APP.MOVE\",\n 171: \"APP.SIZE\",\n 172: \"APP.MINIMIZE\",\n 173: \"APP.MAXIMIZE\",\n 174: \"BRING.TO.FRONT\",\n 175: \"SEND.TO.BACK\",\n 185: \"MAIN.CHART.TYPE\",\n 186: \"OVERLAY.CHART.TYPE\",\n 187: \"SELECT.END\",\n 188: \"OPEN.MAIL\",\n 189: \"SEND.MAIL\",\n 190: \"STANDARD.FONT\",\n 191: \"CONSOLIDATE\",\n 192: \"SORT.SPECIAL\",\n 193: \"GALLERY.3D.AREA\",\n 194: \"GALLERY.3D.COLUMN\",\n 195: \"GALLERY.3D.LINE\",\n 196: \"GALLERY.3D.PIE\",\n 197: \"VIEW.3D\",\n 198: \"GOAL.SEEK\",\n 199: \"WORKGROUP\",\n 200: \"FILL.GROUP\",\n 201: \"UPDATE.LINK\",\n 202: \"PROMOTE\",\n 203: \"DEMOTE\",\n 204: \"SHOW.DETAIL\",\n 206: \"UNGROUP\",\n 207: \"OBJECT.PROPERTIES\",\n 208: \"SAVE.NEW.OBJECT\",\n 209: \"SHARE\",\n 210: \"SHARE.NAME\",\n 211: \"DUPLICATE\",\n 212: \"APPLY.STYLE\",\n 213: \"ASSIGN.TO.OBJECT\",\n 214: \"OBJECT.PROTECTION\",\n 215: \"HIDE.OBJECT\",\n 216: \"SET.EXTRACT\",\n 217: \"CREATE.PUBLISHER\",\n 218: \"SUBSCRIBE.TO\",\n 219: \"ATTRIBUTES\",\n 220: \"SHOW.TOOLBAR\",\n 222: \"PRINT.PREVIEW\",\n 223: \"EDIT.COLOR\",\n 224: \"SHOW.LEVELS\",\n 225: \"FORMAT.MAIN\",\n 226: \"FORMAT.OVERLAY\",\n 227: \"ON.RECALC\",\n 228: \"EDIT.SERIES\",\n 229: \"DEFINE.STYLE\",\n 240: \"LINE.PRINT\",\n 243: \"ENTER.DATA\",\n 249: \"GALLERY.RADAR\",\n 250: \"MERGE.STYLES\",\n 251: \"EDITION.OPTIONS\",\n 252: \"PASTE.PICTURE\",\n 253: \"PASTE.PICTURE.LINK\",\n 254: \"SPELLING\",\n 256: \"ZOOM\",\n 259: \"INSERT.OBJECT\",\n 260: \"WINDOW.MINIMIZE\",\n 265: \"SOUND.NOTE\",\n 266: \"SOUND.PLAY\",\n 267: \"FORMAT.SHAPE\",\n 268: \"EXTEND.POLYGON\",\n 269: \"FORMAT.AUTO\",\n 272: \"GALLERY.3D.BAR\",\n 273: \"GALLERY.3D.SURFACE\",\n 274: \"FILL.AUTO\",\n 276: \"CUSTOMIZE.TOOLBAR\",\n 277: \"ADD.TOOL\",\n 278: \"EDIT.OBJECT\",\n 279: \"ON.DOUBLECLICK\",\n 280: \"ON.ENTRY\",\n 281: \"WORKBOOK.ADD\",\n 282: \"WORKBOOK.MOVE\",\n 283: \"WORKBOOK.COPY\",\n 284: \"WORKBOOK.OPTIONS\",\n 285: \"SAVE.WORKSPACE\",\n 288: \"CHART.WIZARD\",\n 289: \"DELETE.TOOL\",\n 290: \"MOVE.TOOL\",\n 291: \"WORKBOOK.SELECT\",\n 292: \"WORKBOOK.ACTIVATE\",\n 293: \"ASSIGN.TO.TOOL\",\n 295: \"COPY.TOOL\",\n 296: \"RESET.TOOL\",\n 297: \"CONSTRAIN.NUMERIC\",\n 298: \"PASTE.TOOL\",\n 302: \"WORKBOOK.NEW\",\n 305: \"SCENARIO.CELLS\",\n 306: \"SCENARIO.DELETE\",\n 307: \"SCENARIO.ADD\",\n 308: \"SCENARIO.EDIT\",\n 309: \"SCENARIO.SHOW\",\n 310: \"SCENARIO.SHOW.NEXT\",\n 311: \"SCENARIO.SUMMARY\",\n 312: \"PIVOT.TABLE.WIZARD\",\n 313: \"PIVOT.FIELD.PROPERTIES\",\n 314: \"PIVOT.FIELD\",\n 315: \"PIVOT.ITEM\",\n 316: \"PIVOT.ADD.FIELDS\",\n 318: \"OPTIONS.CALCULATION\",\n 319: \"OPTIONS.EDIT\",\n 320: \"OPTIONS.VIEW\",\n 321: \"ADDIN.MANAGER\",\n 322: \"MENU.EDITOR\",\n 323: \"ATTACH.TOOLBARS\",\n 324: \"VBAActivate\",\n 325: \"OPTIONS.CHART\",\n 328: \"VBA.INSERT.FILE\",\n 330: \"VBA.PROCEDURE.DEFINITION\",\n 336: \"ROUTING.SLIP\",\n 338: \"ROUTE.DOCUMENT\",\n 339: \"MAIL.LOGON\",\n 342: \"INSERT.PICTURE\",\n 343: \"EDIT.TOOL\",\n 344: \"GALLERY.DOUGHNUT\",\n 350: \"CHART.TREND\",\n 352: \"PIVOT.ITEM.PROPERTIES\",\n 354: \"WORKBOOK.INSERT\",\n 355: \"OPTIONS.TRANSITION\",\n 356: \"OPTIONS.GENERAL\",\n 370: \"FILTER.ADVANCED\",\n 373: \"MAIL.ADD.MAILER\",\n 374: \"MAIL.DELETE.MAILER\",\n 375: \"MAIL.REPLY\",\n 376: \"MAIL.REPLY.ALL\",\n 377: \"MAIL.FORWARD\",\n 378: \"MAIL.NEXT.LETTER\",\n 379: \"DATA.LABEL\",\n 380: \"INSERT.TITLE\",\n 381: \"FONT.PROPERTIES\",\n 382: \"MACRO.OPTIONS\",\n 383: \"WORKBOOK.HIDE\",\n 384: \"WORKBOOK.UNHIDE\",\n 385: \"WORKBOOK.DELETE\",\n 386: \"WORKBOOK.NAME\",\n 388: \"GALLERY.CUSTOM\",\n 390: \"ADD.CHART.AUTOFORMAT\",\n 391: \"DELETE.CHART.AUTOFORMAT\",\n 392: \"CHART.ADD.DATA\",\n 393: \"AUTO.OUTLINE\",\n 394: \"TAB.ORDER\",\n 395: \"SHOW.DIALOG\",\n 396: \"SELECT.ALL\",\n 397: \"UNGROUP.SHEETS\",\n 398: \"SUBTOTAL.CREATE\",\n 399: \"SUBTOTAL.REMOVE\",\n 400: \"RENAME.OBJECT\",\n 412: \"WORKBOOK.SCROLL\",\n 413: \"WORKBOOK.NEXT\",\n 414: \"WORKBOOK.PREV\",\n 415: \"WORKBOOK.TAB.SPLIT\",\n 416: \"FULL.SCREEN\",\n 417: \"WORKBOOK.PROTECT\",\n 420: \"SCROLLBAR.PROPERTIES\",\n 421: \"PIVOT.SHOW.PAGES\",\n 422: \"TEXT.TO.COLUMNS\",\n 423: \"FORMAT.CHARTTYPE\",\n 424: \"LINK.FORMAT\",\n 425: \"TRACER.DISPLAY\",\n 430: \"TRACER.NAVIGATE\",\n 431: \"TRACER.CLEAR\",\n 432: \"TRACER.ERROR\",\n 433: \"PIVOT.FIELD.GROUP\",\n 434: \"PIVOT.FIELD.UNGROUP\",\n 435: \"CHECKBOX.PROPERTIES\",\n 436: \"LABEL.PROPERTIES\",\n 437: \"LISTBOX.PROPERTIES\",\n 438: \"EDITBOX.PROPERTIES\",\n 439: \"PIVOT.REFRESH\",\n 440: \"LINK.COMBO\",\n 441: \"OPEN.TEXT\",\n 442: \"HIDE.DIALOG\",\n 443: \"SET.DIALOG.FOCUS\",\n 444: \"ENABLE.OBJECT\",\n 445: \"PUSHBUTTON.PROPERTIES\",\n 446: \"SET.DIALOG.DEFAULT\",\n 447: \"FILTER\",\n 448: \"FILTER.SHOW.ALL\",\n 449: \"CLEAR.OUTLINE\",\n 450: \"FUNCTION.WIZARD\",\n 451: \"ADD.LIST.ITEM\",\n 452: \"SET.LIST.ITEM\",\n 453: \"REMOVE.LIST.ITEM\",\n 454: \"SELECT.LIST.ITEM\",\n 455: \"SET.CONTROL.VALUE\",\n 456: \"SAVE.COPY.AS\",\n 458: \"OPTIONS.LISTS.ADD\",\n 459: \"OPTIONS.LISTS.DELETE\",\n 460: \"SERIES.AXES\",\n 461: \"SERIES.X\",\n 462: \"SERIES.Y\",\n 463: \"ERRORBAR.X\",\n 464: \"ERRORBAR.Y\",\n 465: \"FORMAT.CHART\",\n 466: \"SERIES.ORDER\",\n 467: \"MAIL.LOGOFF\",\n 468: \"CLEAR.ROUTING.SLIP\",\n 469: \"APP.ACTIVATE.MICROSOFT\",\n 470: \"MAIL.EDIT.MAILER\",\n 471: \"ON.SHEET\",\n 472: \"STANDARD.WIDTH\",\n 473: \"SCENARIO.MERGE\",\n 474: \"SUMMARY.INFO\",\n 475: \"FIND.FILE\",\n 476: \"ACTIVE.CELL.FONT\",\n 477: \"ENABLE.TIPWIZARD\",\n 478: \"VBA.MAKE.ADDIN\",\n 480: \"INSERTDATATABLE\",\n 481: \"WORKGROUP.OPTIONS\",\n 482: \"MAIL.SEND.MAILER\",\n 485: \"AUTOCORRECT\",\n 489: \"POST.DOCUMENT\",\n 491: \"PICKLIST\",\n 493: \"VIEW.SHOW\",\n 494: \"VIEW.DEFINE\",\n 495: \"VIEW.DELETE\",\n 509: \"SHEET.BACKGROUND\",\n 510: \"INSERT.MAP.OBJECT\",\n 511: \"OPTIONS.MENONO\",\n 517: \"MSOCHECKS\",\n 518: \"NORMAL\",\n 519: \"LAYOUT\",\n 520: \"RM.PRINT.AREA\",\n 521: \"CLEAR.PRINT.AREA\",\n 522: \"ADD.PRINT.AREA\",\n 523: \"MOVE.BRK\",\n 545: \"HIDECURR.NOTE\",\n 546: \"HIDEALL.NOTES\",\n 547: \"DELETE.NOTE\",\n 548: \"TRAVERSE.NOTES\",\n 549: \"ACTIVATE.NOTES\",\n 620: \"PROTECT.REVISIONS\",\n 621: \"UNPROTECT.REVISIONS\",\n 647: \"OPTIONS.ME\",\n 653: \"WEB.PUBLISH\",\n 667: \"NEWWEBQUERY\",\n 673: \"PIVOT.TABLE.CHART\",\n 753: \"OPTIONS.SAVE\",\n 755: \"OPTIONS.SPELL\",\n 808: \"HIDEALL.INKANNOTS\"\n};\nvar Ftab = {\n 0: \"COUNT\",\n 1: \"IF\",\n 2: \"ISNA\",\n 3: \"ISERROR\",\n 4: \"SUM\",\n 5: \"AVERAGE\",\n 6: \"MIN\",\n 7: \"MAX\",\n 8: \"ROW\",\n 9: \"COLUMN\",\n 10: \"NA\",\n 11: \"NPV\",\n 12: \"STDEV\",\n 13: \"DOLLAR\",\n 14: \"FIXED\",\n 15: \"SIN\",\n 16: \"COS\",\n 17: \"TAN\",\n 18: \"ATAN\",\n 19: \"PI\",\n 20: \"SQRT\",\n 21: \"EXP\",\n 22: \"LN\",\n 23: \"LOG10\",\n 24: \"ABS\",\n 25: \"INT\",\n 26: \"SIGN\",\n 27: \"ROUND\",\n 28: \"LOOKUP\",\n 29: \"INDEX\",\n 30: \"REPT\",\n 31: \"MID\",\n 32: \"LEN\",\n 33: \"VALUE\",\n 34: \"TRUE\",\n 35: \"FALSE\",\n 36: \"AND\",\n 37: \"OR\",\n 38: \"NOT\",\n 39: \"MOD\",\n 40: \"DCOUNT\",\n 41: \"DSUM\",\n 42: \"DAVERAGE\",\n 43: \"DMIN\",\n 44: \"DMAX\",\n 45: \"DSTDEV\",\n 46: \"VAR\",\n 47: \"DVAR\",\n 48: \"TEXT\",\n 49: \"LINEST\",\n 50: \"TREND\",\n 51: \"LOGEST\",\n 52: \"GROWTH\",\n 53: \"GOTO\",\n 54: \"HALT\",\n 55: \"RETURN\",\n 56: \"PV\",\n 57: \"FV\",\n 58: \"NPER\",\n 59: \"PMT\",\n 60: \"RATE\",\n 61: \"MIRR\",\n 62: \"IRR\",\n 63: \"RAND\",\n 64: \"MATCH\",\n 65: \"DATE\",\n 66: \"TIME\",\n 67: \"DAY\",\n 68: \"MONTH\",\n 69: \"YEAR\",\n 70: \"WEEKDAY\",\n 71: \"HOUR\",\n 72: \"MINUTE\",\n 73: \"SECOND\",\n 74: \"NOW\",\n 75: \"AREAS\",\n 76: \"ROWS\",\n 77: \"COLUMNS\",\n 78: \"OFFSET\",\n 79: \"ABSREF\",\n 80: \"RELREF\",\n 81: \"ARGUMENT\",\n 82: \"SEARCH\",\n 83: \"TRANSPOSE\",\n 84: \"ERROR\",\n 85: \"STEP\",\n 86: \"TYPE\",\n 87: \"ECHO\",\n 88: \"SET.NAME\",\n 89: \"CALLER\",\n 90: \"DEREF\",\n 91: \"WINDOWS\",\n 92: \"SERIES\",\n 93: \"DOCUMENTS\",\n 94: \"ACTIVE.CELL\",\n 95: \"SELECTION\",\n 96: \"RESULT\",\n 97: \"ATAN2\",\n 98: \"ASIN\",\n 99: \"ACOS\",\n 100: \"CHOOSE\",\n 101: \"HLOOKUP\",\n 102: \"VLOOKUP\",\n 103: \"LINKS\",\n 104: \"INPUT\",\n 105: \"ISREF\",\n 106: \"GET.FORMULA\",\n 107: \"GET.NAME\",\n 108: \"SET.VALUE\",\n 109: \"LOG\",\n 110: \"EXEC\",\n 111: \"CHAR\",\n 112: \"LOWER\",\n 113: \"UPPER\",\n 114: \"PROPER\",\n 115: \"LEFT\",\n 116: \"RIGHT\",\n 117: \"EXACT\",\n 118: \"TRIM\",\n 119: \"REPLACE\",\n 120: \"SUBSTITUTE\",\n 121: \"CODE\",\n 122: \"NAMES\",\n 123: \"DIRECTORY\",\n 124: \"FIND\",\n 125: \"CELL\",\n 126: \"ISERR\",\n 127: \"ISTEXT\",\n 128: \"ISNUMBER\",\n 129: \"ISBLANK\",\n 130: \"T\",\n 131: \"N\",\n 132: \"FOPEN\",\n 133: \"FCLOSE\",\n 134: \"FSIZE\",\n 135: \"FREADLN\",\n 136: \"FREAD\",\n 137: \"FWRITELN\",\n 138: \"FWRITE\",\n 139: \"FPOS\",\n 140: \"DATEVALUE\",\n 141: \"TIMEVALUE\",\n 142: \"SLN\",\n 143: \"SYD\",\n 144: \"DDB\",\n 145: \"GET.DEF\",\n 146: \"REFTEXT\",\n 147: \"TEXTREF\",\n 148: \"INDIRECT\",\n 149: \"REGISTER\",\n 150: \"CALL\",\n 151: \"ADD.BAR\",\n 152: \"ADD.MENU\",\n 153: \"ADD.COMMAND\",\n 154: \"ENABLE.COMMAND\",\n 155: \"CHECK.COMMAND\",\n 156: \"RENAME.COMMAND\",\n 157: \"SHOW.BAR\",\n 158: \"DELETE.MENU\",\n 159: \"DELETE.COMMAND\",\n 160: \"GET.CHART.ITEM\",\n 161: \"DIALOG.BOX\",\n 162: \"CLEAN\",\n 163: \"MDETERM\",\n 164: \"MINVERSE\",\n 165: \"MMULT\",\n 166: \"FILES\",\n 167: \"IPMT\",\n 168: \"PPMT\",\n 169: \"COUNTA\",\n 170: \"CANCEL.KEY\",\n 171: \"FOR\",\n 172: \"WHILE\",\n 173: \"BREAK\",\n 174: \"NEXT\",\n 175: \"INITIATE\",\n 176: \"REQUEST\",\n 177: \"POKE\",\n 178: \"EXECUTE\",\n 179: \"TERMINATE\",\n 180: \"RESTART\",\n 181: \"HELP\",\n 182: \"GET.BAR\",\n 183: \"PRODUCT\",\n 184: \"FACT\",\n 185: \"GET.CELL\",\n 186: \"GET.WORKSPACE\",\n 187: \"GET.WINDOW\",\n 188: \"GET.DOCUMENT\",\n 189: \"DPRODUCT\",\n 190: \"ISNONTEXT\",\n 191: \"GET.NOTE\",\n 192: \"NOTE\",\n 193: \"STDEVP\",\n 194: \"VARP\",\n 195: \"DSTDEVP\",\n 196: \"DVARP\",\n 197: \"TRUNC\",\n 198: \"ISLOGICAL\",\n 199: \"DCOUNTA\",\n 200: \"DELETE.BAR\",\n 201: \"UNREGISTER\",\n 204: \"USDOLLAR\",\n 205: \"FINDB\",\n 206: \"SEARCHB\",\n 207: \"REPLACEB\",\n 208: \"LEFTB\",\n 209: \"RIGHTB\",\n 210: \"MIDB\",\n 211: \"LENB\",\n 212: \"ROUNDUP\",\n 213: \"ROUNDDOWN\",\n 214: \"ASC\",\n 215: \"DBCS\",\n 216: \"RANK\",\n 219: \"ADDRESS\",\n 220: \"DAYS360\",\n 221: \"TODAY\",\n 222: \"VDB\",\n 223: \"ELSE\",\n 224: \"ELSE.IF\",\n 225: \"END.IF\",\n 226: \"FOR.CELL\",\n 227: \"MEDIAN\",\n 228: \"SUMPRODUCT\",\n 229: \"SINH\",\n 230: \"COSH\",\n 231: \"TANH\",\n 232: \"ASINH\",\n 233: \"ACOSH\",\n 234: \"ATANH\",\n 235: \"DGET\",\n 236: \"CREATE.OBJECT\",\n 237: \"VOLATILE\",\n 238: \"LAST.ERROR\",\n 239: \"CUSTOM.UNDO\",\n 240: \"CUSTOM.REPEAT\",\n 241: \"FORMULA.CONVERT\",\n 242: \"GET.LINK.INFO\",\n 243: \"TEXT.BOX\",\n 244: \"INFO\",\n 245: \"GROUP\",\n 246: \"GET.OBJECT\",\n 247: \"DB\",\n 248: \"PAUSE\",\n 251: \"RESUME\",\n 252: \"FREQUENCY\",\n 253: \"ADD.TOOLBAR\",\n 254: \"DELETE.TOOLBAR\",\n 255: \"User\",\n 256: \"RESET.TOOLBAR\",\n 257: \"EVALUATE\",\n 258: \"GET.TOOLBAR\",\n 259: \"GET.TOOL\",\n 260: \"SPELLING.CHECK\",\n 261: \"ERROR.TYPE\",\n 262: \"APP.TITLE\",\n 263: \"WINDOW.TITLE\",\n 264: \"SAVE.TOOLBAR\",\n 265: \"ENABLE.TOOL\",\n 266: \"PRESS.TOOL\",\n 267: \"REGISTER.ID\",\n 268: \"GET.WORKBOOK\",\n 269: \"AVEDEV\",\n 270: \"BETADIST\",\n 271: \"GAMMALN\",\n 272: \"BETAINV\",\n 273: \"BINOMDIST\",\n 274: \"CHIDIST\",\n 275: \"CHIINV\",\n 276: \"COMBIN\",\n 277: \"CONFIDENCE\",\n 278: \"CRITBINOM\",\n 279: \"EVEN\",\n 280: \"EXPONDIST\",\n 281: \"FDIST\",\n 282: \"FINV\",\n 283: \"FISHER\",\n 284: \"FISHERINV\",\n 285: \"FLOOR\",\n 286: \"GAMMADIST\",\n 287: \"GAMMAINV\",\n 288: \"CEILING\",\n 289: \"HYPGEOMDIST\",\n 290: \"LOGNORMDIST\",\n 291: \"LOGINV\",\n 292: \"NEGBINOMDIST\",\n 293: \"NORMDIST\",\n 294: \"NORMSDIST\",\n 295: \"NORMINV\",\n 296: \"NORMSINV\",\n 297: \"STANDARDIZE\",\n 298: \"ODD\",\n 299: \"PERMUT\",\n 300: \"POISSON\",\n 301: \"TDIST\",\n 302: \"WEIBULL\",\n 303: \"SUMXMY2\",\n 304: \"SUMX2MY2\",\n 305: \"SUMX2PY2\",\n 306: \"CHITEST\",\n 307: \"CORREL\",\n 308: \"COVAR\",\n 309: \"FORECAST\",\n 310: \"FTEST\",\n 311: \"INTERCEPT\",\n 312: \"PEARSON\",\n 313: \"RSQ\",\n 314: \"STEYX\",\n 315: \"SLOPE\",\n 316: \"TTEST\",\n 317: \"PROB\",\n 318: \"DEVSQ\",\n 319: \"GEOMEAN\",\n 320: \"HARMEAN\",\n 321: \"SUMSQ\",\n 322: \"KURT\",\n 323: \"SKEW\",\n 324: \"ZTEST\",\n 325: \"LARGE\",\n 326: \"SMALL\",\n 327: \"QUARTILE\",\n 328: \"PERCENTILE\",\n 329: \"PERCENTRANK\",\n 330: \"MODE\",\n 331: \"TRIMMEAN\",\n 332: \"TINV\",\n 334: \"MOVIE.COMMAND\",\n 335: \"GET.MOVIE\",\n 336: \"CONCATENATE\",\n 337: \"POWER\",\n 338: \"PIVOT.ADD.DATA\",\n 339: \"GET.PIVOT.TABLE\",\n 340: \"GET.PIVOT.FIELD\",\n 341: \"GET.PIVOT.ITEM\",\n 342: \"RADIANS\",\n 343: \"DEGREES\",\n 344: \"SUBTOTAL\",\n 345: \"SUMIF\",\n 346: \"COUNTIF\",\n 347: \"COUNTBLANK\",\n 348: \"SCENARIO.GET\",\n 349: \"OPTIONS.LISTS.GET\",\n 350: \"ISPMT\",\n 351: \"DATEDIF\",\n 352: \"DATESTRING\",\n 353: \"NUMBERSTRING\",\n 354: \"ROMAN\",\n 355: \"OPEN.DIALOG\",\n 356: \"SAVE.DIALOG\",\n 357: \"VIEW.GET\",\n 358: \"GETPIVOTDATA\",\n 359: \"HYPERLINK\",\n 360: \"PHONETIC\",\n 361: \"AVERAGEA\",\n 362: \"MAXA\",\n 363: \"MINA\",\n 364: \"STDEVPA\",\n 365: \"VARPA\",\n 366: \"STDEVA\",\n 367: \"VARA\",\n 368: \"BAHTTEXT\",\n 369: \"THAIDAYOFWEEK\",\n 370: \"THAIDIGIT\",\n 371: \"THAIMONTHOFYEAR\",\n 372: \"THAINUMSOUND\",\n 373: \"THAINUMSTRING\",\n 374: \"THAISTRINGLENGTH\",\n 375: \"ISTHAIDIGIT\",\n 376: \"ROUNDBAHTDOWN\",\n 377: \"ROUNDBAHTUP\",\n 378: \"THAIYEAR\",\n 379: \"RTD\",\n 380: \"CUBEVALUE\",\n 381: \"CUBEMEMBER\",\n 382: \"CUBEMEMBERPROPERTY\",\n 383: \"CUBERANKEDMEMBER\",\n 384: \"HEX2BIN\",\n 385: \"HEX2DEC\",\n 386: \"HEX2OCT\",\n 387: \"DEC2BIN\",\n 388: \"DEC2HEX\",\n 389: \"DEC2OCT\",\n 390: \"OCT2BIN\",\n 391: \"OCT2HEX\",\n 392: \"OCT2DEC\",\n 393: \"BIN2DEC\",\n 394: \"BIN2OCT\",\n 395: \"BIN2HEX\",\n 396: \"IMSUB\",\n 397: \"IMDIV\",\n 398: \"IMPOWER\",\n 399: \"IMABS\",\n 400: \"IMSQRT\",\n 401: \"IMLN\",\n 402: \"IMLOG2\",\n 403: \"IMLOG10\",\n 404: \"IMSIN\",\n 405: \"IMCOS\",\n 406: \"IMEXP\",\n 407: \"IMARGUMENT\",\n 408: \"IMCONJUGATE\",\n 409: \"IMAGINARY\",\n 410: \"IMREAL\",\n 411: \"COMPLEX\",\n 412: \"IMSUM\",\n 413: \"IMPRODUCT\",\n 414: \"SERIESSUM\",\n 415: \"FACTDOUBLE\",\n 416: \"SQRTPI\",\n 417: \"QUOTIENT\",\n 418: \"DELTA\",\n 419: \"GESTEP\",\n 420: \"ISEVEN\",\n 421: \"ISODD\",\n 422: \"MROUND\",\n 423: \"ERF\",\n 424: \"ERFC\",\n 425: \"BESSELJ\",\n 426: \"BESSELK\",\n 427: \"BESSELY\",\n 428: \"BESSELI\",\n 429: \"XIRR\",\n 430: \"XNPV\",\n 431: \"PRICEMAT\",\n 432: \"YIELDMAT\",\n 433: \"INTRATE\",\n 434: \"RECEIVED\",\n 435: \"DISC\",\n 436: \"PRICEDISC\",\n 437: \"YIELDDISC\",\n 438: \"TBILLEQ\",\n 439: \"TBILLPRICE\",\n 440: \"TBILLYIELD\",\n 441: \"PRICE\",\n 442: \"YIELD\",\n 443: \"DOLLARDE\",\n 444: \"DOLLARFR\",\n 445: \"NOMINAL\",\n 446: \"EFFECT\",\n 447: \"CUMPRINC\",\n 448: \"CUMIPMT\",\n 449: \"EDATE\",\n 450: \"EOMONTH\",\n 451: \"YEARFRAC\",\n 452: \"COUPDAYBS\",\n 453: \"COUPDAYS\",\n 454: \"COUPDAYSNC\",\n 455: \"COUPNCD\",\n 456: \"COUPNUM\",\n 457: \"COUPPCD\",\n 458: \"DURATION\",\n 459: \"MDURATION\",\n 460: \"ODDLPRICE\",\n 461: \"ODDLYIELD\",\n 462: \"ODDFPRICE\",\n 463: \"ODDFYIELD\",\n 464: \"RANDBETWEEN\",\n 465: \"WEEKNUM\",\n 466: \"AMORDEGRC\",\n 467: \"AMORLINC\",\n 468: \"CONVERT\",\n 724: \"SHEETJS\",\n 469: \"ACCRINT\",\n 470: \"ACCRINTM\",\n 471: \"WORKDAY\",\n 472: \"NETWORKDAYS\",\n 473: \"GCD\",\n 474: \"MULTINOMIAL\",\n 475: \"LCM\",\n 476: \"FVSCHEDULE\",\n 477: \"CUBEKPIMEMBER\",\n 478: \"CUBESET\",\n 479: \"CUBESETCOUNT\",\n 480: \"IFERROR\",\n 481: \"COUNTIFS\",\n 482: \"SUMIFS\",\n 483: \"AVERAGEIF\",\n 484: \"AVERAGEIFS\"\n};\nvar FtabArgc = {\n 2: 1,\n 3: 1,\n 10: 0,\n 15: 1,\n 16: 1,\n 17: 1,\n 18: 1,\n 19: 0,\n 20: 1,\n 21: 1,\n 22: 1,\n 23: 1,\n 24: 1,\n 25: 1,\n 26: 1,\n 27: 2,\n 30: 2,\n 31: 3,\n 32: 1,\n 33: 1,\n 34: 0,\n 35: 0,\n 38: 1,\n 39: 2,\n 40: 3,\n 41: 3,\n 42: 3,\n 43: 3,\n 44: 3,\n 45: 3,\n 47: 3,\n 48: 2,\n 53: 1,\n 61: 3,\n 63: 0,\n 65: 3,\n 66: 3,\n 67: 1,\n 68: 1,\n 69: 1,\n 70: 1,\n 71: 1,\n 72: 1,\n 73: 1,\n 74: 0,\n 75: 1,\n 76: 1,\n 77: 1,\n 79: 2,\n 80: 2,\n 83: 1,\n 85: 0,\n 86: 1,\n 89: 0,\n 90: 1,\n 94: 0,\n 95: 0,\n 97: 2,\n 98: 1,\n 99: 1,\n 101: 3,\n 102: 3,\n 105: 1,\n 106: 1,\n 108: 2,\n 111: 1,\n 112: 1,\n 113: 1,\n 114: 1,\n 117: 2,\n 118: 1,\n 119: 4,\n 121: 1,\n 126: 1,\n 127: 1,\n 128: 1,\n 129: 1,\n 130: 1,\n 131: 1,\n 133: 1,\n 134: 1,\n 135: 1,\n 136: 2,\n 137: 2,\n 138: 2,\n 140: 1,\n 141: 1,\n 142: 3,\n 143: 4,\n 144: 4,\n 161: 1,\n 162: 1,\n 163: 1,\n 164: 1,\n 165: 2,\n 172: 1,\n 175: 2,\n 176: 2,\n 177: 3,\n 178: 2,\n 179: 1,\n 184: 1,\n 186: 1,\n 189: 3,\n 190: 1,\n 195: 3,\n 196: 3,\n 197: 1,\n 198: 1,\n 199: 3,\n 201: 1,\n 207: 4,\n 210: 3,\n 211: 1,\n 212: 2,\n 213: 2,\n 214: 1,\n 215: 1,\n 225: 0,\n 229: 1,\n 230: 1,\n 231: 1,\n 232: 1,\n 233: 1,\n 234: 1,\n 235: 3,\n 244: 1,\n 247: 4,\n 252: 2,\n 257: 1,\n 261: 1,\n 271: 1,\n 273: 4,\n 274: 2,\n 275: 2,\n 276: 2,\n 277: 3,\n 278: 3,\n 279: 1,\n 280: 3,\n 281: 3,\n 282: 3,\n 283: 1,\n 284: 1,\n 285: 2,\n 286: 4,\n 287: 3,\n 288: 2,\n 289: 4,\n 290: 3,\n 291: 3,\n 292: 3,\n 293: 4,\n 294: 1,\n 295: 3,\n 296: 1,\n 297: 3,\n 298: 1,\n 299: 2,\n 300: 3,\n 301: 3,\n 302: 4,\n 303: 2,\n 304: 2,\n 305: 2,\n 306: 2,\n 307: 2,\n 308: 2,\n 309: 3,\n 310: 2,\n 311: 2,\n 312: 2,\n 313: 2,\n 314: 2,\n 315: 2,\n 316: 4,\n 325: 2,\n 326: 2,\n 327: 2,\n 328: 2,\n 331: 2,\n 332: 2,\n 337: 2,\n 342: 1,\n 343: 1,\n 346: 2,\n 347: 1,\n 350: 4,\n 351: 3,\n 352: 1,\n 353: 2,\n 360: 1,\n 368: 1,\n 369: 1,\n 370: 1,\n 371: 1,\n 372: 1,\n 373: 1,\n 374: 1,\n 375: 1,\n 376: 1,\n 377: 1,\n 378: 1,\n 382: 3,\n 385: 1,\n 392: 1,\n 393: 1,\n 396: 2,\n 397: 2,\n 398: 2,\n 399: 1,\n 400: 1,\n 401: 1,\n 402: 1,\n 403: 1,\n 404: 1,\n 405: 1,\n 406: 1,\n 407: 1,\n 408: 1,\n 409: 1,\n 410: 1,\n 414: 4,\n 415: 1,\n 416: 1,\n 417: 2,\n 420: 1,\n 421: 1,\n 422: 2,\n 424: 1,\n 425: 2,\n 426: 2,\n 427: 2,\n 428: 2,\n 430: 3,\n 438: 3,\n 439: 3,\n 440: 3,\n 443: 2,\n 444: 2,\n 445: 2,\n 446: 2,\n 447: 6,\n 448: 6,\n 449: 2,\n 450: 2,\n 464: 2,\n 468: 3,\n 476: 2,\n 479: 1,\n 480: 2,\n 65535: 0\n};\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f/*:string*/)/*:string*/ {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f/*:string*/)/*:string*/ {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r/*:string*/)/*:string*/ {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst/*:SST*/, str/*:string*/, rev)/*:number*/ {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}/*:any*/); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C/*:number*/, col) {\n\tvar p = ({min:C+1,max:C+1}/*:any*/);\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\tif(col.level != null) { p.outlineLevel = p.level = col.level; }\n\treturn p;\n}\n\nfunction default_margins(margins/*:Margins*/, mode/*:?string*/) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF_load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z' && !opts.cellStyles) return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif((!opts || opts.cellText !== false) && p.t !== 'z') try {\n\t\tif(table_fmt[fmtid] == null) SSF_load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = dd.toString(10);\n\t\t\t\telse p.w = SSF_general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF_general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF_format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws/*:Worksheet*/, sname/*:string*/, i/*:number*/) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws/*:Worksheet*/, s/*:string*/) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar sheetprregex2= /<(?:\\w:)?sheetPr[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetPr)>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tvar refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/);\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch/*:?any*/ = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\telse if((sheetPr = data1.match(sheetprregex2))) parse_ws_xml_sheetpr2(sheetPr[0], sheetPr[1]||\"\", s, wb, idx, styles, themes);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns/*:Array*/ = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges/*:Array*/ = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges/*:Array*/)/*:string*/ {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName));\n}\nfunction parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tparse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(\">\")), s, wb, idx);\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = utf8write(escapexml(cname));\n\t}\n\n\tif(ws && ws[\"!outline\"]) {\n\t\tvar outlineprops = {summaryBelow:1, summaryRight:1};\n\t\tif(ws[\"!outline\"].above) outlineprops.summaryBelow = 0;\n\t\tif(ws[\"!outline\"].left) outlineprops.summaryRight = 0;\n\t\tpayload = (payload||\"\") + writextag('outlinePr', null, outlineprops);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp)/*:string*/ {\n\t// algorithmName, hashValue, saltValue, spinCount\n\tvar o = ({sheet:1}/*:any*/);\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data/*:Array*/, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+unescapexml(val.location);\n\t\t} else {\n\t\t\tval.Target = \"#\" + unescapexml(val.location);\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin)/*:string*/ {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tif(coll.outlineLevel) coll.level = (+coll.outlineLevel || 0);\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols)/*:string*/ {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data/*:string*/) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx)/*:string*/ {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb/*:WBWBProps*/) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r/*:string*/, i/*:number*/) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(+tag.zoomScale) wb.Views[i].zoom = +tag.zoomScale;\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ {\n\tvar sview = ({workbookViewId:\"0\"}/*:any*/);\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ {\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\tif(cell.v === undefined && typeof cell.f !== \"string\" || cell.t === 'z' && !cell.f) return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = table_fmt[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/);\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(cell.v.length > 32767) throw new Error(\"Text length must not exceed 32767 characters\");\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.D) o.cm = 1;\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = /*#__PURE__*/(function() {\n\tvar cellregex = /<(?:\\w+:)?c[ \\/>]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) {\n\tvar ri = 0, x = \"\", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d=\"\", p/*:any*/;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows/*:Array*/ = [], rowobj = {}, rowrite = false;\n\tvar sheetStubs = !!opts.sheetStubs;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tvar rstarti = 0;\n\t\touta: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) {\n\t\t\tcase \">\" /*62*/:\n\t\t\t\tif(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != \"/\") { ++ri; break outa; }\n\t\t\t\tif(opts && opts.cellStyles) {\n\t\t\t\t\t// TODO: avoid duplication\n\t\t\t\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\t\t\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\t\t\t\trowobj = {}; rowrite = false;\n\t\t\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"<\" /*60*/: rstarti = ri; break;\n\t\t}\n\t\tif(rstarti >= ri) break;\n\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"}/*:any*/);\n\n\t\t\tif((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=unescapexml(utf8read(cref[1])).replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\tif(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(tag.cm && opts.xlmeta) {\n\t\t\t\tvar cm = (opts.xlmeta.Cell||[])[+tag.cm-1];\n\t\t\t\tif(cm && cm.type == 'XLDAPR') p.D = true;\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*//*::, rels*/)/*:string*/ {\n\tvar o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr}/*:any*/);\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1}/*:any*/);\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nfunction write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('worksheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(/*::(*/ws['!links']/*::||[])*/.length > 0) {\n\t\to[o.length] = \"\";\n\t\t/*::(*/ws['!links']/*::||[])*/.forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]}/*:any*/);\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({}/*:any*/);\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R/*:number*/, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo(/*::data, length*/) {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\tvar f = data[data.l]; ++data.l;\n\tz.above = !(f & 0x40);\n\tz.left = !(f & 0x80);\n\t/* TODO: pull flags */\n\tdata.l += 18;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, outl, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tvar f = 0xC0;\n\tif(outl) {\n\t\tif(outl.above) f &= ~0x40;\n\t\tif(outl.left) f &= ~0x80;\n\t}\n\to.write_shift(1, f);\n\tfor(var i = 1; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\nfunction parse_BrtShortBlank(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\treturn [cell];\n}\nfunction write_BrtShortBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(4);\n\treturn write_XLSBShortCell(ncell, o);\n}\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\nfunction parse_BrtShortBool(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtShortBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(5);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtCellError(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v);\n\treturn o;\n}\nfunction parse_BrtShortError(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtShortError(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v);\n\to.write_shift(2, 0);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\nfunction parse_BrtShortIsst(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtShortIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortReal(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortRk(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtCellRString */\nfunction parse_BrtCellRString(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RichStr(data);\n\treturn [cell, value, 'is'];\n}\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction parse_BrtShortSt(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtShortSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(8 + 4 * cell.v.length);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length/*::, opts*/) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display}/*:any*/);\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C/*:number*/, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ {\n\tvar margins = ({}/*:any*/);\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins/*:Margins*/, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins/*:any*/)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data/*::, length, opts*/) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\n\t\t/*:: if(o == null) throw \"unreachable\"; */\n\t\tif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s/*:Worksheet*/ = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state/*:Array*/ = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell/*:Cell*/;\n\tvar merges/*:Array*/ = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || /*::(*/wb/*:: :any)*/.supbooks || ([[]]/*:any*/);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtShortReal\", f:parse_BrtShortReal };\n\n\tvar cm, vm;\n\n\trecordhopper(data, function ws_parse(val, RR, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\tcase 0x000D: /* 'BrtShortRk' */\n\t\t\tcase 0x000E: /* 'BrtShortError' */\n\t\t\tcase 0x000F: /* 'BrtShortBool' */\n\t\t\tcase 0x0010: /* 'BrtShortReal' */\n\t\t\tcase 0x0011: /* 'BrtShortSt' */\n\t\t\tcase 0x0012: /* 'BrtShortIsst' */\n\t\t\tcase 0x003E: /* 'BrtCellRString' */\n\t\t\t\tp = ({t:val[2]}/*:any*/);\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t\tcase 'is': p.t = 's'; p.v = val[1].t; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\tcase 0x000C: /* 'BrtShortBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:void 0}/*:any*/);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x0031: { /* 'BrtCellMeta' */\n\t\t\t\tcm = ((opts.xlmeta||{}).Cell||[])[val-1];\n\t\t\t} break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr])/*:any*/);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tif(val.above || val.left) s['!outline'] = { above: val.above, left: val.left };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(RR.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ {\n\tif(cell.v === undefined) return false;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || table_fmt[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o/*:any*/ = ({r:R, c:C}/*:any*/);\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v/*:any*/), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\tif(last_seen) write_record(ba, 0x0012 /* BrtShortIsst */, write_BrtShortIsst(cell, o));\n\t\t\t\telse write_record(ba, 0x0007 /* BrtCellIsst */, write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\tif(last_seen) write_record(ba, 0x0011 /* BrtShortSt */, write_BrtShortSt(cell, o));\n\t\t\t\telse write_record(ba, 0x0006 /* BrtCellSt */, write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn true;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) {\n\t\t\t\tif(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o));\n\t\t\t\telse write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o));\n\t\t\t} else {\n\t\t\t\tif(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o));\n\t\t\t\telse write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o));\n\t\t\t} return true;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\tif(last_seen) write_record(ba, 0x000F /* BrtShortBool */, write_BrtShortBool(cell, o));\n\t\t\telse write_record(ba, 0x0004 /* BrtCellBool */, write_BrtCellBool(cell, o));\n\t\t\treturn true;\n\t\tcase 'e':\n\t\t\to.t = \"e\";\n\t\t\tif(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError(cell, o));\n\t\t\telse write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError(cell, o));\n\t\t\treturn true;\n\t}\n\tif(last_seen) write_record(ba, 0x000C /* BrtShortBlank */, write_BrtShortBlank(cell, o));\n\telse write_record(ba, 0x0001 /* BrtCellBlank */, write_BrtCellBlank(cell, o));\n\treturn true;\n}\n\nfunction write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols/*:Array*/ = [];\n\twrite_record(ba, 0x0091 /* BrtBeginSheetData */);\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tvar last_seen = false;\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) { last_seen = false; continue; }\n\t\t\t/* write cell */\n\t\t\tlast_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen);\n\t\t}\n\t}\n\twrite_record(ba, 0x0092 /* BrtEndSheetData */);\n}\n\nfunction write_MERGECELLS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 0x00B0 /* BrtMergeCell */, write_BrtMergeCell(m)); });\n\twrite_record(ba, 0x00B2 /* BrtEndMergeCells */);\n}\n\nfunction write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook*/) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 0x0186 /* BrtBeginColInfos */);\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 0x003C /* 'BrtColInfo' */, write_BrtColInfo(i, m)); });\n\twrite_record(ba, 0x0187 /* BrtEndColInfos */);\n}\n\nfunction write_IGNOREECS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 0x0288 /* BrtBeginCellIgnoreECs */);\n\twrite_record(ba, 0x0289 /* BrtCellIgnoreEC */, write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 0x028A /* BrtEndCellIgnoreECs */);\n}\n\nfunction write_HLINKS(ba, ws/*:Worksheet*/, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, 0x01EE /* BrtHLink */, write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, 0x0227 /* BrtLegacyDrawing */, write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, 0x00A1 /* BrtBeginAFilter */, write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, 0x00A2 /* BrtEndAFilter */);\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, 0x0085 /* BrtBeginWsViews */);\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, 0x0089 /* BrtBeginWsView */, write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, 0x008A /* BrtEndWsView */);\n\t}\n\t/* *FRT */\n\twrite_record(ba, 0x0086 /* BrtEndWsViews */);\n}\n\nfunction write_WSFMTINFO(/*::ba, ws*/) {\n\t/* [ACWSFMTINFO] */\n\t// write_record(ba, 0x01E5 /* BrtWsFmtInfo */, write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, 0x0217 /* BrtSheetProtection */, write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c/*:string*/ = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\tif(wb.vbaraw || ws['!outline']) write_record(ba, 0x0093 /* BrtWsProp */, write_BrtWsProp(c, ws['!outline']));\n\twrite_record(ba, 0x0094 /* BrtWsDim */, write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, 0x01DC /* BrtMargins */, write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\nfunction parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ {\n\tvar col/*:Array*/ = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) {\n\tvar cs/*:Worksheet*/ = ((csheet || {\"!type\":\"chart\"})/*:any*/);\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"}/*:any*/);\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('chartsheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length/*:number*/) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin(/*::idx:number, opts, wb:Workbook, rels*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb/*:Workbook*/)/*:string*/ {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = /*#__PURE__*/\"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts)/*:WorkbookFile*/ {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = /*::(*/{ AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" }/*::)*/;\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr/*:any*/ = ({codeName:\"ThisWorkbook\"}/*:any*/);\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\n\t\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]/*:any*/);\n\t\t});\n\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\tif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '';\n\t\to[o.length] = \"\";\n\t}\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))}/*:any*/);\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d/*:any*/ = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length/*:number*/) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length)/*:WBProps*/ {\n\tvar o/*:WBProps*/ = ({}/*:any*/);\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data/*:?WBProps*/, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula}/*:any*/);\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts)/*:WorkbookFile*/ {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]/*:any*/);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ };\n\n\trecordhopper(data, function hopper_wb(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x008F: /* 'BrtBeginBundleShs' */\n\t\t\tcase 0x0298: /* 'BrtBeginFnGroup' */\n\t\t\tcase 0x0161: /* 'BrtBeginExternals' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.length-1] != 0x0023 /* BrtFRTBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb/*:any*/).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb/*::, opts*/) {\n\twrite_record(ba, 0x008F /* BrtBeginBundleShs */);\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, 0x009C /* BrtBundleSh */, write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, 0x0090 /* BrtEndBundleShs */);\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb/*::, opts*/) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, 0x0087 /* BrtBeginBookViews */);\n\twrite_record(ba, 0x009E /* BrtBookView */, write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, 0x0088 /* BrtEndBookViews */);\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0083 /* BrtBeginBook */);\n\twrite_record(ba, 0x0080 /* BrtFileVersion */, write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, 0x0099 /* BrtWbProp */, write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, 0x009D BrtCalcProp, write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, 0x009B BrtFileRecover, write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, 0x0084 /* BrtEndBook */);\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name/*:string*/, opts)/*:WorkbookFile*/ {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data/*:any*/), opts);\n\treturn parse_wb_xml((data/*:any*/), opts);\n}\n\nfunction parse_ws(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name/*:string*/, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data/*:any*/), themes, opts);\n\treturn parse_sty_xml((data/*:any*/), themes, opts);\n}\n\nfunction parse_theme(data/*:string*/, name/*:string*/, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name/*:string*/, opts)/*:SST*/ {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data/*:any*/), opts);\n\treturn parse_sst_xml((data/*:any*/), opts);\n}\n\nfunction parse_cmnt(data, name/*:string*/, opts)/*:Array*/ {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data/*:any*/), opts);\n\treturn parse_comments_xml((data/*:any*/), opts);\n}\n\nfunction parse_cc(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data/*:any*/), name, opts);\n\treturn parse_cc_xml((data/*:any*/), name, opts);\n}\n\nfunction parse_xlink(data, rel, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data/*:any*/), rel, name, opts);\n\treturn parse_xlink_xml((data/*:any*/), rel, name, opts);\n}\n\nfunction parse_xlmeta(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlmeta_bin((data/*:any*/), name, opts);\n\treturn parse_xlmeta_xml((data/*:any*/), name, opts);\n}\n\nfunction write_wb(wb, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data/*:SST*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data/*:Array*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\n\nfunction write_xlmeta(name/*:string*/) {\n\treturn (name.slice(-4)===\".bin\" ? write_xlmeta_bin : write_xlmeta_xml)();\n}\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag/*:string*/, skip_root/*:?boolean*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z/*:any*/ = ([]/*:any*/); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag/*:string*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*: {[string]:string}*/;\n\nfunction xlml_format(format, value)/*:string*/ {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF_general(value);\n\treturn SSF_format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val/*:string*/) {\n\tvar oval/*:any*/ = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell/*:Cell*/, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = cell.v.toString(10);\n\t\t\t\telse cell.w = SSF_general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF_general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && fmt_is_date(z)) {\n\t\t\tvar _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment/*:any*/) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\n/* TODO: Everything */\nfunction parse_xlml_xml(d, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tmake_ssf();\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof $cptable !== 'undefined') str = $cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\topening = opening.replace(/\".*?\"/g, \"\");\n\tif((opening.indexOf(\">\") & 1023) > Math.min((opening.indexOf(\",\") & 1023), (opening.indexOf(\";\")&1023))) { var _o = dup(opts); _o.type = \"string\"; return PRN.to_workbook(str, _o); }\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return html_to_workbook(str, opts);\n\n\tXLMLFormatMap = ({\n\t\t\"General Number\": \"General\",\n\t\t\"General Date\": table_fmt[22],\n\t\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\t\"Medium Date\": table_fmt[15],\n\t\t\"Short Date\": table_fmt[14],\n\t\t\"Long Time\": table_fmt[19],\n\t\t\"Medium Time\": table_fmt[18],\n\t\t\"Short Time\": table_fmt[20],\n\t\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\t\"Fixed\": table_fmt[2],\n\t\t\"Standard\": table_fmt[4],\n\t\t\"Percent\": table_fmt[10],\n\t\t\"Scientific\": table_fmt[11],\n\t\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n\t}/*:any*/);\n\n\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges/*:Array*/ = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar rowinfo/*:Array*/ = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false} }/*:any*/), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:unescapexml(cell.HRef)}/*:any*/);\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\t/*:: if(!cc) cc = 0; if(!rr) rr = 0; */\n\t\t\t\t\tfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == null) { SSF_load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName/*:DefinedName*/ = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t}/*:any*/);\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\n\t\t\t/*:: if(Workbook.Names) */Workbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author}/*:any*/);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tcase 'null' /*case 'Null'*/: break;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\n\t\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\t\tWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].header = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].footer = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Top)) cursheet['!margins'].top = +pagemargins.Top;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Left)) cursheet['!margins'].left = +pagemargins.Left;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Right)) cursheet['!margins'].right = +pagemargins.Right;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Bottom)) cursheet['!margins'].bottom = +pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'printerrors' /*case 'PrintErrors'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].above = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].left = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = dup(table_fmt);\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data/*:RawBytes|string*/, opts)/*:Workbook*/ {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64_decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n\t/*:: throw new Error(\"unsupported type \" + opts.type); */\n}\n\n/* TODO */\nfunction write_props_xlml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml(/*::wb, opts*/)/*:string*/ {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts)/*:string*/ {\n\t/* Styles */\n\tvar styles/*:Array*/ = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload/*:Array*/ = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(table_fmt[xf.numFmtId])}));\n\n\t\tvar o = /*::(*/{\"ss:ID\": \"s\" + (21+id)}/*:: :any)*/;\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb/*::, opts*/)/*:string*/ {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tvar o/*:Array*/ = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments/*:Array*/)/*:string*/ {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R/*:number*/, row)/*:string*/ {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws['!ref']) return \"\";\n\tvar range/*:Range*/ = safe_decode_range(ws['!ref']);\n\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\tvar o/*:Array*/ = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"
\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts)/*:string*/ {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d/*:Array*/ = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj/*:CFBEntry*/) {\n\tvar v = {};\n\tvar o = obj.content;\n\t/*:: if(o == null) return; */\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m/*:number*/ = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue 0x003c\n\t- 2.4.59 ContinueBigName 0x043c\n\t- 2.4.60 ContinueFrt 0x0812\n\t- 2.4.61 ContinueFrt11 0x0875\n\t- 2.4.62 ContinueFrt12 0x087f\n*/\nvar CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ];\nfunction slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {\n\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */:\n\t\tbreak;\n\tcase 0x0085 /* BoundSheet8 */:\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt];\n\tvar start = 0;\n\twhile(next != null && CONTINUE_RT.indexOf(nextrt) > -1) {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(nextrt == 0x0812 /* ContinueFrt */) start += 4;\n\t\telse if(nextrt == 0x0875 || nextrt == 0x087f) {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs)/*:any*/);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record 0x\" + RecordType.toString(16) + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF_general(p.v);\n\t\t}\n\t\telse p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t)/*:Cell*/ {\n\treturn ({v:val, ixfe:ixfe, t:t}/*:any*/);\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {\n\tvar wb = ({opts:{}}/*:any*/);\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out/*:Worksheet*/ = ((options.dense ? [] : {})/*:any*/);\n\tvar Directory = {};\n\tvar range/*:Range*/ = ({}/*:any*/);\n\tvar last_formula = null;\n\tvar sst/*:SST*/ = ([]/*:any*/);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc/*:Cell*/, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar temp_val/*:Cell*/;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette/*:Array<[number, number, number]>*/ = [];\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {};\n\tvar get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line/*:any*/, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({}/*:any*/);\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t}/*:any*/);\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges/*:Array*/ = [];\n\tvar objects = [];\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\tvar supbooks = ([]/*:any*/); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_RT = 0;\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl/*:?DefinedName*/;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_RT === 0x000a /* EOF */) break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;\n\t\t\t}\n\t\t\tlast_RT = RecordType;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val/*:any*/ = ({}/*:any*/);\n\t\t\tif(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;\n\t\t\telse val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;\n\t\t\t/*:: val = (val:any); */\n\t\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue;\n\t\t\tswitch(RecordType) {\n\t\t\t\tcase 0x0022 /* Date1904 */:\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\twb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 0x002f /* FilePass */:\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x005c /* WriteAccess */: opts.lastuser = val; break;\n\t\t\t\tcase 0x0042 /* CodePage */:\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x013d /* RRTabId */: opts.rrtabid = val; break;\n\t\t\t\tcase 0x0019 /* WinProtect */: opts.winlocked = val; break;\n\t\t\t\tcase 0x01b7 /* RefreshAll */: wb.opts[\"RefreshAll\"] = val; break;\n\t\t\t\tcase 0x000c /* CalcCount */: wb.opts[\"CalcCount\"] = val; break;\n\t\t\t\tcase 0x0010 /* CalcDelta */: wb.opts[\"CalcDelta\"] = val; break;\n\t\t\t\tcase 0x0011 /* CalcIter */: wb.opts[\"CalcIter\"] = val; break;\n\t\t\t\tcase 0x000d /* CalcMode */: wb.opts[\"CalcMode\"] = val; break;\n\t\t\t\tcase 0x000e /* CalcPrecision */: wb.opts[\"CalcPrecision\"] = val; break;\n\t\t\t\tcase 0x005f /* CalcSaveRecalc */: wb.opts[\"CalcSaveRecalc\"] = val; break;\n\t\t\t\tcase 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;\n\t\t\t\tcase 0x0081 /* WsBool */:\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 0x00e0 /* XF */:\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 0x01ae /* SupBook */:\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0023: case 0x0223 /* ExternName */:\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0018: case 0x0218 /* Lbl */:\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t}/*:DefinedName*/);\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0016 /* ExternCount */: opts.ExternCount = val; break;\n\t\t\t\tcase 0x0017 /* ExternSheet */:\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 0x0894 /* NameCmt */:\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0012 /* Protect */: out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 0x0085 /* BoundSheet8 */: {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 0x000a /* EOF */: {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n\t\t\t\t\t\t/*::[*/0x0009/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0209/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0409/*::]*/:4\n\t\t\t\t\t}[RecordType] || {\n\t\t\t\t\t\t/*::[*/0x0200/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0300/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0400/*::]*/:4,\n\t\t\t\t\t\t/*::[*/0x0500/*::]*/:5,\n\t\t\t\t\t\t/*::[*/0x0600/*::]*/:8,\n\t\t\t\t\t\t/*::[*/0x0002/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0007/*::]*/:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\n\t\t\t\t\tif(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\t\t\t\tcase 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0005: case 0x0205 /* BoolErr */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x027e /* RK */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00bd /* MulRk */: {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0006: case 0x0206: case 0x0406 /* Formula */: {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x0007: case 0x0207 /* String */: {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 0x0021: case 0x0221 /* Array */: {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x04bc /* ShrFmla */: {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fd /* LabelSst */:\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0201 /* Blank */: if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00be /* MulBlank */: if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00d6 /* RString */:\n\t\t\t\tcase 0x0204 /* Label */: case 0x0004 /* BIFF2STR */:\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 0x0000: case 0x0200 /* Dimensions */: {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fc /* SST */: {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x041e /* Format */: { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF_load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF_load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 0x001e /* BIFF2FORMAT */: {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF_load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x00e5 /* MergeCells */: merges = merges.concat(val); break;\n\n\t\t\t\tcase 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;\n\t\t\t\tcase 0x007f /* ImData */: opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 0x01b8 /* HLink */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0800 /* HLinkTooltip */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x001c /* Note */: {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\t\t\t\tcase 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;\n\t\t\t\tcase 0x007d /* ColInfo */: {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0208 /* Row */: {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0026 /* LeftMargin */:\n\t\t\t\tcase 0x0027 /* RightMargin */:\n\t\t\t\tcase 0x0028 /* TopMargin */:\n\t\t\t\tcase 0x0029 /* BottomMargin */:\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][({0x26: \"left\", 0x27:\"right\", 0x28:\"top\", 0x29:\"bottom\"})[RecordType]] = val;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x00a1 /* Setup */: // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x023e /* Window2 */: // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0092 /* Palette */: palette = val; break;\n\t\t\t\tcase 0x0896 /* Theme */: themes = val; break;\n\t\t\t\tcase 0x008c /* Country */: country = val; break;\n\t\t\t\tcase 0x01ba /* CodeName */: {\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\tif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t}\n\t\t} else {\n\t\t\tif(!R) console.error(\"Missing Info for XLS Record 0x\" + RecordType.toString(16));\n\t\t\tblob.l += length;\n\t\t}\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = dup(table_fmt);\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb/*:CFBContainer*/, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '/!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '/!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tvar DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, \"n\");\n\tvar SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, \"n\");\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj/*:?CFBEntry*/, WB/*:?any*/;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64_decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb}/*:any*/);\n}\nvar /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */;\n\nvar _data/*:?any*/;\nif(CompObj) /*::CompObjP = */parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/);\nelse/*:: if(cfb instanceof CFBContainer) */ {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t/*::[*/0x0000/*::]*/: { /* n:\"BrtRowHdr\", */ f:parse_BrtRowHdr },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BrtCellBlank\", */ f:parse_BrtCellBlank },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BrtCellRk\", */ f:parse_BrtCellRk },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BrtCellError\", */ f:parse_BrtCellError },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BrtCellBool\", */ f:parse_BrtCellBool },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BrtCellReal\", */ f:parse_BrtCellReal },\n\t/*::[*/0x0006/*::]*/: { /* n:\"BrtCellSt\", */ f:parse_BrtCellSt },\n\t/*::[*/0x0007/*::]*/: { /* n:\"BrtCellIsst\", */ f:parse_BrtCellIsst },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BrtFmlaString\", */ f:parse_BrtFmlaString },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BrtFmlaNum\", */ f:parse_BrtFmlaNum },\n\t/*::[*/0x000A/*::]*/: { /* n:\"BrtFmlaBool\", */ f:parse_BrtFmlaBool },\n\t/*::[*/0x000B/*::]*/: { /* n:\"BrtFmlaError\", */ f:parse_BrtFmlaError },\n\t/*::[*/0x000C/*::]*/: { /* n:\"BrtShortBlank\", */ f:parse_BrtShortBlank },\n\t/*::[*/0x000D/*::]*/: { /* n:\"BrtShortRk\", */ f:parse_BrtShortRk },\n\t/*::[*/0x000E/*::]*/: { /* n:\"BrtShortError\", */ f:parse_BrtShortError },\n\t/*::[*/0x000F/*::]*/: { /* n:\"BrtShortBool\", */ f:parse_BrtShortBool },\n\t/*::[*/0x0010/*::]*/: { /* n:\"BrtShortReal\", */ f:parse_BrtShortReal },\n\t/*::[*/0x0011/*::]*/: { /* n:\"BrtShortSt\", */ f:parse_BrtShortSt },\n\t/*::[*/0x0012/*::]*/: { /* n:\"BrtShortIsst\", */ f:parse_BrtShortIsst },\n\t/*::[*/0x0013/*::]*/: { /* n:\"BrtSSTItem\", */ f:parse_RichStr },\n\t/*::[*/0x0014/*::]*/: { /* n:\"BrtPCDIMissing\" */ },\n\t/*::[*/0x0015/*::]*/: { /* n:\"BrtPCDINumber\" */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"BrtPCDIBoolean\" */ },\n\t/*::[*/0x0017/*::]*/: { /* n:\"BrtPCDIError\" */ },\n\t/*::[*/0x0018/*::]*/: { /* n:\"BrtPCDIString\" */ },\n\t/*::[*/0x0019/*::]*/: { /* n:\"BrtPCDIDatetime\" */ },\n\t/*::[*/0x001A/*::]*/: { /* n:\"BrtPCDIIndex\" */ },\n\t/*::[*/0x001B/*::]*/: { /* n:\"BrtPCDIAMissing\" */ },\n\t/*::[*/0x001C/*::]*/: { /* n:\"BrtPCDIANumber\" */ },\n\t/*::[*/0x001D/*::]*/: { /* n:\"BrtPCDIABoolean\" */ },\n\t/*::[*/0x001E/*::]*/: { /* n:\"BrtPCDIAError\" */ },\n\t/*::[*/0x001F/*::]*/: { /* n:\"BrtPCDIAString\" */ },\n\t/*::[*/0x0020/*::]*/: { /* n:\"BrtPCDIADatetime\" */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"BrtPCRRecord\" */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"BrtPCRRecordDt\" */ },\n\t/*::[*/0x0023/*::]*/: { /* n:\"BrtFRTBegin\", */ T:1 },\n\t/*::[*/0x0024/*::]*/: { /* n:\"BrtFRTEnd\", */ T:-1 },\n\t/*::[*/0x0025/*::]*/: { /* n:\"BrtACBegin\", */ T:1 },\n\t/*::[*/0x0026/*::]*/: { /* n:\"BrtACEnd\", */ T:-1 },\n\t/*::[*/0x0027/*::]*/: { /* n:\"BrtName\", */ f:parse_BrtName },\n\t/*::[*/0x0028/*::]*/: { /* n:\"BrtIndexRowBlock\" */ },\n\t/*::[*/0x002A/*::]*/: { /* n:\"BrtIndexBlock\" */ },\n\t/*::[*/0x002B/*::]*/: { /* n:\"BrtFont\", */ f:parse_BrtFont },\n\t/*::[*/0x002C/*::]*/: { /* n:\"BrtFmt\", */ f:parse_BrtFmt },\n\t/*::[*/0x002D/*::]*/: { /* n:\"BrtFill\", */ f:parse_BrtFill },\n\t/*::[*/0x002E/*::]*/: { /* n:\"BrtBorder\", */ f:parse_BrtBorder },\n\t/*::[*/0x002F/*::]*/: { /* n:\"BrtXF\", */ f:parse_BrtXF },\n\t/*::[*/0x0030/*::]*/: { /* n:\"BrtStyle\" */ },\n\t/*::[*/0x0031/*::]*/: { /* n:\"BrtCellMeta\", */ f:parse_Int32LE },\n\t/*::[*/0x0032/*::]*/: { /* n:\"BrtValueMeta\" */ },\n\t/*::[*/0x0033/*::]*/: { /* n:\"BrtMdb\" */ f:parse_BrtMdb },\n\t/*::[*/0x0034/*::]*/: { /* n:\"BrtBeginFmd\", */ T:1 },\n\t/*::[*/0x0035/*::]*/: { /* n:\"BrtEndFmd\", */ T:-1 },\n\t/*::[*/0x0036/*::]*/: { /* n:\"BrtBeginMdx\", */ T:1 },\n\t/*::[*/0x0037/*::]*/: { /* n:\"BrtEndMdx\", */ T:-1 },\n\t/*::[*/0x0038/*::]*/: { /* n:\"BrtBeginMdxTuple\", */ T:1 },\n\t/*::[*/0x0039/*::]*/: { /* n:\"BrtEndMdxTuple\", */ T:-1 },\n\t/*::[*/0x003A/*::]*/: { /* n:\"BrtMdxMbrIstr\" */ },\n\t/*::[*/0x003B/*::]*/: { /* n:\"BrtStr\" */ },\n\t/*::[*/0x003C/*::]*/: { /* n:\"BrtColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x003E/*::]*/: { /* n:\"BrtCellRString\", */ f:parse_BrtCellRString },\n\t/*::[*/0x003F/*::]*/: { /* n:\"BrtCalcChainItem$\", */ f:parse_BrtCalcChainItem$ },\n\t/*::[*/0x0040/*::]*/: { /* n:\"BrtDVal\", */ f:parse_BrtDVal },\n\t/*::[*/0x0041/*::]*/: { /* n:\"BrtSxvcellNum\" */ },\n\t/*::[*/0x0042/*::]*/: { /* n:\"BrtSxvcellStr\" */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BrtSxvcellBool\" */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BrtSxvcellErr\" */ },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BrtSxvcellDate\" */ },\n\t/*::[*/0x0046/*::]*/: { /* n:\"BrtSxvcellNil\" */ },\n\t/*::[*/0x0080/*::]*/: { /* n:\"BrtFileVersion\" */ },\n\t/*::[*/0x0081/*::]*/: { /* n:\"BrtBeginSheet\", */ T:1 },\n\t/*::[*/0x0082/*::]*/: { /* n:\"BrtEndSheet\", */ T:-1 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"BrtBeginBook\", */ T:1, f:parsenoop, p:0 },\n\t/*::[*/0x0084/*::]*/: { /* n:\"BrtEndBook\", */ T:-1 },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BrtBeginWsViews\", */ T:1 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"BrtEndWsViews\", */ T:-1 },\n\t/*::[*/0x0087/*::]*/: { /* n:\"BrtBeginBookViews\", */ T:1 },\n\t/*::[*/0x0088/*::]*/: { /* n:\"BrtEndBookViews\", */ T:-1 },\n\t/*::[*/0x0089/*::]*/: { /* n:\"BrtBeginWsView\", */ T:1, f:parse_BrtBeginWsView },\n\t/*::[*/0x008A/*::]*/: { /* n:\"BrtEndWsView\", */ T:-1 },\n\t/*::[*/0x008B/*::]*/: { /* n:\"BrtBeginCsViews\", */ T:1 },\n\t/*::[*/0x008C/*::]*/: { /* n:\"BrtEndCsViews\", */ T:-1 },\n\t/*::[*/0x008D/*::]*/: { /* n:\"BrtBeginCsView\", */ T:1 },\n\t/*::[*/0x008E/*::]*/: { /* n:\"BrtEndCsView\", */ T:-1 },\n\t/*::[*/0x008F/*::]*/: { /* n:\"BrtBeginBundleShs\", */ T:1 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"BrtEndBundleShs\", */ T:-1 },\n\t/*::[*/0x0091/*::]*/: { /* n:\"BrtBeginSheetData\", */ T:1 },\n\t/*::[*/0x0092/*::]*/: { /* n:\"BrtEndSheetData\", */ T:-1 },\n\t/*::[*/0x0093/*::]*/: { /* n:\"BrtWsProp\", */ f:parse_BrtWsProp },\n\t/*::[*/0x0094/*::]*/: { /* n:\"BrtWsDim\", */ f:parse_BrtWsDim, p:16 },\n\t/*::[*/0x0097/*::]*/: { /* n:\"BrtPane\", */ f:parse_BrtPane },\n\t/*::[*/0x0098/*::]*/: { /* n:\"BrtSel\" */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"BrtWbProp\", */ f:parse_BrtWbProp },\n\t/*::[*/0x009A/*::]*/: { /* n:\"BrtWbFactoid\" */ },\n\t/*::[*/0x009B/*::]*/: { /* n:\"BrtFileRecover\" */ },\n\t/*::[*/0x009C/*::]*/: { /* n:\"BrtBundleSh\", */ f:parse_BrtBundleSh },\n\t/*::[*/0x009D/*::]*/: { /* n:\"BrtCalcProp\" */ },\n\t/*::[*/0x009E/*::]*/: { /* n:\"BrtBookView\" */ },\n\t/*::[*/0x009F/*::]*/: { /* n:\"BrtBeginSst\", */ T:1, f:parse_BrtBeginSst },\n\t/*::[*/0x00A0/*::]*/: { /* n:\"BrtEndSst\", */ T:-1 },\n\t/*::[*/0x00A1/*::]*/: { /* n:\"BrtBeginAFilter\", */ T:1, f:parse_UncheckedRfX },\n\t/*::[*/0x00A2/*::]*/: { /* n:\"BrtEndAFilter\", */ T:-1 },\n\t/*::[*/0x00A3/*::]*/: { /* n:\"BrtBeginFilterColumn\", */ T:1 },\n\t/*::[*/0x00A4/*::]*/: { /* n:\"BrtEndFilterColumn\", */ T:-1 },\n\t/*::[*/0x00A5/*::]*/: { /* n:\"BrtBeginFilters\", */ T:1 },\n\t/*::[*/0x00A6/*::]*/: { /* n:\"BrtEndFilters\", */ T:-1 },\n\t/*::[*/0x00A7/*::]*/: { /* n:\"BrtFilter\" */ },\n\t/*::[*/0x00A8/*::]*/: { /* n:\"BrtColorFilter\" */ },\n\t/*::[*/0x00A9/*::]*/: { /* n:\"BrtIconFilter\" */ },\n\t/*::[*/0x00AA/*::]*/: { /* n:\"BrtTop10Filter\" */ },\n\t/*::[*/0x00AB/*::]*/: { /* n:\"BrtDynamicFilter\" */ },\n\t/*::[*/0x00AC/*::]*/: { /* n:\"BrtBeginCustomFilters\", */ T:1 },\n\t/*::[*/0x00AD/*::]*/: { /* n:\"BrtEndCustomFilters\", */ T:-1 },\n\t/*::[*/0x00AE/*::]*/: { /* n:\"BrtCustomFilter\" */ },\n\t/*::[*/0x00AF/*::]*/: { /* n:\"BrtAFilterDateGroupItem\" */ },\n\t/*::[*/0x00B0/*::]*/: { /* n:\"BrtMergeCell\", */ f:parse_BrtMergeCell },\n\t/*::[*/0x00B1/*::]*/: { /* n:\"BrtBeginMergeCells\", */ T:1 },\n\t/*::[*/0x00B2/*::]*/: { /* n:\"BrtEndMergeCells\", */ T:-1 },\n\t/*::[*/0x00B3/*::]*/: { /* n:\"BrtBeginPivotCacheDef\", */ T:1 },\n\t/*::[*/0x00B4/*::]*/: { /* n:\"BrtEndPivotCacheDef\", */ T:-1 },\n\t/*::[*/0x00B5/*::]*/: { /* n:\"BrtBeginPCDFields\", */ T:1 },\n\t/*::[*/0x00B6/*::]*/: { /* n:\"BrtEndPCDFields\", */ T:-1 },\n\t/*::[*/0x00B7/*::]*/: { /* n:\"BrtBeginPCDField\", */ T:1 },\n\t/*::[*/0x00B8/*::]*/: { /* n:\"BrtEndPCDField\", */ T:-1 },\n\t/*::[*/0x00B9/*::]*/: { /* n:\"BrtBeginPCDSource\", */ T:1 },\n\t/*::[*/0x00BA/*::]*/: { /* n:\"BrtEndPCDSource\", */ T:-1 },\n\t/*::[*/0x00BB/*::]*/: { /* n:\"BrtBeginPCDSRange\", */ T:1 },\n\t/*::[*/0x00BC/*::]*/: { /* n:\"BrtEndPCDSRange\", */ T:-1 },\n\t/*::[*/0x00BD/*::]*/: { /* n:\"BrtBeginPCDFAtbl\", */ T:1 },\n\t/*::[*/0x00BE/*::]*/: { /* n:\"BrtEndPCDFAtbl\", */ T:-1 },\n\t/*::[*/0x00BF/*::]*/: { /* n:\"BrtBeginPCDIRun\", */ T:1 },\n\t/*::[*/0x00C0/*::]*/: { /* n:\"BrtEndPCDIRun\", */ T:-1 },\n\t/*::[*/0x00C1/*::]*/: { /* n:\"BrtBeginPivotCacheRecords\", */ T:1 },\n\t/*::[*/0x00C2/*::]*/: { /* n:\"BrtEndPivotCacheRecords\", */ T:-1 },\n\t/*::[*/0x00C3/*::]*/: { /* n:\"BrtBeginPCDHierarchies\", */ T:1 },\n\t/*::[*/0x00C4/*::]*/: { /* n:\"BrtEndPCDHierarchies\", */ T:-1 },\n\t/*::[*/0x00C5/*::]*/: { /* n:\"BrtBeginPCDHierarchy\", */ T:1 },\n\t/*::[*/0x00C6/*::]*/: { /* n:\"BrtEndPCDHierarchy\", */ T:-1 },\n\t/*::[*/0x00C7/*::]*/: { /* n:\"BrtBeginPCDHFieldsUsage\", */ T:1 },\n\t/*::[*/0x00C8/*::]*/: { /* n:\"BrtEndPCDHFieldsUsage\", */ T:-1 },\n\t/*::[*/0x00C9/*::]*/: { /* n:\"BrtBeginExtConnection\", */ T:1 },\n\t/*::[*/0x00CA/*::]*/: { /* n:\"BrtEndExtConnection\", */ T:-1 },\n\t/*::[*/0x00CB/*::]*/: { /* n:\"BrtBeginECDbProps\", */ T:1 },\n\t/*::[*/0x00CC/*::]*/: { /* n:\"BrtEndECDbProps\", */ T:-1 },\n\t/*::[*/0x00CD/*::]*/: { /* n:\"BrtBeginECOlapProps\", */ T:1 },\n\t/*::[*/0x00CE/*::]*/: { /* n:\"BrtEndECOlapProps\", */ T:-1 },\n\t/*::[*/0x00CF/*::]*/: { /* n:\"BrtBeginPCDSConsol\", */ T:1 },\n\t/*::[*/0x00D0/*::]*/: { /* n:\"BrtEndPCDSConsol\", */ T:-1 },\n\t/*::[*/0x00D1/*::]*/: { /* n:\"BrtBeginPCDSCPages\", */ T:1 },\n\t/*::[*/0x00D2/*::]*/: { /* n:\"BrtEndPCDSCPages\", */ T:-1 },\n\t/*::[*/0x00D3/*::]*/: { /* n:\"BrtBeginPCDSCPage\", */ T:1 },\n\t/*::[*/0x00D4/*::]*/: { /* n:\"BrtEndPCDSCPage\", */ T:-1 },\n\t/*::[*/0x00D5/*::]*/: { /* n:\"BrtBeginPCDSCPItem\", */ T:1 },\n\t/*::[*/0x00D6/*::]*/: { /* n:\"BrtEndPCDSCPItem\", */ T:-1 },\n\t/*::[*/0x00D7/*::]*/: { /* n:\"BrtBeginPCDSCSets\", */ T:1 },\n\t/*::[*/0x00D8/*::]*/: { /* n:\"BrtEndPCDSCSets\", */ T:-1 },\n\t/*::[*/0x00D9/*::]*/: { /* n:\"BrtBeginPCDSCSet\", */ T:1 },\n\t/*::[*/0x00DA/*::]*/: { /* n:\"BrtEndPCDSCSet\", */ T:-1 },\n\t/*::[*/0x00DB/*::]*/: { /* n:\"BrtBeginPCDFGroup\", */ T:1 },\n\t/*::[*/0x00DC/*::]*/: { /* n:\"BrtEndPCDFGroup\", */ T:-1 },\n\t/*::[*/0x00DD/*::]*/: { /* n:\"BrtBeginPCDFGItems\", */ T:1 },\n\t/*::[*/0x00DE/*::]*/: { /* n:\"BrtEndPCDFGItems\", */ T:-1 },\n\t/*::[*/0x00DF/*::]*/: { /* n:\"BrtBeginPCDFGRange\", */ T:1 },\n\t/*::[*/0x00E0/*::]*/: { /* n:\"BrtEndPCDFGRange\", */ T:-1 },\n\t/*::[*/0x00E1/*::]*/: { /* n:\"BrtBeginPCDFGDiscrete\", */ T:1 },\n\t/*::[*/0x00E2/*::]*/: { /* n:\"BrtEndPCDFGDiscrete\", */ T:-1 },\n\t/*::[*/0x00E3/*::]*/: { /* n:\"BrtBeginPCDSDTupleCache\", */ T:1 },\n\t/*::[*/0x00E4/*::]*/: { /* n:\"BrtEndPCDSDTupleCache\", */ T:-1 },\n\t/*::[*/0x00E5/*::]*/: { /* n:\"BrtBeginPCDSDTCEntries\", */ T:1 },\n\t/*::[*/0x00E6/*::]*/: { /* n:\"BrtEndPCDSDTCEntries\", */ T:-1 },\n\t/*::[*/0x00E7/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembers\", */ T:1 },\n\t/*::[*/0x00E8/*::]*/: { /* n:\"BrtEndPCDSDTCEMembers\", */ T:-1 },\n\t/*::[*/0x00E9/*::]*/: { /* n:\"BrtBeginPCDSDTCEMember\", */ T:1 },\n\t/*::[*/0x00EA/*::]*/: { /* n:\"BrtEndPCDSDTCEMember\", */ T:-1 },\n\t/*::[*/0x00EB/*::]*/: { /* n:\"BrtBeginPCDSDTCQueries\", */ T:1 },\n\t/*::[*/0x00EC/*::]*/: { /* n:\"BrtEndPCDSDTCQueries\", */ T:-1 },\n\t/*::[*/0x00ED/*::]*/: { /* n:\"BrtBeginPCDSDTCQuery\", */ T:1 },\n\t/*::[*/0x00EE/*::]*/: { /* n:\"BrtEndPCDSDTCQuery\", */ T:-1 },\n\t/*::[*/0x00EF/*::]*/: { /* n:\"BrtBeginPCDSDTCSets\", */ T:1 },\n\t/*::[*/0x00F0/*::]*/: { /* n:\"BrtEndPCDSDTCSets\", */ T:-1 },\n\t/*::[*/0x00F1/*::]*/: { /* n:\"BrtBeginPCDSDTCSet\", */ T:1 },\n\t/*::[*/0x00F2/*::]*/: { /* n:\"BrtEndPCDSDTCSet\", */ T:-1 },\n\t/*::[*/0x00F3/*::]*/: { /* n:\"BrtBeginPCDCalcItems\", */ T:1 },\n\t/*::[*/0x00F4/*::]*/: { /* n:\"BrtEndPCDCalcItems\", */ T:-1 },\n\t/*::[*/0x00F5/*::]*/: { /* n:\"BrtBeginPCDCalcItem\", */ T:1 },\n\t/*::[*/0x00F6/*::]*/: { /* n:\"BrtEndPCDCalcItem\", */ T:-1 },\n\t/*::[*/0x00F7/*::]*/: { /* n:\"BrtBeginPRule\", */ T:1 },\n\t/*::[*/0x00F8/*::]*/: { /* n:\"BrtEndPRule\", */ T:-1 },\n\t/*::[*/0x00F9/*::]*/: { /* n:\"BrtBeginPRFilters\", */ T:1 },\n\t/*::[*/0x00FA/*::]*/: { /* n:\"BrtEndPRFilters\", */ T:-1 },\n\t/*::[*/0x00FB/*::]*/: { /* n:\"BrtBeginPRFilter\", */ T:1 },\n\t/*::[*/0x00FC/*::]*/: { /* n:\"BrtEndPRFilter\", */ T:-1 },\n\t/*::[*/0x00FD/*::]*/: { /* n:\"BrtBeginPNames\", */ T:1 },\n\t/*::[*/0x00FE/*::]*/: { /* n:\"BrtEndPNames\", */ T:-1 },\n\t/*::[*/0x00FF/*::]*/: { /* n:\"BrtBeginPName\", */ T:1 },\n\t/*::[*/0x0100/*::]*/: { /* n:\"BrtEndPName\", */ T:-1 },\n\t/*::[*/0x0101/*::]*/: { /* n:\"BrtBeginPNPairs\", */ T:1 },\n\t/*::[*/0x0102/*::]*/: { /* n:\"BrtEndPNPairs\", */ T:-1 },\n\t/*::[*/0x0103/*::]*/: { /* n:\"BrtBeginPNPair\", */ T:1 },\n\t/*::[*/0x0104/*::]*/: { /* n:\"BrtEndPNPair\", */ T:-1 },\n\t/*::[*/0x0105/*::]*/: { /* n:\"BrtBeginECWebProps\", */ T:1 },\n\t/*::[*/0x0106/*::]*/: { /* n:\"BrtEndECWebProps\", */ T:-1 },\n\t/*::[*/0x0107/*::]*/: { /* n:\"BrtBeginEcWpTables\", */ T:1 },\n\t/*::[*/0x0108/*::]*/: { /* n:\"BrtEndECWPTables\", */ T:-1 },\n\t/*::[*/0x0109/*::]*/: { /* n:\"BrtBeginECParams\", */ T:1 },\n\t/*::[*/0x010A/*::]*/: { /* n:\"BrtEndECParams\", */ T:-1 },\n\t/*::[*/0x010B/*::]*/: { /* n:\"BrtBeginECParam\", */ T:1 },\n\t/*::[*/0x010C/*::]*/: { /* n:\"BrtEndECParam\", */ T:-1 },\n\t/*::[*/0x010D/*::]*/: { /* n:\"BrtBeginPCDKPIs\", */ T:1 },\n\t/*::[*/0x010E/*::]*/: { /* n:\"BrtEndPCDKPIs\", */ T:-1 },\n\t/*::[*/0x010F/*::]*/: { /* n:\"BrtBeginPCDKPI\", */ T:1 },\n\t/*::[*/0x0110/*::]*/: { /* n:\"BrtEndPCDKPI\", */ T:-1 },\n\t/*::[*/0x0111/*::]*/: { /* n:\"BrtBeginDims\", */ T:1 },\n\t/*::[*/0x0112/*::]*/: { /* n:\"BrtEndDims\", */ T:-1 },\n\t/*::[*/0x0113/*::]*/: { /* n:\"BrtBeginDim\", */ T:1 },\n\t/*::[*/0x0114/*::]*/: { /* n:\"BrtEndDim\", */ T:-1 },\n\t/*::[*/0x0115/*::]*/: { /* n:\"BrtIndexPartEnd\" */ },\n\t/*::[*/0x0116/*::]*/: { /* n:\"BrtBeginStyleSheet\", */ T:1 },\n\t/*::[*/0x0117/*::]*/: { /* n:\"BrtEndStyleSheet\", */ T:-1 },\n\t/*::[*/0x0118/*::]*/: { /* n:\"BrtBeginSXView\", */ T:1 },\n\t/*::[*/0x0119/*::]*/: { /* n:\"BrtEndSXVI\", */ T:-1 },\n\t/*::[*/0x011A/*::]*/: { /* n:\"BrtBeginSXVI\", */ T:1 },\n\t/*::[*/0x011B/*::]*/: { /* n:\"BrtBeginSXVIs\", */ T:1 },\n\t/*::[*/0x011C/*::]*/: { /* n:\"BrtEndSXVIs\", */ T:-1 },\n\t/*::[*/0x011D/*::]*/: { /* n:\"BrtBeginSXVD\", */ T:1 },\n\t/*::[*/0x011E/*::]*/: { /* n:\"BrtEndSXVD\", */ T:-1 },\n\t/*::[*/0x011F/*::]*/: { /* n:\"BrtBeginSXVDs\", */ T:1 },\n\t/*::[*/0x0120/*::]*/: { /* n:\"BrtEndSXVDs\", */ T:-1 },\n\t/*::[*/0x0121/*::]*/: { /* n:\"BrtBeginSXPI\", */ T:1 },\n\t/*::[*/0x0122/*::]*/: { /* n:\"BrtEndSXPI\", */ T:-1 },\n\t/*::[*/0x0123/*::]*/: { /* n:\"BrtBeginSXPIs\", */ T:1 },\n\t/*::[*/0x0124/*::]*/: { /* n:\"BrtEndSXPIs\", */ T:-1 },\n\t/*::[*/0x0125/*::]*/: { /* n:\"BrtBeginSXDI\", */ T:1 },\n\t/*::[*/0x0126/*::]*/: { /* n:\"BrtEndSXDI\", */ T:-1 },\n\t/*::[*/0x0127/*::]*/: { /* n:\"BrtBeginSXDIs\", */ T:1 },\n\t/*::[*/0x0128/*::]*/: { /* n:\"BrtEndSXDIs\", */ T:-1 },\n\t/*::[*/0x0129/*::]*/: { /* n:\"BrtBeginSXLI\", */ T:1 },\n\t/*::[*/0x012A/*::]*/: { /* n:\"BrtEndSXLI\", */ T:-1 },\n\t/*::[*/0x012B/*::]*/: { /* n:\"BrtBeginSXLIRws\", */ T:1 },\n\t/*::[*/0x012C/*::]*/: { /* n:\"BrtEndSXLIRws\", */ T:-1 },\n\t/*::[*/0x012D/*::]*/: { /* n:\"BrtBeginSXLICols\", */ T:1 },\n\t/*::[*/0x012E/*::]*/: { /* n:\"BrtEndSXLICols\", */ T:-1 },\n\t/*::[*/0x012F/*::]*/: { /* n:\"BrtBeginSXFormat\", */ T:1 },\n\t/*::[*/0x0130/*::]*/: { /* n:\"BrtEndSXFormat\", */ T:-1 },\n\t/*::[*/0x0131/*::]*/: { /* n:\"BrtBeginSXFormats\", */ T:1 },\n\t/*::[*/0x0132/*::]*/: { /* n:\"BrtEndSxFormats\", */ T:-1 },\n\t/*::[*/0x0133/*::]*/: { /* n:\"BrtBeginSxSelect\", */ T:1 },\n\t/*::[*/0x0134/*::]*/: { /* n:\"BrtEndSxSelect\", */ T:-1 },\n\t/*::[*/0x0135/*::]*/: { /* n:\"BrtBeginISXVDRws\", */ T:1 },\n\t/*::[*/0x0136/*::]*/: { /* n:\"BrtEndISXVDRws\", */ T:-1 },\n\t/*::[*/0x0137/*::]*/: { /* n:\"BrtBeginISXVDCols\", */ T:1 },\n\t/*::[*/0x0138/*::]*/: { /* n:\"BrtEndISXVDCols\", */ T:-1 },\n\t/*::[*/0x0139/*::]*/: { /* n:\"BrtEndSXLocation\", */ T:-1 },\n\t/*::[*/0x013A/*::]*/: { /* n:\"BrtBeginSXLocation\", */ T:1 },\n\t/*::[*/0x013B/*::]*/: { /* n:\"BrtEndSXView\", */ T:-1 },\n\t/*::[*/0x013C/*::]*/: { /* n:\"BrtBeginSXTHs\", */ T:1 },\n\t/*::[*/0x013D/*::]*/: { /* n:\"BrtEndSXTHs\", */ T:-1 },\n\t/*::[*/0x013E/*::]*/: { /* n:\"BrtBeginSXTH\", */ T:1 },\n\t/*::[*/0x013F/*::]*/: { /* n:\"BrtEndSXTH\", */ T:-1 },\n\t/*::[*/0x0140/*::]*/: { /* n:\"BrtBeginISXTHRws\", */ T:1 },\n\t/*::[*/0x0141/*::]*/: { /* n:\"BrtEndISXTHRws\", */ T:-1 },\n\t/*::[*/0x0142/*::]*/: { /* n:\"BrtBeginISXTHCols\", */ T:1 },\n\t/*::[*/0x0143/*::]*/: { /* n:\"BrtEndISXTHCols\", */ T:-1 },\n\t/*::[*/0x0144/*::]*/: { /* n:\"BrtBeginSXTDMPS\", */ T:1 },\n\t/*::[*/0x0145/*::]*/: { /* n:\"BrtEndSXTDMPs\", */ T:-1 },\n\t/*::[*/0x0146/*::]*/: { /* n:\"BrtBeginSXTDMP\", */ T:1 },\n\t/*::[*/0x0147/*::]*/: { /* n:\"BrtEndSXTDMP\", */ T:-1 },\n\t/*::[*/0x0148/*::]*/: { /* n:\"BrtBeginSXTHItems\", */ T:1 },\n\t/*::[*/0x0149/*::]*/: { /* n:\"BrtEndSXTHItems\", */ T:-1 },\n\t/*::[*/0x014A/*::]*/: { /* n:\"BrtBeginSXTHItem\", */ T:1 },\n\t/*::[*/0x014B/*::]*/: { /* n:\"BrtEndSXTHItem\", */ T:-1 },\n\t/*::[*/0x014C/*::]*/: { /* n:\"BrtBeginMetadata\", */ T:1 },\n\t/*::[*/0x014D/*::]*/: { /* n:\"BrtEndMetadata\", */ T:-1 },\n\t/*::[*/0x014E/*::]*/: { /* n:\"BrtBeginEsmdtinfo\", */ T:1 },\n\t/*::[*/0x014F/*::]*/: { /* n:\"BrtMdtinfo\", */ f:parse_BrtMdtinfo },\n\t/*::[*/0x0150/*::]*/: { /* n:\"BrtEndEsmdtinfo\", */ T:-1 },\n\t/*::[*/0x0151/*::]*/: { /* n:\"BrtBeginEsmdb\", */ f:parse_BrtBeginEsmdb, T:1 },\n\t/*::[*/0x0152/*::]*/: { /* n:\"BrtEndEsmdb\", */ T:-1 },\n\t/*::[*/0x0153/*::]*/: { /* n:\"BrtBeginEsfmd\", */ T:1 },\n\t/*::[*/0x0154/*::]*/: { /* n:\"BrtEndEsfmd\", */ T:-1 },\n\t/*::[*/0x0155/*::]*/: { /* n:\"BrtBeginSingleCells\", */ T:1 },\n\t/*::[*/0x0156/*::]*/: { /* n:\"BrtEndSingleCells\", */ T:-1 },\n\t/*::[*/0x0157/*::]*/: { /* n:\"BrtBeginList\", */ T:1 },\n\t/*::[*/0x0158/*::]*/: { /* n:\"BrtEndList\", */ T:-1 },\n\t/*::[*/0x0159/*::]*/: { /* n:\"BrtBeginListCols\", */ T:1 },\n\t/*::[*/0x015A/*::]*/: { /* n:\"BrtEndListCols\", */ T:-1 },\n\t/*::[*/0x015B/*::]*/: { /* n:\"BrtBeginListCol\", */ T:1 },\n\t/*::[*/0x015C/*::]*/: { /* n:\"BrtEndListCol\", */ T:-1 },\n\t/*::[*/0x015D/*::]*/: { /* n:\"BrtBeginListXmlCPr\", */ T:1 },\n\t/*::[*/0x015E/*::]*/: { /* n:\"BrtEndListXmlCPr\", */ T:-1 },\n\t/*::[*/0x015F/*::]*/: { /* n:\"BrtListCCFmla\" */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"BrtListTrFmla\" */ },\n\t/*::[*/0x0161/*::]*/: { /* n:\"BrtBeginExternals\", */ T:1 },\n\t/*::[*/0x0162/*::]*/: { /* n:\"BrtEndExternals\", */ T:-1 },\n\t/*::[*/0x0163/*::]*/: { /* n:\"BrtSupBookSrc\", */ f:parse_RelID},\n\t/*::[*/0x0165/*::]*/: { /* n:\"BrtSupSelf\" */ },\n\t/*::[*/0x0166/*::]*/: { /* n:\"BrtSupSame\" */ },\n\t/*::[*/0x0167/*::]*/: { /* n:\"BrtSupTabs\" */ },\n\t/*::[*/0x0168/*::]*/: { /* n:\"BrtBeginSupBook\", */ T:1 },\n\t/*::[*/0x0169/*::]*/: { /* n:\"BrtPlaceholderName\" */ },\n\t/*::[*/0x016A/*::]*/: { /* n:\"BrtExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x016B/*::]*/: { /* n:\"BrtExternTableStart\" */ },\n\t/*::[*/0x016C/*::]*/: { /* n:\"BrtExternTableEnd\" */ },\n\t/*::[*/0x016E/*::]*/: { /* n:\"BrtExternRowHdr\" */ },\n\t/*::[*/0x016F/*::]*/: { /* n:\"BrtExternCellBlank\" */ },\n\t/*::[*/0x0170/*::]*/: { /* n:\"BrtExternCellReal\" */ },\n\t/*::[*/0x0171/*::]*/: { /* n:\"BrtExternCellBool\" */ },\n\t/*::[*/0x0172/*::]*/: { /* n:\"BrtExternCellError\" */ },\n\t/*::[*/0x0173/*::]*/: { /* n:\"BrtExternCellString\" */ },\n\t/*::[*/0x0174/*::]*/: { /* n:\"BrtBeginEsmdx\", */ T:1 },\n\t/*::[*/0x0175/*::]*/: { /* n:\"BrtEndEsmdx\", */ T:-1 },\n\t/*::[*/0x0176/*::]*/: { /* n:\"BrtBeginMdxSet\", */ T:1 },\n\t/*::[*/0x0177/*::]*/: { /* n:\"BrtEndMdxSet\", */ T:-1 },\n\t/*::[*/0x0178/*::]*/: { /* n:\"BrtBeginMdxMbrProp\", */ T:1 },\n\t/*::[*/0x0179/*::]*/: { /* n:\"BrtEndMdxMbrProp\", */ T:-1 },\n\t/*::[*/0x017A/*::]*/: { /* n:\"BrtBeginMdxKPI\", */ T:1 },\n\t/*::[*/0x017B/*::]*/: { /* n:\"BrtEndMdxKPI\", */ T:-1 },\n\t/*::[*/0x017C/*::]*/: { /* n:\"BrtBeginEsstr\", */ T:1 },\n\t/*::[*/0x017D/*::]*/: { /* n:\"BrtEndEsstr\", */ T:-1 },\n\t/*::[*/0x017E/*::]*/: { /* n:\"BrtBeginPRFItem\", */ T:1 },\n\t/*::[*/0x017F/*::]*/: { /* n:\"BrtEndPRFItem\", */ T:-1 },\n\t/*::[*/0x0180/*::]*/: { /* n:\"BrtBeginPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0181/*::]*/: { /* n:\"BrtEndPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0182/*::]*/: { /* n:\"BrtBeginPivotCacheID\", */ T:1 },\n\t/*::[*/0x0183/*::]*/: { /* n:\"BrtEndPivotCacheID\", */ T:-1 },\n\t/*::[*/0x0184/*::]*/: { /* n:\"BrtBeginISXVIs\", */ T:1 },\n\t/*::[*/0x0185/*::]*/: { /* n:\"BrtEndISXVIs\", */ T:-1 },\n\t/*::[*/0x0186/*::]*/: { /* n:\"BrtBeginColInfos\", */ T:1 },\n\t/*::[*/0x0187/*::]*/: { /* n:\"BrtEndColInfos\", */ T:-1 },\n\t/*::[*/0x0188/*::]*/: { /* n:\"BrtBeginRwBrk\", */ T:1 },\n\t/*::[*/0x0189/*::]*/: { /* n:\"BrtEndRwBrk\", */ T:-1 },\n\t/*::[*/0x018A/*::]*/: { /* n:\"BrtBeginColBrk\", */ T:1 },\n\t/*::[*/0x018B/*::]*/: { /* n:\"BrtEndColBrk\", */ T:-1 },\n\t/*::[*/0x018C/*::]*/: { /* n:\"BrtBrk\" */ },\n\t/*::[*/0x018D/*::]*/: { /* n:\"BrtUserBookView\" */ },\n\t/*::[*/0x018E/*::]*/: { /* n:\"BrtInfo\" */ },\n\t/*::[*/0x018F/*::]*/: { /* n:\"BrtCUsr\" */ },\n\t/*::[*/0x0190/*::]*/: { /* n:\"BrtUsr\" */ },\n\t/*::[*/0x0191/*::]*/: { /* n:\"BrtBeginUsers\", */ T:1 },\n\t/*::[*/0x0193/*::]*/: { /* n:\"BrtEOF\" */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"BrtUCR\" */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"BrtRRInsDel\" */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"BrtRREndInsDel\" */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BrtRRMove\" */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"BrtRREndMove\" */ },\n\t/*::[*/0x0199/*::]*/: { /* n:\"BrtRRChgCell\" */ },\n\t/*::[*/0x019A/*::]*/: { /* n:\"BrtRREndChgCell\" */ },\n\t/*::[*/0x019B/*::]*/: { /* n:\"BrtRRHeader\" */ },\n\t/*::[*/0x019C/*::]*/: { /* n:\"BrtRRUserView\" */ },\n\t/*::[*/0x019D/*::]*/: { /* n:\"BrtRRRenSheet\" */ },\n\t/*::[*/0x019E/*::]*/: { /* n:\"BrtRRInsertSh\" */ },\n\t/*::[*/0x019F/*::]*/: { /* n:\"BrtRRDefName\" */ },\n\t/*::[*/0x01A0/*::]*/: { /* n:\"BrtRRNote\" */ },\n\t/*::[*/0x01A1/*::]*/: { /* n:\"BrtRRConflict\" */ },\n\t/*::[*/0x01A2/*::]*/: { /* n:\"BrtRRTQSIF\" */ },\n\t/*::[*/0x01A3/*::]*/: { /* n:\"BrtRRFormat\" */ },\n\t/*::[*/0x01A4/*::]*/: { /* n:\"BrtRREndFormat\" */ },\n\t/*::[*/0x01A5/*::]*/: { /* n:\"BrtRRAutoFmt\" */ },\n\t/*::[*/0x01A6/*::]*/: { /* n:\"BrtBeginUserShViews\", */ T:1 },\n\t/*::[*/0x01A7/*::]*/: { /* n:\"BrtBeginUserShView\", */ T:1 },\n\t/*::[*/0x01A8/*::]*/: { /* n:\"BrtEndUserShView\", */ T:-1 },\n\t/*::[*/0x01A9/*::]*/: { /* n:\"BrtEndUserShViews\", */ T:-1 },\n\t/*::[*/0x01AA/*::]*/: { /* n:\"BrtArrFmla\", */ f:parse_BrtArrFmla },\n\t/*::[*/0x01AB/*::]*/: { /* n:\"BrtShrFmla\", */ f:parse_BrtShrFmla },\n\t/*::[*/0x01AC/*::]*/: { /* n:\"BrtTable\" */ },\n\t/*::[*/0x01AD/*::]*/: { /* n:\"BrtBeginExtConnections\", */ T:1 },\n\t/*::[*/0x01AE/*::]*/: { /* n:\"BrtEndExtConnections\", */ T:-1 },\n\t/*::[*/0x01AF/*::]*/: { /* n:\"BrtBeginPCDCalcMems\", */ T:1 },\n\t/*::[*/0x01B0/*::]*/: { /* n:\"BrtEndPCDCalcMems\", */ T:-1 },\n\t/*::[*/0x01B1/*::]*/: { /* n:\"BrtBeginPCDCalcMem\", */ T:1 },\n\t/*::[*/0x01B2/*::]*/: { /* n:\"BrtEndPCDCalcMem\", */ T:-1 },\n\t/*::[*/0x01B3/*::]*/: { /* n:\"BrtBeginPCDHGLevels\", */ T:1 },\n\t/*::[*/0x01B4/*::]*/: { /* n:\"BrtEndPCDHGLevels\", */ T:-1 },\n\t/*::[*/0x01B5/*::]*/: { /* n:\"BrtBeginPCDHGLevel\", */ T:1 },\n\t/*::[*/0x01B6/*::]*/: { /* n:\"BrtEndPCDHGLevel\", */ T:-1 },\n\t/*::[*/0x01B7/*::]*/: { /* n:\"BrtBeginPCDHGLGroups\", */ T:1 },\n\t/*::[*/0x01B8/*::]*/: { /* n:\"BrtEndPCDHGLGroups\", */ T:-1 },\n\t/*::[*/0x01B9/*::]*/: { /* n:\"BrtBeginPCDHGLGroup\", */ T:1 },\n\t/*::[*/0x01BA/*::]*/: { /* n:\"BrtEndPCDHGLGroup\", */ T:-1 },\n\t/*::[*/0x01BB/*::]*/: { /* n:\"BrtBeginPCDHGLGMembers\", */ T:1 },\n\t/*::[*/0x01BC/*::]*/: { /* n:\"BrtEndPCDHGLGMembers\", */ T:-1 },\n\t/*::[*/0x01BD/*::]*/: { /* n:\"BrtBeginPCDHGLGMember\", */ T:1 },\n\t/*::[*/0x01BE/*::]*/: { /* n:\"BrtEndPCDHGLGMember\", */ T:-1 },\n\t/*::[*/0x01BF/*::]*/: { /* n:\"BrtBeginQSI\", */ T:1 },\n\t/*::[*/0x01C0/*::]*/: { /* n:\"BrtEndQSI\", */ T:-1 },\n\t/*::[*/0x01C1/*::]*/: { /* n:\"BrtBeginQSIR\", */ T:1 },\n\t/*::[*/0x01C2/*::]*/: { /* n:\"BrtEndQSIR\", */ T:-1 },\n\t/*::[*/0x01C3/*::]*/: { /* n:\"BrtBeginDeletedNames\", */ T:1 },\n\t/*::[*/0x01C4/*::]*/: { /* n:\"BrtEndDeletedNames\", */ T:-1 },\n\t/*::[*/0x01C5/*::]*/: { /* n:\"BrtBeginDeletedName\", */ T:1 },\n\t/*::[*/0x01C6/*::]*/: { /* n:\"BrtEndDeletedName\", */ T:-1 },\n\t/*::[*/0x01C7/*::]*/: { /* n:\"BrtBeginQSIFs\", */ T:1 },\n\t/*::[*/0x01C8/*::]*/: { /* n:\"BrtEndQSIFs\", */ T:-1 },\n\t/*::[*/0x01C9/*::]*/: { /* n:\"BrtBeginQSIF\", */ T:1 },\n\t/*::[*/0x01CA/*::]*/: { /* n:\"BrtEndQSIF\", */ T:-1 },\n\t/*::[*/0x01CB/*::]*/: { /* n:\"BrtBeginAutoSortScope\", */ T:1 },\n\t/*::[*/0x01CC/*::]*/: { /* n:\"BrtEndAutoSortScope\", */ T:-1 },\n\t/*::[*/0x01CD/*::]*/: { /* n:\"BrtBeginConditionalFormatting\", */ T:1 },\n\t/*::[*/0x01CE/*::]*/: { /* n:\"BrtEndConditionalFormatting\", */ T:-1 },\n\t/*::[*/0x01CF/*::]*/: { /* n:\"BrtBeginCFRule\", */ T:1 },\n\t/*::[*/0x01D0/*::]*/: { /* n:\"BrtEndCFRule\", */ T:-1 },\n\t/*::[*/0x01D1/*::]*/: { /* n:\"BrtBeginIconSet\", */ T:1 },\n\t/*::[*/0x01D2/*::]*/: { /* n:\"BrtEndIconSet\", */ T:-1 },\n\t/*::[*/0x01D3/*::]*/: { /* n:\"BrtBeginDatabar\", */ T:1 },\n\t/*::[*/0x01D4/*::]*/: { /* n:\"BrtEndDatabar\", */ T:-1 },\n\t/*::[*/0x01D5/*::]*/: { /* n:\"BrtBeginColorScale\", */ T:1 },\n\t/*::[*/0x01D6/*::]*/: { /* n:\"BrtEndColorScale\", */ T:-1 },\n\t/*::[*/0x01D7/*::]*/: { /* n:\"BrtCFVO\" */ },\n\t/*::[*/0x01D8/*::]*/: { /* n:\"BrtExternValueMeta\" */ },\n\t/*::[*/0x01D9/*::]*/: { /* n:\"BrtBeginColorPalette\", */ T:1 },\n\t/*::[*/0x01DA/*::]*/: { /* n:\"BrtEndColorPalette\", */ T:-1 },\n\t/*::[*/0x01DB/*::]*/: { /* n:\"BrtIndexedColor\" */ },\n\t/*::[*/0x01DC/*::]*/: { /* n:\"BrtMargins\", */ f:parse_BrtMargins },\n\t/*::[*/0x01DD/*::]*/: { /* n:\"BrtPrintOptions\" */ },\n\t/*::[*/0x01DE/*::]*/: { /* n:\"BrtPageSetup\" */ },\n\t/*::[*/0x01DF/*::]*/: { /* n:\"BrtBeginHeaderFooter\", */ T:1 },\n\t/*::[*/0x01E0/*::]*/: { /* n:\"BrtEndHeaderFooter\", */ T:-1 },\n\t/*::[*/0x01E1/*::]*/: { /* n:\"BrtBeginSXCrtFormat\", */ T:1 },\n\t/*::[*/0x01E2/*::]*/: { /* n:\"BrtEndSXCrtFormat\", */ T:-1 },\n\t/*::[*/0x01E3/*::]*/: { /* n:\"BrtBeginSXCrtFormats\", */ T:1 },\n\t/*::[*/0x01E4/*::]*/: { /* n:\"BrtEndSXCrtFormats\", */ T:-1 },\n\t/*::[*/0x01E5/*::]*/: { /* n:\"BrtWsFmtInfo\", */ f:parse_BrtWsFmtInfo },\n\t/*::[*/0x01E6/*::]*/: { /* n:\"BrtBeginMgs\", */ T:1 },\n\t/*::[*/0x01E7/*::]*/: { /* n:\"BrtEndMGs\", */ T:-1 },\n\t/*::[*/0x01E8/*::]*/: { /* n:\"BrtBeginMGMaps\", */ T:1 },\n\t/*::[*/0x01E9/*::]*/: { /* n:\"BrtEndMGMaps\", */ T:-1 },\n\t/*::[*/0x01EA/*::]*/: { /* n:\"BrtBeginMG\", */ T:1 },\n\t/*::[*/0x01EB/*::]*/: { /* n:\"BrtEndMG\", */ T:-1 },\n\t/*::[*/0x01EC/*::]*/: { /* n:\"BrtBeginMap\", */ T:1 },\n\t/*::[*/0x01ED/*::]*/: { /* n:\"BrtEndMap\", */ T:-1 },\n\t/*::[*/0x01EE/*::]*/: { /* n:\"BrtHLink\", */ f:parse_BrtHLink },\n\t/*::[*/0x01EF/*::]*/: { /* n:\"BrtBeginDCon\", */ T:1 },\n\t/*::[*/0x01F0/*::]*/: { /* n:\"BrtEndDCon\", */ T:-1 },\n\t/*::[*/0x01F1/*::]*/: { /* n:\"BrtBeginDRefs\", */ T:1 },\n\t/*::[*/0x01F2/*::]*/: { /* n:\"BrtEndDRefs\", */ T:-1 },\n\t/*::[*/0x01F3/*::]*/: { /* n:\"BrtDRef\" */ },\n\t/*::[*/0x01F4/*::]*/: { /* n:\"BrtBeginScenMan\", */ T:1 },\n\t/*::[*/0x01F5/*::]*/: { /* n:\"BrtEndScenMan\", */ T:-1 },\n\t/*::[*/0x01F6/*::]*/: { /* n:\"BrtBeginSct\", */ T:1 },\n\t/*::[*/0x01F7/*::]*/: { /* n:\"BrtEndSct\", */ T:-1 },\n\t/*::[*/0x01F8/*::]*/: { /* n:\"BrtSlc\" */ },\n\t/*::[*/0x01F9/*::]*/: { /* n:\"BrtBeginDXFs\", */ T:1 },\n\t/*::[*/0x01FA/*::]*/: { /* n:\"BrtEndDXFs\", */ T:-1 },\n\t/*::[*/0x01FB/*::]*/: { /* n:\"BrtDXF\" */ },\n\t/*::[*/0x01FC/*::]*/: { /* n:\"BrtBeginTableStyles\", */ T:1 },\n\t/*::[*/0x01FD/*::]*/: { /* n:\"BrtEndTableStyles\", */ T:-1 },\n\t/*::[*/0x01FE/*::]*/: { /* n:\"BrtBeginTableStyle\", */ T:1 },\n\t/*::[*/0x01FF/*::]*/: { /* n:\"BrtEndTableStyle\", */ T:-1 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"BrtTableStyleElement\" */ },\n\t/*::[*/0x0201/*::]*/: { /* n:\"BrtTableStyleClient\" */ },\n\t/*::[*/0x0202/*::]*/: { /* n:\"BrtBeginVolDeps\", */ T:1 },\n\t/*::[*/0x0203/*::]*/: { /* n:\"BrtEndVolDeps\", */ T:-1 },\n\t/*::[*/0x0204/*::]*/: { /* n:\"BrtBeginVolType\", */ T:1 },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BrtEndVolType\", */ T:-1 },\n\t/*::[*/0x0206/*::]*/: { /* n:\"BrtBeginVolMain\", */ T:1 },\n\t/*::[*/0x0207/*::]*/: { /* n:\"BrtEndVolMain\", */ T:-1 },\n\t/*::[*/0x0208/*::]*/: { /* n:\"BrtBeginVolTopic\", */ T:1 },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BrtEndVolTopic\", */ T:-1 },\n\t/*::[*/0x020A/*::]*/: { /* n:\"BrtVolSubtopic\" */ },\n\t/*::[*/0x020B/*::]*/: { /* n:\"BrtVolRef\" */ },\n\t/*::[*/0x020C/*::]*/: { /* n:\"BrtVolNum\" */ },\n\t/*::[*/0x020D/*::]*/: { /* n:\"BrtVolErr\" */ },\n\t/*::[*/0x020E/*::]*/: { /* n:\"BrtVolStr\" */ },\n\t/*::[*/0x020F/*::]*/: { /* n:\"BrtVolBool\" */ },\n\t/*::[*/0x0210/*::]*/: { /* n:\"BrtBeginCalcChain$\", */ T:1 },\n\t/*::[*/0x0211/*::]*/: { /* n:\"BrtEndCalcChain$\", */ T:-1 },\n\t/*::[*/0x0212/*::]*/: { /* n:\"BrtBeginSortState\", */ T:1 },\n\t/*::[*/0x0213/*::]*/: { /* n:\"BrtEndSortState\", */ T:-1 },\n\t/*::[*/0x0214/*::]*/: { /* n:\"BrtBeginSortCond\", */ T:1 },\n\t/*::[*/0x0215/*::]*/: { /* n:\"BrtEndSortCond\", */ T:-1 },\n\t/*::[*/0x0216/*::]*/: { /* n:\"BrtBookProtection\" */ },\n\t/*::[*/0x0217/*::]*/: { /* n:\"BrtSheetProtection\" */ },\n\t/*::[*/0x0218/*::]*/: { /* n:\"BrtRangeProtection\" */ },\n\t/*::[*/0x0219/*::]*/: { /* n:\"BrtPhoneticInfo\" */ },\n\t/*::[*/0x021A/*::]*/: { /* n:\"BrtBeginECTxtWiz\", */ T:1 },\n\t/*::[*/0x021B/*::]*/: { /* n:\"BrtEndECTxtWiz\", */ T:-1 },\n\t/*::[*/0x021C/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst\", */ T:1 },\n\t/*::[*/0x021D/*::]*/: { /* n:\"BrtEndECTWFldInfoLst\", */ T:-1 },\n\t/*::[*/0x021E/*::]*/: { /* n:\"BrtBeginECTwFldInfo\", */ T:1 },\n\t/*::[*/0x0224/*::]*/: { /* n:\"BrtFileSharing\" */ },\n\t/*::[*/0x0225/*::]*/: { /* n:\"BrtOleSize\" */ },\n\t/*::[*/0x0226/*::]*/: { /* n:\"BrtDrawing\", */ f:parse_RelID },\n\t/*::[*/0x0227/*::]*/: { /* n:\"BrtLegacyDrawing\" */ },\n\t/*::[*/0x0228/*::]*/: { /* n:\"BrtLegacyDrawingHF\" */ },\n\t/*::[*/0x0229/*::]*/: { /* n:\"BrtWebOpt\" */ },\n\t/*::[*/0x022A/*::]*/: { /* n:\"BrtBeginWebPubItems\", */ T:1 },\n\t/*::[*/0x022B/*::]*/: { /* n:\"BrtEndWebPubItems\", */ T:-1 },\n\t/*::[*/0x022C/*::]*/: { /* n:\"BrtBeginWebPubItem\", */ T:1 },\n\t/*::[*/0x022D/*::]*/: { /* n:\"BrtEndWebPubItem\", */ T:-1 },\n\t/*::[*/0x022E/*::]*/: { /* n:\"BrtBeginSXCondFmt\", */ T:1 },\n\t/*::[*/0x022F/*::]*/: { /* n:\"BrtEndSXCondFmt\", */ T:-1 },\n\t/*::[*/0x0230/*::]*/: { /* n:\"BrtBeginSXCondFmts\", */ T:1 },\n\t/*::[*/0x0231/*::]*/: { /* n:\"BrtEndSXCondFmts\", */ T:-1 },\n\t/*::[*/0x0232/*::]*/: { /* n:\"BrtBkHim\" */ },\n\t/*::[*/0x0234/*::]*/: { /* n:\"BrtColor\" */ },\n\t/*::[*/0x0235/*::]*/: { /* n:\"BrtBeginIndexedColors\", */ T:1 },\n\t/*::[*/0x0236/*::]*/: { /* n:\"BrtEndIndexedColors\", */ T:-1 },\n\t/*::[*/0x0239/*::]*/: { /* n:\"BrtBeginMRUColors\", */ T:1 },\n\t/*::[*/0x023A/*::]*/: { /* n:\"BrtEndMRUColors\", */ T:-1 },\n\t/*::[*/0x023C/*::]*/: { /* n:\"BrtMRUColor\" */ },\n\t/*::[*/0x023D/*::]*/: { /* n:\"BrtBeginDVals\", */ T:1 },\n\t/*::[*/0x023E/*::]*/: { /* n:\"BrtEndDVals\", */ T:-1 },\n\t/*::[*/0x0241/*::]*/: { /* n:\"BrtSupNameStart\" */ },\n\t/*::[*/0x0242/*::]*/: { /* n:\"BrtSupNameValueStart\" */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BrtSupNameValueEnd\" */ },\n\t/*::[*/0x0244/*::]*/: { /* n:\"BrtSupNameNum\" */ },\n\t/*::[*/0x0245/*::]*/: { /* n:\"BrtSupNameErr\" */ },\n\t/*::[*/0x0246/*::]*/: { /* n:\"BrtSupNameSt\" */ },\n\t/*::[*/0x0247/*::]*/: { /* n:\"BrtSupNameNil\" */ },\n\t/*::[*/0x0248/*::]*/: { /* n:\"BrtSupNameBool\" */ },\n\t/*::[*/0x0249/*::]*/: { /* n:\"BrtSupNameFmla\" */ },\n\t/*::[*/0x024A/*::]*/: { /* n:\"BrtSupNameBits\" */ },\n\t/*::[*/0x024B/*::]*/: { /* n:\"BrtSupNameEnd\" */ },\n\t/*::[*/0x024C/*::]*/: { /* n:\"BrtEndSupBook\", */ T:-1 },\n\t/*::[*/0x024D/*::]*/: { /* n:\"BrtCellSmartTagProperty\" */ },\n\t/*::[*/0x024E/*::]*/: { /* n:\"BrtBeginCellSmartTag\", */ T:1 },\n\t/*::[*/0x024F/*::]*/: { /* n:\"BrtEndCellSmartTag\", */ T:-1 },\n\t/*::[*/0x0250/*::]*/: { /* n:\"BrtBeginCellSmartTags\", */ T:1 },\n\t/*::[*/0x0251/*::]*/: { /* n:\"BrtEndCellSmartTags\", */ T:-1 },\n\t/*::[*/0x0252/*::]*/: { /* n:\"BrtBeginSmartTags\", */ T:1 },\n\t/*::[*/0x0253/*::]*/: { /* n:\"BrtEndSmartTags\", */ T:-1 },\n\t/*::[*/0x0254/*::]*/: { /* n:\"BrtSmartTagType\" */ },\n\t/*::[*/0x0255/*::]*/: { /* n:\"BrtBeginSmartTagTypes\", */ T:1 },\n\t/*::[*/0x0256/*::]*/: { /* n:\"BrtEndSmartTagTypes\", */ T:-1 },\n\t/*::[*/0x0257/*::]*/: { /* n:\"BrtBeginSXFilters\", */ T:1 },\n\t/*::[*/0x0258/*::]*/: { /* n:\"BrtEndSXFilters\", */ T:-1 },\n\t/*::[*/0x0259/*::]*/: { /* n:\"BrtBeginSXFILTER\", */ T:1 },\n\t/*::[*/0x025A/*::]*/: { /* n:\"BrtEndSXFilter\", */ T:-1 },\n\t/*::[*/0x025B/*::]*/: { /* n:\"BrtBeginFills\", */ T:1 },\n\t/*::[*/0x025C/*::]*/: { /* n:\"BrtEndFills\", */ T:-1 },\n\t/*::[*/0x025D/*::]*/: { /* n:\"BrtBeginCellWatches\", */ T:1 },\n\t/*::[*/0x025E/*::]*/: { /* n:\"BrtEndCellWatches\", */ T:-1 },\n\t/*::[*/0x025F/*::]*/: { /* n:\"BrtCellWatch\" */ },\n\t/*::[*/0x0260/*::]*/: { /* n:\"BrtBeginCRErrs\", */ T:1 },\n\t/*::[*/0x0261/*::]*/: { /* n:\"BrtEndCRErrs\", */ T:-1 },\n\t/*::[*/0x0262/*::]*/: { /* n:\"BrtCrashRecErr\" */ },\n\t/*::[*/0x0263/*::]*/: { /* n:\"BrtBeginFonts\", */ T:1 },\n\t/*::[*/0x0264/*::]*/: { /* n:\"BrtEndFonts\", */ T:-1 },\n\t/*::[*/0x0265/*::]*/: { /* n:\"BrtBeginBorders\", */ T:1 },\n\t/*::[*/0x0266/*::]*/: { /* n:\"BrtEndBorders\", */ T:-1 },\n\t/*::[*/0x0267/*::]*/: { /* n:\"BrtBeginFmts\", */ T:1 },\n\t/*::[*/0x0268/*::]*/: { /* n:\"BrtEndFmts\", */ T:-1 },\n\t/*::[*/0x0269/*::]*/: { /* n:\"BrtBeginCellXFs\", */ T:1 },\n\t/*::[*/0x026A/*::]*/: { /* n:\"BrtEndCellXFs\", */ T:-1 },\n\t/*::[*/0x026B/*::]*/: { /* n:\"BrtBeginStyles\", */ T:1 },\n\t/*::[*/0x026C/*::]*/: { /* n:\"BrtEndStyles\", */ T:-1 },\n\t/*::[*/0x0271/*::]*/: { /* n:\"BrtBigName\" */ },\n\t/*::[*/0x0272/*::]*/: { /* n:\"BrtBeginCellStyleXFs\", */ T:1 },\n\t/*::[*/0x0273/*::]*/: { /* n:\"BrtEndCellStyleXFs\", */ T:-1 },\n\t/*::[*/0x0274/*::]*/: { /* n:\"BrtBeginComments\", */ T:1 },\n\t/*::[*/0x0275/*::]*/: { /* n:\"BrtEndComments\", */ T:-1 },\n\t/*::[*/0x0276/*::]*/: { /* n:\"BrtBeginCommentAuthors\", */ T:1 },\n\t/*::[*/0x0277/*::]*/: { /* n:\"BrtEndCommentAuthors\", */ T:-1 },\n\t/*::[*/0x0278/*::]*/: { /* n:\"BrtCommentAuthor\", */ f:parse_BrtCommentAuthor },\n\t/*::[*/0x0279/*::]*/: { /* n:\"BrtBeginCommentList\", */ T:1 },\n\t/*::[*/0x027A/*::]*/: { /* n:\"BrtEndCommentList\", */ T:-1 },\n\t/*::[*/0x027B/*::]*/: { /* n:\"BrtBeginComment\", */ T:1, f:parse_BrtBeginComment},\n\t/*::[*/0x027C/*::]*/: { /* n:\"BrtEndComment\", */ T:-1 },\n\t/*::[*/0x027D/*::]*/: { /* n:\"BrtCommentText\", */ f:parse_BrtCommentText },\n\t/*::[*/0x027E/*::]*/: { /* n:\"BrtBeginOleObjects\", */ T:1 },\n\t/*::[*/0x027F/*::]*/: { /* n:\"BrtOleObject\" */ },\n\t/*::[*/0x0280/*::]*/: { /* n:\"BrtEndOleObjects\", */ T:-1 },\n\t/*::[*/0x0281/*::]*/: { /* n:\"BrtBeginSxrules\", */ T:1 },\n\t/*::[*/0x0282/*::]*/: { /* n:\"BrtEndSxRules\", */ T:-1 },\n\t/*::[*/0x0283/*::]*/: { /* n:\"BrtBeginActiveXControls\", */ T:1 },\n\t/*::[*/0x0284/*::]*/: { /* n:\"BrtActiveX\" */ },\n\t/*::[*/0x0285/*::]*/: { /* n:\"BrtEndActiveXControls\", */ T:-1 },\n\t/*::[*/0x0286/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembersSortBy\", */ T:1 },\n\t/*::[*/0x0288/*::]*/: { /* n:\"BrtBeginCellIgnoreECs\", */ T:1 },\n\t/*::[*/0x0289/*::]*/: { /* n:\"BrtCellIgnoreEC\" */ },\n\t/*::[*/0x028A/*::]*/: { /* n:\"BrtEndCellIgnoreECs\", */ T:-1 },\n\t/*::[*/0x028B/*::]*/: { /* n:\"BrtCsProp\", */ f:parse_BrtCsProp },\n\t/*::[*/0x028C/*::]*/: { /* n:\"BrtCsPageSetup\" */ },\n\t/*::[*/0x028D/*::]*/: { /* n:\"BrtBeginUserCsViews\", */ T:1 },\n\t/*::[*/0x028E/*::]*/: { /* n:\"BrtEndUserCsViews\", */ T:-1 },\n\t/*::[*/0x028F/*::]*/: { /* n:\"BrtBeginUserCsView\", */ T:1 },\n\t/*::[*/0x0290/*::]*/: { /* n:\"BrtEndUserCsView\", */ T:-1 },\n\t/*::[*/0x0291/*::]*/: { /* n:\"BrtBeginPcdSFCIEntries\", */ T:1 },\n\t/*::[*/0x0292/*::]*/: { /* n:\"BrtEndPCDSFCIEntries\", */ T:-1 },\n\t/*::[*/0x0293/*::]*/: { /* n:\"BrtPCDSFCIEntry\" */ },\n\t/*::[*/0x0294/*::]*/: { /* n:\"BrtBeginListParts\", */ T:1 },\n\t/*::[*/0x0295/*::]*/: { /* n:\"BrtListPart\" */ },\n\t/*::[*/0x0296/*::]*/: { /* n:\"BrtEndListParts\", */ T:-1 },\n\t/*::[*/0x0297/*::]*/: { /* n:\"BrtSheetCalcProp\" */ },\n\t/*::[*/0x0298/*::]*/: { /* n:\"BrtBeginFnGroup\", */ T:1 },\n\t/*::[*/0x0299/*::]*/: { /* n:\"BrtFnGroup\" */ },\n\t/*::[*/0x029A/*::]*/: { /* n:\"BrtEndFnGroup\", */ T:-1 },\n\t/*::[*/0x029B/*::]*/: { /* n:\"BrtSupAddin\" */ },\n\t/*::[*/0x029C/*::]*/: { /* n:\"BrtSXTDMPOrder\" */ },\n\t/*::[*/0x029D/*::]*/: { /* n:\"BrtCsProtection\" */ },\n\t/*::[*/0x029F/*::]*/: { /* n:\"BrtBeginWsSortMap\", */ T:1 },\n\t/*::[*/0x02A0/*::]*/: { /* n:\"BrtEndWsSortMap\", */ T:-1 },\n\t/*::[*/0x02A1/*::]*/: { /* n:\"BrtBeginRRSort\", */ T:1 },\n\t/*::[*/0x02A2/*::]*/: { /* n:\"BrtEndRRSort\", */ T:-1 },\n\t/*::[*/0x02A3/*::]*/: { /* n:\"BrtRRSortItem\" */ },\n\t/*::[*/0x02A4/*::]*/: { /* n:\"BrtFileSharingIso\" */ },\n\t/*::[*/0x02A5/*::]*/: { /* n:\"BrtBookProtectionIso\" */ },\n\t/*::[*/0x02A6/*::]*/: { /* n:\"BrtSheetProtectionIso\" */ },\n\t/*::[*/0x02A7/*::]*/: { /* n:\"BrtCsProtectionIso\" */ },\n\t/*::[*/0x02A8/*::]*/: { /* n:\"BrtRangeProtectionIso\" */ },\n\t/*::[*/0x02A9/*::]*/: { /* n:\"BrtDValList\" */ },\n\t/*::[*/0x0400/*::]*/: { /* n:\"BrtRwDescent\" */ },\n\t/*::[*/0x0401/*::]*/: { /* n:\"BrtKnownFonts\" */ },\n\t/*::[*/0x0402/*::]*/: { /* n:\"BrtBeginSXTupleSet\", */ T:1 },\n\t/*::[*/0x0403/*::]*/: { /* n:\"BrtEndSXTupleSet\", */ T:-1 },\n\t/*::[*/0x0404/*::]*/: { /* n:\"BrtBeginSXTupleSetHeader\", */ T:1 },\n\t/*::[*/0x0405/*::]*/: { /* n:\"BrtEndSXTupleSetHeader\", */ T:-1 },\n\t/*::[*/0x0406/*::]*/: { /* n:\"BrtSXTupleSetHeaderItem\" */ },\n\t/*::[*/0x0407/*::]*/: { /* n:\"BrtBeginSXTupleSetData\", */ T:1 },\n\t/*::[*/0x0408/*::]*/: { /* n:\"BrtEndSXTupleSetData\", */ T:-1 },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BrtBeginSXTupleSetRow\", */ T:1 },\n\t/*::[*/0x040A/*::]*/: { /* n:\"BrtEndSXTupleSetRow\", */ T:-1 },\n\t/*::[*/0x040B/*::]*/: { /* n:\"BrtSXTupleSetRowItem\" */ },\n\t/*::[*/0x040C/*::]*/: { /* n:\"BrtNameExt\" */ },\n\t/*::[*/0x040D/*::]*/: { /* n:\"BrtPCDH14\" */ },\n\t/*::[*/0x040E/*::]*/: { /* n:\"BrtBeginPCDCalcMem14\", */ T:1 },\n\t/*::[*/0x040F/*::]*/: { /* n:\"BrtEndPCDCalcMem14\", */ T:-1 },\n\t/*::[*/0x0410/*::]*/: { /* n:\"BrtSXTH14\" */ },\n\t/*::[*/0x0411/*::]*/: { /* n:\"BrtBeginSparklineGroup\", */ T:1 },\n\t/*::[*/0x0412/*::]*/: { /* n:\"BrtEndSparklineGroup\", */ T:-1 },\n\t/*::[*/0x0413/*::]*/: { /* n:\"BrtSparkline\" */ },\n\t/*::[*/0x0414/*::]*/: { /* n:\"BrtSXDI14\" */ },\n\t/*::[*/0x0415/*::]*/: { /* n:\"BrtWsFmtInfoEx14\" */ },\n\t/*::[*/0x0416/*::]*/: { /* n:\"BrtBeginConditionalFormatting14\", */ T:1 },\n\t/*::[*/0x0417/*::]*/: { /* n:\"BrtEndConditionalFormatting14\", */ T:-1 },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BrtBeginCFRule14\", */ T:1 },\n\t/*::[*/0x0419/*::]*/: { /* n:\"BrtEndCFRule14\", */ T:-1 },\n\t/*::[*/0x041A/*::]*/: { /* n:\"BrtCFVO14\" */ },\n\t/*::[*/0x041B/*::]*/: { /* n:\"BrtBeginDatabar14\", */ T:1 },\n\t/*::[*/0x041C/*::]*/: { /* n:\"BrtBeginIconSet14\", */ T:1 },\n\t/*::[*/0x041D/*::]*/: { /* n:\"BrtDVal14\", */ f: parse_BrtDVal14 },\n\t/*::[*/0x041E/*::]*/: { /* n:\"BrtBeginDVals14\", */ T:1 },\n\t/*::[*/0x041F/*::]*/: { /* n:\"BrtColor14\" */ },\n\t/*::[*/0x0420/*::]*/: { /* n:\"BrtBeginSparklines\", */ T:1 },\n\t/*::[*/0x0421/*::]*/: { /* n:\"BrtEndSparklines\", */ T:-1 },\n\t/*::[*/0x0422/*::]*/: { /* n:\"BrtBeginSparklineGroups\", */ T:1 },\n\t/*::[*/0x0423/*::]*/: { /* n:\"BrtEndSparklineGroups\", */ T:-1 },\n\t/*::[*/0x0425/*::]*/: { /* n:\"BrtSXVD14\" */ },\n\t/*::[*/0x0426/*::]*/: { /* n:\"BrtBeginSXView14\", */ T:1 },\n\t/*::[*/0x0427/*::]*/: { /* n:\"BrtEndSXView14\", */ T:-1 },\n\t/*::[*/0x0428/*::]*/: { /* n:\"BrtBeginSXView16\", */ T:1 },\n\t/*::[*/0x0429/*::]*/: { /* n:\"BrtEndSXView16\", */ T:-1 },\n\t/*::[*/0x042A/*::]*/: { /* n:\"BrtBeginPCD14\", */ T:1 },\n\t/*::[*/0x042B/*::]*/: { /* n:\"BrtEndPCD14\", */ T:-1 },\n\t/*::[*/0x042C/*::]*/: { /* n:\"BrtBeginExtConn14\", */ T:1 },\n\t/*::[*/0x042D/*::]*/: { /* n:\"BrtEndExtConn14\", */ T:-1 },\n\t/*::[*/0x042E/*::]*/: { /* n:\"BrtBeginSlicerCacheIDs\", */ T:1 },\n\t/*::[*/0x042F/*::]*/: { /* n:\"BrtEndSlicerCacheIDs\", */ T:-1 },\n\t/*::[*/0x0430/*::]*/: { /* n:\"BrtBeginSlicerCacheID\", */ T:1 },\n\t/*::[*/0x0431/*::]*/: { /* n:\"BrtEndSlicerCacheID\", */ T:-1 },\n\t/*::[*/0x0433/*::]*/: { /* n:\"BrtBeginSlicerCache\", */ T:1 },\n\t/*::[*/0x0434/*::]*/: { /* n:\"BrtEndSlicerCache\", */ T:-1 },\n\t/*::[*/0x0435/*::]*/: { /* n:\"BrtBeginSlicerCacheDef\", */ T:1 },\n\t/*::[*/0x0436/*::]*/: { /* n:\"BrtEndSlicerCacheDef\", */ T:-1 },\n\t/*::[*/0x0437/*::]*/: { /* n:\"BrtBeginSlicersEx\", */ T:1 },\n\t/*::[*/0x0438/*::]*/: { /* n:\"BrtEndSlicersEx\", */ T:-1 },\n\t/*::[*/0x0439/*::]*/: { /* n:\"BrtBeginSlicerEx\", */ T:1 },\n\t/*::[*/0x043A/*::]*/: { /* n:\"BrtEndSlicerEx\", */ T:-1 },\n\t/*::[*/0x043B/*::]*/: { /* n:\"BrtBeginSlicer\", */ T:1 },\n\t/*::[*/0x043C/*::]*/: { /* n:\"BrtEndSlicer\", */ T:-1 },\n\t/*::[*/0x043D/*::]*/: { /* n:\"BrtSlicerCachePivotTables\" */ },\n\t/*::[*/0x043E/*::]*/: { /* n:\"BrtBeginSlicerCacheOlapImpl\", */ T:1 },\n\t/*::[*/0x043F/*::]*/: { /* n:\"BrtEndSlicerCacheOlapImpl\", */ T:-1 },\n\t/*::[*/0x0440/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelsData\", */ T:1 },\n\t/*::[*/0x0441/*::]*/: { /* n:\"BrtEndSlicerCacheLevelsData\", */ T:-1 },\n\t/*::[*/0x0442/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelData\", */ T:1 },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BrtEndSlicerCacheLevelData\", */ T:-1 },\n\t/*::[*/0x0444/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRanges\", */ T:1 },\n\t/*::[*/0x0445/*::]*/: { /* n:\"BrtEndSlicerCacheSiRanges\", */ T:-1 },\n\t/*::[*/0x0446/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRange\", */ T:1 },\n\t/*::[*/0x0447/*::]*/: { /* n:\"BrtEndSlicerCacheSiRange\", */ T:-1 },\n\t/*::[*/0x0448/*::]*/: { /* n:\"BrtSlicerCacheOlapItem\" */ },\n\t/*::[*/0x0449/*::]*/: { /* n:\"BrtBeginSlicerCacheSelections\", */ T:1 },\n\t/*::[*/0x044A/*::]*/: { /* n:\"BrtSlicerCacheSelection\" */ },\n\t/*::[*/0x044B/*::]*/: { /* n:\"BrtEndSlicerCacheSelections\", */ T:-1 },\n\t/*::[*/0x044C/*::]*/: { /* n:\"BrtBeginSlicerCacheNative\", */ T:1 },\n\t/*::[*/0x044D/*::]*/: { /* n:\"BrtEndSlicerCacheNative\", */ T:-1 },\n\t/*::[*/0x044E/*::]*/: { /* n:\"BrtSlicerCacheNativeItem\" */ },\n\t/*::[*/0x044F/*::]*/: { /* n:\"BrtRangeProtection14\" */ },\n\t/*::[*/0x0450/*::]*/: { /* n:\"BrtRangeProtectionIso14\" */ },\n\t/*::[*/0x0451/*::]*/: { /* n:\"BrtCellIgnoreEC14\" */ },\n\t/*::[*/0x0457/*::]*/: { /* n:\"BrtList14\" */ },\n\t/*::[*/0x0458/*::]*/: { /* n:\"BrtCFIcon\" */ },\n\t/*::[*/0x0459/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x045A/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x045B/*::]*/: { /* n:\"BrtBeginSlicers\", */ T:1 },\n\t/*::[*/0x045C/*::]*/: { /* n:\"BrtEndSlicers\", */ T:-1 },\n\t/*::[*/0x045D/*::]*/: { /* n:\"BrtWbProp14\" */ },\n\t/*::[*/0x045E/*::]*/: { /* n:\"BrtBeginSXEdit\", */ T:1 },\n\t/*::[*/0x045F/*::]*/: { /* n:\"BrtEndSXEdit\", */ T:-1 },\n\t/*::[*/0x0460/*::]*/: { /* n:\"BrtBeginSXEdits\", */ T:1 },\n\t/*::[*/0x0461/*::]*/: { /* n:\"BrtEndSXEdits\", */ T:-1 },\n\t/*::[*/0x0462/*::]*/: { /* n:\"BrtBeginSXChange\", */ T:1 },\n\t/*::[*/0x0463/*::]*/: { /* n:\"BrtEndSXChange\", */ T:-1 },\n\t/*::[*/0x0464/*::]*/: { /* n:\"BrtBeginSXChanges\", */ T:1 },\n\t/*::[*/0x0465/*::]*/: { /* n:\"BrtEndSXChanges\", */ T:-1 },\n\t/*::[*/0x0466/*::]*/: { /* n:\"BrtSXTupleItems\" */ },\n\t/*::[*/0x0468/*::]*/: { /* n:\"BrtBeginSlicerStyle\", */ T:1 },\n\t/*::[*/0x0469/*::]*/: { /* n:\"BrtEndSlicerStyle\", */ T:-1 },\n\t/*::[*/0x046A/*::]*/: { /* n:\"BrtSlicerStyleElement\" */ },\n\t/*::[*/0x046B/*::]*/: { /* n:\"BrtBeginStyleSheetExt14\", */ T:1 },\n\t/*::[*/0x046C/*::]*/: { /* n:\"BrtEndStyleSheetExt14\", */ T:-1 },\n\t/*::[*/0x046D/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheID\", */ T:1 },\n\t/*::[*/0x046E/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheID\", */ T:-1 },\n\t/*::[*/0x046F/*::]*/: { /* n:\"BrtBeginConditionalFormattings\", */ T:1 },\n\t/*::[*/0x0470/*::]*/: { /* n:\"BrtEndConditionalFormattings\", */ T:-1 },\n\t/*::[*/0x0471/*::]*/: { /* n:\"BrtBeginPCDCalcMemExt\", */ T:1 },\n\t/*::[*/0x0472/*::]*/: { /* n:\"BrtEndPCDCalcMemExt\", */ T:-1 },\n\t/*::[*/0x0473/*::]*/: { /* n:\"BrtBeginPCDCalcMemsExt\", */ T:1 },\n\t/*::[*/0x0474/*::]*/: { /* n:\"BrtEndPCDCalcMemsExt\", */ T:-1 },\n\t/*::[*/0x0475/*::]*/: { /* n:\"BrtPCDField14\" */ },\n\t/*::[*/0x0476/*::]*/: { /* n:\"BrtBeginSlicerStyles\", */ T:1 },\n\t/*::[*/0x0477/*::]*/: { /* n:\"BrtEndSlicerStyles\", */ T:-1 },\n\t/*::[*/0x0478/*::]*/: { /* n:\"BrtBeginSlicerStyleElements\", */ T:1 },\n\t/*::[*/0x0479/*::]*/: { /* n:\"BrtEndSlicerStyleElements\", */ T:-1 },\n\t/*::[*/0x047A/*::]*/: { /* n:\"BrtCFRuleExt\" */ },\n\t/*::[*/0x047B/*::]*/: { /* n:\"BrtBeginSXCondFmt14\", */ T:1 },\n\t/*::[*/0x047C/*::]*/: { /* n:\"BrtEndSXCondFmt14\", */ T:-1 },\n\t/*::[*/0x047D/*::]*/: { /* n:\"BrtBeginSXCondFmts14\", */ T:1 },\n\t/*::[*/0x047E/*::]*/: { /* n:\"BrtEndSXCondFmts14\", */ T:-1 },\n\t/*::[*/0x0480/*::]*/: { /* n:\"BrtBeginSortCond14\", */ T:1 },\n\t/*::[*/0x0481/*::]*/: { /* n:\"BrtEndSortCond14\", */ T:-1 },\n\t/*::[*/0x0482/*::]*/: { /* n:\"BrtEndDVals14\", */ T:-1 },\n\t/*::[*/0x0483/*::]*/: { /* n:\"BrtEndIconSet14\", */ T:-1 },\n\t/*::[*/0x0484/*::]*/: { /* n:\"BrtEndDatabar14\", */ T:-1 },\n\t/*::[*/0x0485/*::]*/: { /* n:\"BrtBeginColorScale14\", */ T:1 },\n\t/*::[*/0x0486/*::]*/: { /* n:\"BrtEndColorScale14\", */ T:-1 },\n\t/*::[*/0x0487/*::]*/: { /* n:\"BrtBeginSxrules14\", */ T:1 },\n\t/*::[*/0x0488/*::]*/: { /* n:\"BrtEndSxrules14\", */ T:-1 },\n\t/*::[*/0x0489/*::]*/: { /* n:\"BrtBeginPRule14\", */ T:1 },\n\t/*::[*/0x048A/*::]*/: { /* n:\"BrtEndPRule14\", */ T:-1 },\n\t/*::[*/0x048B/*::]*/: { /* n:\"BrtBeginPRFilters14\", */ T:1 },\n\t/*::[*/0x048C/*::]*/: { /* n:\"BrtEndPRFilters14\", */ T:-1 },\n\t/*::[*/0x048D/*::]*/: { /* n:\"BrtBeginPRFilter14\", */ T:1 },\n\t/*::[*/0x048E/*::]*/: { /* n:\"BrtEndPRFilter14\", */ T:-1 },\n\t/*::[*/0x048F/*::]*/: { /* n:\"BrtBeginPRFItem14\", */ T:1 },\n\t/*::[*/0x0490/*::]*/: { /* n:\"BrtEndPRFItem14\", */ T:-1 },\n\t/*::[*/0x0491/*::]*/: { /* n:\"BrtBeginCellIgnoreECs14\", */ T:1 },\n\t/*::[*/0x0492/*::]*/: { /* n:\"BrtEndCellIgnoreECs14\", */ T:-1 },\n\t/*::[*/0x0493/*::]*/: { /* n:\"BrtDxf14\" */ },\n\t/*::[*/0x0494/*::]*/: { /* n:\"BrtBeginDxF14s\", */ T:1 },\n\t/*::[*/0x0495/*::]*/: { /* n:\"BrtEndDxf14s\", */ T:-1 },\n\t/*::[*/0x0499/*::]*/: { /* n:\"BrtFilter14\" */ },\n\t/*::[*/0x049A/*::]*/: { /* n:\"BrtBeginCustomFilters14\", */ T:1 },\n\t/*::[*/0x049C/*::]*/: { /* n:\"BrtCustomFilter14\" */ },\n\t/*::[*/0x049D/*::]*/: { /* n:\"BrtIconFilter14\" */ },\n\t/*::[*/0x049E/*::]*/: { /* n:\"BrtPivotCacheConnectionName\" */ },\n\t/*::[*/0x0800/*::]*/: { /* n:\"BrtBeginDecoupledPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0801/*::]*/: { /* n:\"BrtEndDecoupledPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0802/*::]*/: { /* n:\"BrtDecoupledPivotCacheID\" */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"BrtBeginPivotTableRefs\", */ T:1 },\n\t/*::[*/0x0804/*::]*/: { /* n:\"BrtEndPivotTableRefs\", */ T:-1 },\n\t/*::[*/0x0805/*::]*/: { /* n:\"BrtPivotTableRef\" */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"BrtSlicerCacheBookPivotTables\" */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"BrtBeginSxvcells\", */ T:1 },\n\t/*::[*/0x0808/*::]*/: { /* n:\"BrtEndSxvcells\", */ T:-1 },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BrtBeginSxRow\", */ T:1 },\n\t/*::[*/0x080A/*::]*/: { /* n:\"BrtEndSxRow\", */ T:-1 },\n\t/*::[*/0x080C/*::]*/: { /* n:\"BrtPcdCalcMem15\" */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"BrtQsi15\" */ },\n\t/*::[*/0x0814/*::]*/: { /* n:\"BrtBeginWebExtensions\", */ T:1 },\n\t/*::[*/0x0815/*::]*/: { /* n:\"BrtEndWebExtensions\", */ T:-1 },\n\t/*::[*/0x0816/*::]*/: { /* n:\"BrtWebExtension\" */ },\n\t/*::[*/0x0817/*::]*/: { /* n:\"BrtAbsPath15\" */ },\n\t/*::[*/0x0818/*::]*/: { /* n:\"BrtBeginPivotTableUISettings\", */ T:1 },\n\t/*::[*/0x0819/*::]*/: { /* n:\"BrtEndPivotTableUISettings\", */ T:-1 },\n\t/*::[*/0x081B/*::]*/: { /* n:\"BrtTableSlicerCacheIDs\" */ },\n\t/*::[*/0x081C/*::]*/: { /* n:\"BrtTableSlicerCacheID\" */ },\n\t/*::[*/0x081D/*::]*/: { /* n:\"BrtBeginTableSlicerCache\", */ T:1 },\n\t/*::[*/0x081E/*::]*/: { /* n:\"BrtEndTableSlicerCache\", */ T:-1 },\n\t/*::[*/0x081F/*::]*/: { /* n:\"BrtSxFilter15\" */ },\n\t/*::[*/0x0820/*::]*/: { /* n:\"BrtBeginTimelineCachePivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0821/*::]*/: { /* n:\"BrtEndTimelineCachePivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0822/*::]*/: { /* n:\"BrtTimelineCachePivotCacheID\" */ },\n\t/*::[*/0x0823/*::]*/: { /* n:\"BrtBeginTimelineCacheIDs\", */ T:1 },\n\t/*::[*/0x0824/*::]*/: { /* n:\"BrtEndTimelineCacheIDs\", */ T:-1 },\n\t/*::[*/0x0825/*::]*/: { /* n:\"BrtBeginTimelineCacheID\", */ T:1 },\n\t/*::[*/0x0826/*::]*/: { /* n:\"BrtEndTimelineCacheID\", */ T:-1 },\n\t/*::[*/0x0827/*::]*/: { /* n:\"BrtBeginTimelinesEx\", */ T:1 },\n\t/*::[*/0x0828/*::]*/: { /* n:\"BrtEndTimelinesEx\", */ T:-1 },\n\t/*::[*/0x0829/*::]*/: { /* n:\"BrtBeginTimelineEx\", */ T:1 },\n\t/*::[*/0x082A/*::]*/: { /* n:\"BrtEndTimelineEx\", */ T:-1 },\n\t/*::[*/0x082B/*::]*/: { /* n:\"BrtWorkBookPr15\" */ },\n\t/*::[*/0x082C/*::]*/: { /* n:\"BrtPCDH15\" */ },\n\t/*::[*/0x082D/*::]*/: { /* n:\"BrtBeginTimelineStyle\", */ T:1 },\n\t/*::[*/0x082E/*::]*/: { /* n:\"BrtEndTimelineStyle\", */ T:-1 },\n\t/*::[*/0x082F/*::]*/: { /* n:\"BrtTimelineStyleElement\" */ },\n\t/*::[*/0x0830/*::]*/: { /* n:\"BrtBeginTimelineStylesheetExt15\", */ T:1 },\n\t/*::[*/0x0831/*::]*/: { /* n:\"BrtEndTimelineStylesheetExt15\", */ T:-1 },\n\t/*::[*/0x0832/*::]*/: { /* n:\"BrtBeginTimelineStyles\", */ T:1 },\n\t/*::[*/0x0833/*::]*/: { /* n:\"BrtEndTimelineStyles\", */ T:-1 },\n\t/*::[*/0x0834/*::]*/: { /* n:\"BrtBeginTimelineStyleElements\", */ T:1 },\n\t/*::[*/0x0835/*::]*/: { /* n:\"BrtEndTimelineStyleElements\", */ T:-1 },\n\t/*::[*/0x0836/*::]*/: { /* n:\"BrtDxf15\" */ },\n\t/*::[*/0x0837/*::]*/: { /* n:\"BrtBeginDxfs15\", */ T:1 },\n\t/*::[*/0x0838/*::]*/: { /* n:\"BrtEndDxfs15\", */ T:-1 },\n\t/*::[*/0x0839/*::]*/: { /* n:\"BrtSlicerCacheHideItemsWithNoData\" */ },\n\t/*::[*/0x083A/*::]*/: { /* n:\"BrtBeginItemUniqueNames\", */ T:1 },\n\t/*::[*/0x083B/*::]*/: { /* n:\"BrtEndItemUniqueNames\", */ T:-1 },\n\t/*::[*/0x083C/*::]*/: { /* n:\"BrtItemUniqueName\" */ },\n\t/*::[*/0x083D/*::]*/: { /* n:\"BrtBeginExtConn15\", */ T:1 },\n\t/*::[*/0x083E/*::]*/: { /* n:\"BrtEndExtConn15\", */ T:-1 },\n\t/*::[*/0x083F/*::]*/: { /* n:\"BrtBeginOledbPr15\", */ T:1 },\n\t/*::[*/0x0840/*::]*/: { /* n:\"BrtEndOledbPr15\", */ T:-1 },\n\t/*::[*/0x0841/*::]*/: { /* n:\"BrtBeginDataFeedPr15\", */ T:1 },\n\t/*::[*/0x0842/*::]*/: { /* n:\"BrtEndDataFeedPr15\", */ T:-1 },\n\t/*::[*/0x0843/*::]*/: { /* n:\"BrtTextPr15\" */ },\n\t/*::[*/0x0844/*::]*/: { /* n:\"BrtRangePr15\" */ },\n\t/*::[*/0x0845/*::]*/: { /* n:\"BrtDbCommand15\" */ },\n\t/*::[*/0x0846/*::]*/: { /* n:\"BrtBeginDbTables15\", */ T:1 },\n\t/*::[*/0x0847/*::]*/: { /* n:\"BrtEndDbTables15\", */ T:-1 },\n\t/*::[*/0x0848/*::]*/: { /* n:\"BrtDbTable15\" */ },\n\t/*::[*/0x0849/*::]*/: { /* n:\"BrtBeginDataModel\", */ T:1 },\n\t/*::[*/0x084A/*::]*/: { /* n:\"BrtEndDataModel\", */ T:-1 },\n\t/*::[*/0x084B/*::]*/: { /* n:\"BrtBeginModelTables\", */ T:1 },\n\t/*::[*/0x084C/*::]*/: { /* n:\"BrtEndModelTables\", */ T:-1 },\n\t/*::[*/0x084D/*::]*/: { /* n:\"BrtModelTable\" */ },\n\t/*::[*/0x084E/*::]*/: { /* n:\"BrtBeginModelRelationships\", */ T:1 },\n\t/*::[*/0x084F/*::]*/: { /* n:\"BrtEndModelRelationships\", */ T:-1 },\n\t/*::[*/0x0850/*::]*/: { /* n:\"BrtModelRelationship\" */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"BrtBeginECTxtWiz15\", */ T:1 },\n\t/*::[*/0x0852/*::]*/: { /* n:\"BrtEndECTxtWiz15\", */ T:-1 },\n\t/*::[*/0x0853/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst15\", */ T:1 },\n\t/*::[*/0x0854/*::]*/: { /* n:\"BrtEndECTWFldInfoLst15\", */ T:-1 },\n\t/*::[*/0x0855/*::]*/: { /* n:\"BrtBeginECTWFldInfo15\", */ T:1 },\n\t/*::[*/0x0856/*::]*/: { /* n:\"BrtFieldListActiveItem\" */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"BrtPivotCacheIdVersion\" */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"BrtSXDI15\" */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"BrtBeginModelTimeGroupings\", */ T:1 },\n\t/*::[*/0x085A/*::]*/: { /* n:\"BrtEndModelTimeGroupings\", */ T:-1 },\n\t/*::[*/0x085B/*::]*/: { /* n:\"BrtBeginModelTimeGrouping\", */ T:1 },\n\t/*::[*/0x085C/*::]*/: { /* n:\"BrtEndModelTimeGrouping\", */ T:-1 },\n\t/*::[*/0x085D/*::]*/: { /* n:\"BrtModelTimeGroupingCalcCol\" */ },\n\t/*::[*/0x0C00/*::]*/: { /* n:\"BrtUid\" */ },\n\t/*::[*/0x0C01/*::]*/: { /* n:\"BrtRevisionPtr\" */ },\n\t/*::[*/0x1000/*::]*/: { /* n:\"BrtBeginDynamicArrayPr\", */ T:1 },\n\t/*::[*/0x1001/*::]*/: { /* n:\"BrtEndDynamicArrayPr\", */ T:-1 },\n\t/*::[*/0x138A/*::]*/: { /* n:\"BrtBeginRichValueBlock\", */ T:1 },\n\t/*::[*/0x138B/*::]*/: { /* n:\"BrtEndRichValueBlock\", */ T:-1 },\n\t/*::[*/0x13D9/*::]*/: { /* n:\"BrtBeginRichFilters\", */ T:1 },\n\t/*::[*/0x13DA/*::]*/: { /* n:\"BrtEndRichFilters\", */ T:-1 },\n\t/*::[*/0x13DB/*::]*/: { /* n:\"BrtRichFilter\" */ },\n\t/*::[*/0x13DC/*::]*/: { /* n:\"BrtBeginRichFilterColumn\", */ T:1 },\n\t/*::[*/0x13DD/*::]*/: { /* n:\"BrtEndRichFilterColumn\", */ T:-1 },\n\t/*::[*/0x13DE/*::]*/: { /* n:\"BrtBeginCustomRichFilters\", */ T:1 },\n\t/*::[*/0x13DF/*::]*/: { /* n:\"BrtEndCustomRichFilters\", */ T:-1 },\n\t/*::[*/0x13E0/*::]*/: { /* n:\"BrtCustomRichFilter\" */ },\n\t/*::[*/0x13E1/*::]*/: { /* n:\"BrtTop10RichFilter\" */ },\n\t/*::[*/0x13E2/*::]*/: { /* n:\"BrtDynamicRichFilter\" */ },\n\t/*::[*/0x13E4/*::]*/: { /* n:\"BrtBeginRichSortCondition\", */ T:1 },\n\t/*::[*/0x13E5/*::]*/: { /* n:\"BrtEndRichSortCondition\", */ T:-1 },\n\t/*::[*/0x13E6/*::]*/: { /* n:\"BrtRichFilterDateGroupItem\" */ },\n\t/*::[*/0x13E7/*::]*/: { /* n:\"BrtBeginCalcFeatures\", */ T:1 },\n\t/*::[*/0x13E8/*::]*/: { /* n:\"BrtEndCalcFeatures\", */ T:-1 },\n\t/*::[*/0x13E9/*::]*/: { /* n:\"BrtCalcFeature\" */ },\n\t/*::[*/0x13EB/*::]*/: { /* n:\"BrtExternalLinksPr\" */ },\n\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n};\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n\t/*::[*/0x0006/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x000a/*::]*/: { /* n:\"EOF\", */ f:parsenoop2 },\n\t/*::[*/0x000c/*::]*/: { /* n:\"CalcCount\", */ f:parseuint16 }, //\n\t/*::[*/0x000d/*::]*/: { /* n:\"CalcMode\", */ f:parseuint16 }, //\n\t/*::[*/0x000e/*::]*/: { /* n:\"CalcPrecision\", */ f:parsebool }, //\n\t/*::[*/0x000f/*::]*/: { /* n:\"CalcRefMode\", */ f:parsebool }, //\n\t/*::[*/0x0010/*::]*/: { /* n:\"CalcDelta\", */ f:parse_Xnum }, //\n\t/*::[*/0x0011/*::]*/: { /* n:\"CalcIter\", */ f:parsebool }, //\n\t/*::[*/0x0012/*::]*/: { /* n:\"Protect\", */ f:parsebool },\n\t/*::[*/0x0013/*::]*/: { /* n:\"Password\", */ f:parseuint16 },\n\t/*::[*/0x0014/*::]*/: { /* n:\"Header\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0015/*::]*/: { /* n:\"Footer\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0017/*::]*/: { /* n:\"ExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x0018/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0019/*::]*/: { /* n:\"WinProtect\", */ f:parsebool },\n\t/*::[*/0x001a/*::]*/: { /* n:\"VerticalPageBreaks\", */ },\n\t/*::[*/0x001b/*::]*/: { /* n:\"HorizontalPageBreaks\", */ },\n\t/*::[*/0x001c/*::]*/: { /* n:\"Note\", */ f:parse_Note },\n\t/*::[*/0x001d/*::]*/: { /* n:\"Selection\", */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"Date1904\", */ f:parsebool },\n\t/*::[*/0x0023/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0026/*::]*/: { /* n:\"LeftMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0027/*::]*/: { /* n:\"RightMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0028/*::]*/: { /* n:\"TopMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0029/*::]*/: { /* n:\"BottomMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x002a/*::]*/: { /* n:\"PrintRowCol\", */ f:parsebool },\n\t/*::[*/0x002b/*::]*/: { /* n:\"PrintGrid\", */ f:parsebool },\n\t/*::[*/0x002f/*::]*/: { /* n:\"FilePass\", */ f:parse_FilePass },\n\t/*::[*/0x0031/*::]*/: { /* n:\"Font\", */ f:parse_Font },\n\t/*::[*/0x0033/*::]*/: { /* n:\"PrintSize\", */ f:parseuint16 },\n\t/*::[*/0x003c/*::]*/: { /* n:\"Continue\", */ },\n\t/*::[*/0x003d/*::]*/: { /* n:\"Window1\", */ f:parse_Window1 },\n\t/*::[*/0x0040/*::]*/: { /* n:\"Backup\", */ f:parsebool },\n\t/*::[*/0x0041/*::]*/: { /* n:\"Pane\", */ f:parse_Pane },\n\t/*::[*/0x0042/*::]*/: { /* n:\"CodePage\", */ f:parseuint16 },\n\t/*::[*/0x004d/*::]*/: { /* n:\"Pls\", */ },\n\t/*::[*/0x0050/*::]*/: { /* n:\"DCon\", */ },\n\t/*::[*/0x0051/*::]*/: { /* n:\"DConRef\", */ },\n\t/*::[*/0x0052/*::]*/: { /* n:\"DConName\", */ },\n\t/*::[*/0x0055/*::]*/: { /* n:\"DefColWidth\", */ f:parseuint16 },\n\t/*::[*/0x0059/*::]*/: { /* n:\"XCT\", */ },\n\t/*::[*/0x005a/*::]*/: { /* n:\"CRN\", */ },\n\t/*::[*/0x005b/*::]*/: { /* n:\"FileSharing\", */ },\n\t/*::[*/0x005c/*::]*/: { /* n:\"WriteAccess\", */ f:parse_WriteAccess },\n\t/*::[*/0x005d/*::]*/: { /* n:\"Obj\", */ f:parse_Obj },\n\t/*::[*/0x005e/*::]*/: { /* n:\"Uncalced\", */ },\n\t/*::[*/0x005f/*::]*/: { /* n:\"CalcSaveRecalc\", */ f:parsebool }, //\n\t/*::[*/0x0060/*::]*/: { /* n:\"Template\", */ },\n\t/*::[*/0x0061/*::]*/: { /* n:\"Intl\", */ },\n\t/*::[*/0x0063/*::]*/: { /* n:\"ObjProtect\", */ f:parsebool },\n\t/*::[*/0x007d/*::]*/: { /* n:\"ColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x0080/*::]*/: { /* n:\"Guts\", */ f:parse_Guts },\n\t/*::[*/0x0081/*::]*/: { /* n:\"WsBool\", */ f:parse_WsBool },\n\t/*::[*/0x0082/*::]*/: { /* n:\"GridSet\", */ f:parseuint16 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"HCenter\", */ f:parsebool },\n\t/*::[*/0x0084/*::]*/: { /* n:\"VCenter\", */ f:parsebool },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BoundSheet8\", */ f:parse_BoundSheet8 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"WriteProtect\", */ },\n\t/*::[*/0x008c/*::]*/: { /* n:\"Country\", */ f:parse_Country },\n\t/*::[*/0x008d/*::]*/: { /* n:\"HideObj\", */ f:parseuint16 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"Sort\", */ },\n\t/*::[*/0x0092/*::]*/: { /* n:\"Palette\", */ f:parse_Palette },\n\t/*::[*/0x0097/*::]*/: { /* n:\"Sync\", */ },\n\t/*::[*/0x0098/*::]*/: { /* n:\"LPr\", */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"DxGCol\", */ },\n\t/*::[*/0x009a/*::]*/: { /* n:\"FnGroupName\", */ },\n\t/*::[*/0x009b/*::]*/: { /* n:\"FilterMode\", */ },\n\t/*::[*/0x009c/*::]*/: { /* n:\"BuiltInFnGroupCount\", */ f:parseuint16 },\n\t/*::[*/0x009d/*::]*/: { /* n:\"AutoFilterInfo\", */ },\n\t/*::[*/0x009e/*::]*/: { /* n:\"AutoFilter\", */ },\n\t/*::[*/0x00a0/*::]*/: { /* n:\"Scl\", */ f:parse_Scl },\n\t/*::[*/0x00a1/*::]*/: { /* n:\"Setup\", */ f:parse_Setup },\n\t/*::[*/0x00ae/*::]*/: { /* n:\"ScenMan\", */ },\n\t/*::[*/0x00af/*::]*/: { /* n:\"SCENARIO\", */ },\n\t/*::[*/0x00b0/*::]*/: { /* n:\"SxView\", */ },\n\t/*::[*/0x00b1/*::]*/: { /* n:\"Sxvd\", */ },\n\t/*::[*/0x00b2/*::]*/: { /* n:\"SXVI\", */ },\n\t/*::[*/0x00b4/*::]*/: { /* n:\"SxIvd\", */ },\n\t/*::[*/0x00b5/*::]*/: { /* n:\"SXLI\", */ },\n\t/*::[*/0x00b6/*::]*/: { /* n:\"SXPI\", */ },\n\t/*::[*/0x00b8/*::]*/: { /* n:\"DocRoute\", */ },\n\t/*::[*/0x00b9/*::]*/: { /* n:\"RecipName\", */ },\n\t/*::[*/0x00bd/*::]*/: { /* n:\"MulRk\", */ f:parse_MulRk },\n\t/*::[*/0x00be/*::]*/: { /* n:\"MulBlank\", */ f:parse_MulBlank },\n\t/*::[*/0x00c1/*::]*/: { /* n:\"Mms\", */ f:parsenoop2 },\n\t/*::[*/0x00c5/*::]*/: { /* n:\"SXDI\", */ },\n\t/*::[*/0x00c6/*::]*/: { /* n:\"SXDB\", */ },\n\t/*::[*/0x00c7/*::]*/: { /* n:\"SXFDB\", */ },\n\t/*::[*/0x00c8/*::]*/: { /* n:\"SXDBB\", */ },\n\t/*::[*/0x00c9/*::]*/: { /* n:\"SXNum\", */ },\n\t/*::[*/0x00ca/*::]*/: { /* n:\"SxBool\", */ f:parsebool },\n\t/*::[*/0x00cb/*::]*/: { /* n:\"SxErr\", */ },\n\t/*::[*/0x00cc/*::]*/: { /* n:\"SXInt\", */ },\n\t/*::[*/0x00cd/*::]*/: { /* n:\"SXString\", */ },\n\t/*::[*/0x00ce/*::]*/: { /* n:\"SXDtr\", */ },\n\t/*::[*/0x00cf/*::]*/: { /* n:\"SxNil\", */ },\n\t/*::[*/0x00d0/*::]*/: { /* n:\"SXTbl\", */ },\n\t/*::[*/0x00d1/*::]*/: { /* n:\"SXTBRGIITM\", */ },\n\t/*::[*/0x00d2/*::]*/: { /* n:\"SxTbpg\", */ },\n\t/*::[*/0x00d3/*::]*/: { /* n:\"ObProj\", */ },\n\t/*::[*/0x00d5/*::]*/: { /* n:\"SXStreamID\", */ },\n\t/*::[*/0x00d7/*::]*/: { /* n:\"DBCell\", */ },\n\t/*::[*/0x00d8/*::]*/: { /* n:\"SXRng\", */ },\n\t/*::[*/0x00d9/*::]*/: { /* n:\"SxIsxoper\", */ },\n\t/*::[*/0x00da/*::]*/: { /* n:\"BookBool\", */ f:parseuint16 },\n\t/*::[*/0x00dc/*::]*/: { /* n:\"DbOrParamQry\", */ },\n\t/*::[*/0x00dd/*::]*/: { /* n:\"ScenarioProtect\", */ f:parsebool },\n\t/*::[*/0x00de/*::]*/: { /* n:\"OleObjectSize\", */ },\n\t/*::[*/0x00e0/*::]*/: { /* n:\"XF\", */ f:parse_XF },\n\t/*::[*/0x00e1/*::]*/: { /* n:\"InterfaceHdr\", */ f:parse_InterfaceHdr },\n\t/*::[*/0x00e2/*::]*/: { /* n:\"InterfaceEnd\", */ f:parsenoop2 },\n\t/*::[*/0x00e3/*::]*/: { /* n:\"SXVS\", */ },\n\t/*::[*/0x00e5/*::]*/: { /* n:\"MergeCells\", */ f:parse_MergeCells },\n\t/*::[*/0x00e9/*::]*/: { /* n:\"BkHim\", */ },\n\t/*::[*/0x00eb/*::]*/: { /* n:\"MsoDrawingGroup\", */ },\n\t/*::[*/0x00ec/*::]*/: { /* n:\"MsoDrawing\", */ },\n\t/*::[*/0x00ed/*::]*/: { /* n:\"MsoDrawingSelection\", */ },\n\t/*::[*/0x00ef/*::]*/: { /* n:\"PhoneticInfo\", */ },\n\t/*::[*/0x00f0/*::]*/: { /* n:\"SxRule\", */ },\n\t/*::[*/0x00f1/*::]*/: { /* n:\"SXEx\", */ },\n\t/*::[*/0x00f2/*::]*/: { /* n:\"SxFilt\", */ },\n\t/*::[*/0x00f4/*::]*/: { /* n:\"SxDXF\", */ },\n\t/*::[*/0x00f5/*::]*/: { /* n:\"SxItm\", */ },\n\t/*::[*/0x00f6/*::]*/: { /* n:\"SxName\", */ },\n\t/*::[*/0x00f7/*::]*/: { /* n:\"SxSelect\", */ },\n\t/*::[*/0x00f8/*::]*/: { /* n:\"SXPair\", */ },\n\t/*::[*/0x00f9/*::]*/: { /* n:\"SxFmla\", */ },\n\t/*::[*/0x00fb/*::]*/: { /* n:\"SxFormat\", */ },\n\t/*::[*/0x00fc/*::]*/: { /* n:\"SST\", */ f:parse_SST },\n\t/*::[*/0x00fd/*::]*/: { /* n:\"LabelSst\", */ f:parse_LabelSst },\n\t/*::[*/0x00ff/*::]*/: { /* n:\"ExtSST\", */ f:parse_ExtSST },\n\t/*::[*/0x0100/*::]*/: { /* n:\"SXVDEx\", */ },\n\t/*::[*/0x0103/*::]*/: { /* n:\"SXFormula\", */ },\n\t/*::[*/0x0122/*::]*/: { /* n:\"SXDBEx\", */ },\n\t/*::[*/0x0137/*::]*/: { /* n:\"RRDInsDel\", */ },\n\t/*::[*/0x0138/*::]*/: { /* n:\"RRDHead\", */ },\n\t/*::[*/0x013b/*::]*/: { /* n:\"RRDChgCell\", */ },\n\t/*::[*/0x013d/*::]*/: { /* n:\"RRTabId\", */ f:parseuint16a },\n\t/*::[*/0x013e/*::]*/: { /* n:\"RRDRenSheet\", */ },\n\t/*::[*/0x013f/*::]*/: { /* n:\"RRSort\", */ },\n\t/*::[*/0x0140/*::]*/: { /* n:\"RRDMove\", */ },\n\t/*::[*/0x014a/*::]*/: { /* n:\"RRFormat\", */ },\n\t/*::[*/0x014b/*::]*/: { /* n:\"RRAutoFmt\", */ },\n\t/*::[*/0x014d/*::]*/: { /* n:\"RRInsertSh\", */ },\n\t/*::[*/0x014e/*::]*/: { /* n:\"RRDMoveBegin\", */ },\n\t/*::[*/0x014f/*::]*/: { /* n:\"RRDMoveEnd\", */ },\n\t/*::[*/0x0150/*::]*/: { /* n:\"RRDInsDelBegin\", */ },\n\t/*::[*/0x0151/*::]*/: { /* n:\"RRDInsDelEnd\", */ },\n\t/*::[*/0x0152/*::]*/: { /* n:\"RRDConflict\", */ },\n\t/*::[*/0x0153/*::]*/: { /* n:\"RRDDefName\", */ },\n\t/*::[*/0x0154/*::]*/: { /* n:\"RRDRstEtxp\", */ },\n\t/*::[*/0x015f/*::]*/: { /* n:\"LRng\", */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"UsesELFs\", */ f:parsebool },\n\t/*::[*/0x0161/*::]*/: { /* n:\"DSF\", */ f:parsenoop2 },\n\t/*::[*/0x0191/*::]*/: { /* n:\"CUsr\", */ },\n\t/*::[*/0x0192/*::]*/: { /* n:\"CbUsr\", */ },\n\t/*::[*/0x0193/*::]*/: { /* n:\"UsrInfo\", */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"UsrExcl\", */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"FileLock\", */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"RRDInfo\", */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BCUsrs\", */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"UsrChk\", */ },\n\t/*::[*/0x01a9/*::]*/: { /* n:\"UserBView\", */ },\n\t/*::[*/0x01aa/*::]*/: { /* n:\"UserSViewBegin\", */ },\n\t/*::[*/0x01ab/*::]*/: { /* n:\"UserSViewEnd\", */ },\n\t/*::[*/0x01ac/*::]*/: { /* n:\"RRDUserView\", */ },\n\t/*::[*/0x01ad/*::]*/: { /* n:\"Qsi\", */ },\n\t/*::[*/0x01ae/*::]*/: { /* n:\"SupBook\", */ f:parse_SupBook },\n\t/*::[*/0x01af/*::]*/: { /* n:\"Prot4Rev\", */ f:parsebool },\n\t/*::[*/0x01b0/*::]*/: { /* n:\"CondFmt\", */ },\n\t/*::[*/0x01b1/*::]*/: { /* n:\"CF\", */ },\n\t/*::[*/0x01b2/*::]*/: { /* n:\"DVal\", */ },\n\t/*::[*/0x01b5/*::]*/: { /* n:\"DConBin\", */ },\n\t/*::[*/0x01b6/*::]*/: { /* n:\"TxO\", */ f:parse_TxO },\n\t/*::[*/0x01b7/*::]*/: { /* n:\"RefreshAll\", */ f:parsebool }, //\n\t/*::[*/0x01b8/*::]*/: { /* n:\"HLink\", */ f:parse_HLink },\n\t/*::[*/0x01b9/*::]*/: { /* n:\"Lel\", */ },\n\t/*::[*/0x01ba/*::]*/: { /* n:\"CodeName\", */ f:parse_XLUnicodeString },\n\t/*::[*/0x01bb/*::]*/: { /* n:\"SXFDBType\", */ },\n\t/*::[*/0x01bc/*::]*/: { /* n:\"Prot4RevPass\", */ f:parseuint16 },\n\t/*::[*/0x01bd/*::]*/: { /* n:\"ObNoMacros\", */ },\n\t/*::[*/0x01be/*::]*/: { /* n:\"Dv\", */ },\n\t/*::[*/0x01c0/*::]*/: { /* n:\"Excel9File\", */ f:parsenoop2 },\n\t/*::[*/0x01c1/*::]*/: { /* n:\"RecalcId\", */ f:parse_RecalcId, r:2},\n\t/*::[*/0x01c2/*::]*/: { /* n:\"EntExU2\", */ f:parsenoop2 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0201/*::]*/: { /* n:\"Blank\", */ f:parse_Blank },\n\t/*::[*/0x0203/*::]*/: { /* n:\"Number\", */ f:parse_Number },\n\t/*::[*/0x0204/*::]*/: { /* n:\"Label\", */ f:parse_Label },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0207/*::]*/: { /* n:\"String\", */ f:parse_String },\n\t/*::[*/0x0208/*::]*/: { /* n:\"Row\", */ f:parse_Row },\n\t/*::[*/0x020b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0221/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0225/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t/*::[*/0x0236/*::]*/: { /* n:\"Table\", */ },\n\t/*::[*/0x023e/*::]*/: { /* n:\"Window2\", */ f:parse_Window2 },\n\t/*::[*/0x027e/*::]*/: { /* n:\"RK\", */ f:parse_RK },\n\t/*::[*/0x0293/*::]*/: { /* n:\"Style\", */ },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BigName\", */ },\n\t/*::[*/0x041e/*::]*/: { /* n:\"Format\", */ f:parse_Format },\n\t/*::[*/0x043c/*::]*/: { /* n:\"ContinueBigName\", */ },\n\t/*::[*/0x04bc/*::]*/: { /* n:\"ShrFmla\", */ f:parse_ShrFmla },\n\t/*::[*/0x0800/*::]*/: { /* n:\"HLinkTooltip\", */ f:parse_HLinkTooltip },\n\t/*::[*/0x0801/*::]*/: { /* n:\"WebPub\", */ },\n\t/*::[*/0x0802/*::]*/: { /* n:\"QsiSXTag\", */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"DBQueryExt\", */ },\n\t/*::[*/0x0804/*::]*/: { /* n:\"ExtString\", */ },\n\t/*::[*/0x0805/*::]*/: { /* n:\"TxtQry\", */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"Qsir\", */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"Qsif\", */ },\n\t/*::[*/0x0808/*::]*/: { /* n:\"RRDTQSIF\", */ },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x080a/*::]*/: { /* n:\"OleDbConn\", */ },\n\t/*::[*/0x080b/*::]*/: { /* n:\"WOpt\", */ },\n\t/*::[*/0x080c/*::]*/: { /* n:\"SXViewEx\", */ },\n\t/*::[*/0x080d/*::]*/: { /* n:\"SXTH\", */ },\n\t/*::[*/0x080e/*::]*/: { /* n:\"SXPIEx\", */ },\n\t/*::[*/0x080f/*::]*/: { /* n:\"SXVDTEx\", */ },\n\t/*::[*/0x0810/*::]*/: { /* n:\"SXViewEx9\", */ },\n\t/*::[*/0x0812/*::]*/: { /* n:\"ContinueFrt\", */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"RealTimeData\", */ },\n\t/*::[*/0x0850/*::]*/: { /* n:\"ChartFrtInfo\", */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"FrtWrapper\", */ },\n\t/*::[*/0x0852/*::]*/: { /* n:\"StartBlock\", */ },\n\t/*::[*/0x0853/*::]*/: { /* n:\"EndBlock\", */ },\n\t/*::[*/0x0854/*::]*/: { /* n:\"StartObject\", */ },\n\t/*::[*/0x0855/*::]*/: { /* n:\"EndObject\", */ },\n\t/*::[*/0x0856/*::]*/: { /* n:\"CatLab\", */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"YMult\", */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"SXViewLink\", */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"PivotChartBits\", */ },\n\t/*::[*/0x085a/*::]*/: { /* n:\"FrtFontList\", */ },\n\t/*::[*/0x0862/*::]*/: { /* n:\"SheetExt\", */ },\n\t/*::[*/0x0863/*::]*/: { /* n:\"BookExt\", */ r:12},\n\t/*::[*/0x0864/*::]*/: { /* n:\"SXAddl\", */ },\n\t/*::[*/0x0865/*::]*/: { /* n:\"CrErr\", */ },\n\t/*::[*/0x0866/*::]*/: { /* n:\"HFPicture\", */ },\n\t/*::[*/0x0867/*::]*/: { /* n:\"FeatHdr\", */ f:parsenoop2 },\n\t/*::[*/0x0868/*::]*/: { /* n:\"Feat\", */ },\n\t/*::[*/0x086a/*::]*/: { /* n:\"DataLabExt\", */ },\n\t/*::[*/0x086b/*::]*/: { /* n:\"DataLabExtContents\", */ },\n\t/*::[*/0x086c/*::]*/: { /* n:\"CellWatch\", */ },\n\t/*::[*/0x0871/*::]*/: { /* n:\"FeatHdr11\", */ },\n\t/*::[*/0x0872/*::]*/: { /* n:\"Feature11\", */ },\n\t/*::[*/0x0874/*::]*/: { /* n:\"DropDownObjIds\", */ },\n\t/*::[*/0x0875/*::]*/: { /* n:\"ContinueFrt11\", */ },\n\t/*::[*/0x0876/*::]*/: { /* n:\"DConn\", */ },\n\t/*::[*/0x0877/*::]*/: { /* n:\"List12\", */ },\n\t/*::[*/0x0878/*::]*/: { /* n:\"Feature12\", */ },\n\t/*::[*/0x0879/*::]*/: { /* n:\"CondFmt12\", */ },\n\t/*::[*/0x087a/*::]*/: { /* n:\"CF12\", */ },\n\t/*::[*/0x087b/*::]*/: { /* n:\"CFEx\", */ },\n\t/*::[*/0x087c/*::]*/: { /* n:\"XFCRC\", */ f:parse_XFCRC, r:12 },\n\t/*::[*/0x087d/*::]*/: { /* n:\"XFExt\", */ f:parse_XFExt, r:12 },\n\t/*::[*/0x087e/*::]*/: { /* n:\"AutoFilter12\", */ },\n\t/*::[*/0x087f/*::]*/: { /* n:\"ContinueFrt12\", */ },\n\t/*::[*/0x0884/*::]*/: { /* n:\"MDTInfo\", */ },\n\t/*::[*/0x0885/*::]*/: { /* n:\"MDXStr\", */ },\n\t/*::[*/0x0886/*::]*/: { /* n:\"MDXTuple\", */ },\n\t/*::[*/0x0887/*::]*/: { /* n:\"MDXSet\", */ },\n\t/*::[*/0x0888/*::]*/: { /* n:\"MDXProp\", */ },\n\t/*::[*/0x0889/*::]*/: { /* n:\"MDXKPI\", */ },\n\t/*::[*/0x088a/*::]*/: { /* n:\"MDB\", */ },\n\t/*::[*/0x088b/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x088c/*::]*/: { /* n:\"Compat12\", */ f:parsebool, r:12 },\n\t/*::[*/0x088d/*::]*/: { /* n:\"DXF\", */ },\n\t/*::[*/0x088e/*::]*/: { /* n:\"TableStyles\", */ r:12 },\n\t/*::[*/0x088f/*::]*/: { /* n:\"TableStyle\", */ },\n\t/*::[*/0x0890/*::]*/: { /* n:\"TableStyleElement\", */ },\n\t/*::[*/0x0892/*::]*/: { /* n:\"StyleExt\", */ },\n\t/*::[*/0x0893/*::]*/: { /* n:\"NamePublish\", */ },\n\t/*::[*/0x0894/*::]*/: { /* n:\"NameCmt\", */ f:parse_NameCmt, r:12 },\n\t/*::[*/0x0895/*::]*/: { /* n:\"SortData\", */ },\n\t/*::[*/0x0896/*::]*/: { /* n:\"Theme\", */ f:parse_Theme, r:12 },\n\t/*::[*/0x0897/*::]*/: { /* n:\"GUIDTypeLib\", */ },\n\t/*::[*/0x0898/*::]*/: { /* n:\"FnGrp12\", */ },\n\t/*::[*/0x0899/*::]*/: { /* n:\"NameFnGrp12\", */ },\n\t/*::[*/0x089a/*::]*/: { /* n:\"MTRSettings\", */ f:parse_MTRSettings, r:12 },\n\t/*::[*/0x089b/*::]*/: { /* n:\"CompressPictures\", */ f:parsenoop2 },\n\t/*::[*/0x089c/*::]*/: { /* n:\"HeaderFooter\", */ },\n\t/*::[*/0x089d/*::]*/: { /* n:\"CrtLayout12\", */ },\n\t/*::[*/0x089e/*::]*/: { /* n:\"CrtMlFrt\", */ },\n\t/*::[*/0x089f/*::]*/: { /* n:\"CrtMlFrtContinue\", */ },\n\t/*::[*/0x08a3/*::]*/: { /* n:\"ForceFullCalculation\", */ f:parse_ForceFullCalculation },\n\t/*::[*/0x08a4/*::]*/: { /* n:\"ShapePropsStream\", */ },\n\t/*::[*/0x08a5/*::]*/: { /* n:\"TextPropsStream\", */ },\n\t/*::[*/0x08a6/*::]*/: { /* n:\"RichTextStream\", */ },\n\t/*::[*/0x08a7/*::]*/: { /* n:\"CrtLayout12A\", */ },\n\t/*::[*/0x1001/*::]*/: { /* n:\"Units\", */ },\n\t/*::[*/0x1002/*::]*/: { /* n:\"Chart\", */ },\n\t/*::[*/0x1003/*::]*/: { /* n:\"Series\", */ },\n\t/*::[*/0x1006/*::]*/: { /* n:\"DataFormat\", */ },\n\t/*::[*/0x1007/*::]*/: { /* n:\"LineFormat\", */ },\n\t/*::[*/0x1009/*::]*/: { /* n:\"MarkerFormat\", */ },\n\t/*::[*/0x100a/*::]*/: { /* n:\"AreaFormat\", */ },\n\t/*::[*/0x100b/*::]*/: { /* n:\"PieFormat\", */ },\n\t/*::[*/0x100c/*::]*/: { /* n:\"AttachedLabel\", */ },\n\t/*::[*/0x100d/*::]*/: { /* n:\"SeriesText\", */ },\n\t/*::[*/0x1014/*::]*/: { /* n:\"ChartFormat\", */ },\n\t/*::[*/0x1015/*::]*/: { /* n:\"Legend\", */ },\n\t/*::[*/0x1016/*::]*/: { /* n:\"SeriesList\", */ },\n\t/*::[*/0x1017/*::]*/: { /* n:\"Bar\", */ },\n\t/*::[*/0x1018/*::]*/: { /* n:\"Line\", */ },\n\t/*::[*/0x1019/*::]*/: { /* n:\"Pie\", */ },\n\t/*::[*/0x101a/*::]*/: { /* n:\"Area\", */ },\n\t/*::[*/0x101b/*::]*/: { /* n:\"Scatter\", */ },\n\t/*::[*/0x101c/*::]*/: { /* n:\"CrtLine\", */ },\n\t/*::[*/0x101d/*::]*/: { /* n:\"Axis\", */ },\n\t/*::[*/0x101e/*::]*/: { /* n:\"Tick\", */ },\n\t/*::[*/0x101f/*::]*/: { /* n:\"ValueRange\", */ },\n\t/*::[*/0x1020/*::]*/: { /* n:\"CatSerRange\", */ },\n\t/*::[*/0x1021/*::]*/: { /* n:\"AxisLine\", */ },\n\t/*::[*/0x1022/*::]*/: { /* n:\"CrtLink\", */ },\n\t/*::[*/0x1024/*::]*/: { /* n:\"DefaultText\", */ },\n\t/*::[*/0x1025/*::]*/: { /* n:\"Text\", */ },\n\t/*::[*/0x1026/*::]*/: { /* n:\"FontX\", */ f:parseuint16 },\n\t/*::[*/0x1027/*::]*/: { /* n:\"ObjectLink\", */ },\n\t/*::[*/0x1032/*::]*/: { /* n:\"Frame\", */ },\n\t/*::[*/0x1033/*::]*/: { /* n:\"Begin\", */ },\n\t/*::[*/0x1034/*::]*/: { /* n:\"End\", */ },\n\t/*::[*/0x1035/*::]*/: { /* n:\"PlotArea\", */ },\n\t/*::[*/0x103a/*::]*/: { /* n:\"Chart3d\", */ },\n\t/*::[*/0x103c/*::]*/: { /* n:\"PicF\", */ },\n\t/*::[*/0x103d/*::]*/: { /* n:\"DropBar\", */ },\n\t/*::[*/0x103e/*::]*/: { /* n:\"Radar\", */ },\n\t/*::[*/0x103f/*::]*/: { /* n:\"Surf\", */ },\n\t/*::[*/0x1040/*::]*/: { /* n:\"RadarArea\", */ },\n\t/*::[*/0x1041/*::]*/: { /* n:\"AxisParent\", */ },\n\t/*::[*/0x1043/*::]*/: { /* n:\"LegendException\", */ },\n\t/*::[*/0x1044/*::]*/: { /* n:\"ShtProps\", */ f:parse_ShtProps },\n\t/*::[*/0x1045/*::]*/: { /* n:\"SerToCrt\", */ },\n\t/*::[*/0x1046/*::]*/: { /* n:\"AxesUsed\", */ },\n\t/*::[*/0x1048/*::]*/: { /* n:\"SBaseRef\", */ },\n\t/*::[*/0x104a/*::]*/: { /* n:\"SerParent\", */ },\n\t/*::[*/0x104b/*::]*/: { /* n:\"SerAuxTrend\", */ },\n\t/*::[*/0x104e/*::]*/: { /* n:\"IFmtRecord\", */ },\n\t/*::[*/0x104f/*::]*/: { /* n:\"Pos\", */ },\n\t/*::[*/0x1050/*::]*/: { /* n:\"AlRuns\", */ },\n\t/*::[*/0x1051/*::]*/: { /* n:\"BRAI\", */ },\n\t/*::[*/0x105b/*::]*/: { /* n:\"SerAuxErrBar\", */ },\n\t/*::[*/0x105c/*::]*/: { /* n:\"ClrtClient\", */ f:parse_ClrtClient },\n\t/*::[*/0x105d/*::]*/: { /* n:\"SerFmt\", */ },\n\t/*::[*/0x105f/*::]*/: { /* n:\"Chart3DBarShape\", */ },\n\t/*::[*/0x1060/*::]*/: { /* n:\"Fbi\", */ },\n\t/*::[*/0x1061/*::]*/: { /* n:\"BopPop\", */ },\n\t/*::[*/0x1062/*::]*/: { /* n:\"AxcExt\", */ },\n\t/*::[*/0x1063/*::]*/: { /* n:\"Dat\", */ },\n\t/*::[*/0x1064/*::]*/: { /* n:\"PlotGrowth\", */ },\n\t/*::[*/0x1065/*::]*/: { /* n:\"SIIndex\", */ },\n\t/*::[*/0x1066/*::]*/: { /* n:\"GelFrame\", */ },\n\t/*::[*/0x1067/*::]*/: { /* n:\"BopPopCustom\", */ },\n\t/*::[*/0x1068/*::]*/: { /* n:\"Fbi2\", */ },\n\n\t/*::[*/0x0000/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BIFF2BLANK\", */ },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BIFF2INT\", */ f:parse_BIFF2INT },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BIFF2NUM\", */ f:parse_BIFF2NUM },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BIFF2STR\", */ f:parse_BIFF2STR },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0007/*::]*/: { /* n:\"String\", */ f:parse_BIFF2STRING },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BIFF2ROW\", */ },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x000b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"ExternCount\", */ f:parseuint16 },\n\t/*::[*/0x001e/*::]*/: { /* n:\"BIFF2FORMAT\", */ f:parse_BIFF2Format },\n\t/*::[*/0x001f/*::]*/: { /* n:\"BIFF2FMTCNT\", */ }, /* 16-bit cnt of BIFF2FORMAT records */\n\t/*::[*/0x0020/*::]*/: { /* n:\"BIFF2COLINFO\", */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0024/*::]*/: { /* n:\"COLWIDTH\", */ },\n\t/*::[*/0x0025/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t// 0x2c ??\n\t// 0x2d ??\n\t// 0x2e ??\n\t// 0x30 FONTCOUNT: number of fonts\n\t/*::[*/0x0032/*::]*/: { /* n:\"BIFF2FONTXTRA\", */ f:parse_BIFF2FONTXTRA },\n\t// 0x35: INFOOPTS\n\t// 0x36: TABLE (BIFF2 only)\n\t// 0x37: TABLE2 (BIFF2 only)\n\t// 0x38: WNDESK\n\t// 0x39 ??\n\t// 0x3a: BEGINPREF\n\t// 0x3b: ENDPREF\n\t/*::[*/0x003e/*::]*/: { /* n:\"BIFF2WINDOW2\", */ },\n\t// 0x3f ??\n\t// 0x46: SHOWSCROLL\n\t// 0x47: SHOWFORMULA\n\t// 0x48: STATUSBAR\n\t// 0x49: SHORTMENUS\n\t// 0x4A:\n\t// 0x4B:\n\t// 0x4C:\n\t// 0x4E:\n\t// 0x4F:\n\t// 0x58: TOOLBAR (BIFF3)\n\n\t/* - - - */\n\t/*::[*/0x0034/*::]*/: { /* n:\"DDEObjName\", */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BIFF2XF\", */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BIFF2XFINDEX\", */ f:parseuint16 },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BIFF2FONTCLR\", */ },\n\t/*::[*/0x0056/*::]*/: { /* n:\"BIFF4FMTCNT\", */ }, /* 16-bit cnt, similar to BIFF2 */\n\t/*::[*/0x007e/*::]*/: { /* n:\"RK\", */ }, /* Not necessarily same as 0x027e */\n\t/*::[*/0x007f/*::]*/: { /* n:\"ImData\", */ f:parse_ImData },\n\t/*::[*/0x0087/*::]*/: { /* n:\"Addin\", */ },\n\t/*::[*/0x0088/*::]*/: { /* n:\"Edg\", */ },\n\t/*::[*/0x0089/*::]*/: { /* n:\"Pub\", */ },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t// 0x8F\n\t/*::[*/0x0091/*::]*/: { /* n:\"Sub\", */ },\n\t// 0x93 STYLE\n\t/*::[*/0x0094/*::]*/: { /* n:\"LHRecord\", */ },\n\t/*::[*/0x0095/*::]*/: { /* n:\"LHNGraph\", */ },\n\t/*::[*/0x0096/*::]*/: { /* n:\"Sound\", */ },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n\t/*::[*/0x00a9/*::]*/: { /* n:\"CoordList\", */ },\n\t/*::[*/0x00ab/*::]*/: { /* n:\"GCW\", */ },\n\t/*::[*/0x00bc/*::]*/: { /* n:\"ShrFmla\", */ }, /* Not necessarily same as 0x04bc */\n\t/*::[*/0x00bf/*::]*/: { /* n:\"ToolbarHdr\", */ },\n\t/*::[*/0x00c0/*::]*/: { /* n:\"ToolbarEnd\", */ },\n\t/*::[*/0x00c2/*::]*/: { /* n:\"AddMenu\", */ },\n\t/*::[*/0x00c3/*::]*/: { /* n:\"DelMenu\", */ },\n\t/*::[*/0x00d6/*::]*/: { /* n:\"RString\", */ f:parse_RString },\n\t/*::[*/0x00df/*::]*/: { /* n:\"UDDesc\", */ },\n\t/*::[*/0x00ea/*::]*/: { /* n:\"TabIdConf\", */ },\n\t/*::[*/0x0162/*::]*/: { /* n:\"XL5Modify\", */ },\n\t/*::[*/0x01a5/*::]*/: { /* n:\"FileSharing2\", */ },\n\t/*::[*/0x0206/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0218/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0223/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0231/*::]*/: { /* n:\"Font\", */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BIFF3XF\", */ },\n\t/*::[*/0x0406/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BIFF4XF\", */ },\n\t/*::[*/0x086d/*::]*/: { /* n:\"FeatInfo\", */ },\n\t/*::[*/0x0873/*::]*/: { /* n:\"FeatInfo11\", */ },\n\t/*::[*/0x0881/*::]*/: { /* n:\"SXAddl12\", */ },\n\t/*::[*/0x08c0/*::]*/: { /* n:\"AutoWebPub\", */ },\n\t/*::[*/0x08c1/*::]*/: { /* n:\"ListObj\", */ },\n\t/*::[*/0x08c2/*::]*/: { /* n:\"ListField\", */ },\n\t/*::[*/0x08c3/*::]*/: { /* n:\"ListDV\", */ },\n\t/*::[*/0x08c4/*::]*/: { /* n:\"ListCondFmt\", */ },\n\t/*::[*/0x08c5/*::]*/: { /* n:\"ListCF\", */ },\n\t/*::[*/0x08c6/*::]*/: { /* n:\"FMQry\", */ },\n\t/*::[*/0x08c7/*::]*/: { /* n:\"FMSQry\", */ },\n\t/*::[*/0x08c8/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x08c9/*::]*/: { /* n:\"LnExt\", */ },\n\t/*::[*/0x08ca/*::]*/: { /* n:\"MkrExt\", */ },\n\t/*::[*/0x08cb/*::]*/: { /* n:\"CrtCoopt\", */ },\n\t/*::[*/0x08d6/*::]*/: { /* n:\"FRTArchId$\", */ r:12 },\n\n\t/*::[*/0x7262/*::]*/: {}\n};\n\nfunction write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar t/*:number*/ = type;\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = type;\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r/*:number*/, c/*:number*/) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||\"\").slice(0,255)));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref/*:string*/, rr = \"\", cols/*:Array*/ = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i*/ = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1));\n\twrite_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100));\n\twrite_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true));\n\twrite_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false));\n\twrite_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001));\n\twrite_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true));\n\twrite_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false));\n\twrite_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false));\n\twrite_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1));\n\twrite_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, 0x0083 /* HCenter */, writebool(false));\n\twrite_biff_rec(ba, 0x0084 /* VCenter */, writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"]);\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname/*:string*/ = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, 0x000a /* EOF */);\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) {\n\tvar A = buf_array();\n\tvar _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/);\n\tvar _sheets/*:Array*/ = (_WB.Sheets||[]);\n\tvar _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:\"ThisWorkbook\"*/}/*:: ):any)*/;\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, 0x0087 /* Addin */);\n\twrite_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2));\n\tif(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */);\n\tif(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */);\n\twrite_biff_rec(A, 0x00e2 /* InterfaceEnd */);\n\twrite_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01c0 /* Excel9File */);\n\twrite_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */);\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname/*:string*/ = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, 0x0019 /* WinProtect */, writebool(false));\n\twrite_biff_rec(A, 0x0012 /* Protect */, writebool(false));\n\twrite_biff_rec(A, 0x0013 /* Password */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false));\n\tif(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0));\n\twrite_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts));\n\twrite_biff_rec(A, 0x0040 /* Backup */, writebool(false));\n\twrite_biff_rec(A, 0x008d /* HideObj */, writeuint16(0));\n\twrite_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true));\n\tif(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false));\n\twrite_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, 0x008C, write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, 0x00FC, write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, 0x000A /* EOF */);\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/);\n\t\twrite_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn bconcat(out);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn bconcat(bufs);\n}\n\nfunction write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nfunction html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tstr = str.replace(//g, \"\");\n\tvar mtch/*:any*/ = str.match(/\");\n\tvar mtch2/*:any*/ = str.match(/<\\/table/i);\n\tvar i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;\n\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\tvar R = -1, C = 0, RS = 0, CS = 0;\n\tvar range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\tvar merges/*:Array*/ = [];\n\tfor(i = 0; i < rows.length; ++i) {\n\t\tvar row = rows[i].trim();\n\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\tif(hd == \"/i);\n\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\tvar cell = cells[j].trim();\n\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar _merge/*:Range*/ = merges[midx];\n\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t}\n\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar _t/*:string*/ = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t/* TODO: generate stub cells */\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tm = htmldecode(m);\n\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tvar o/*:Cell*/ = {t:'s', v:m};\n\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\to = ({t:'d', v:parseDate(m)}/*:any*/);\n\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\tC += CS;\n\t\t}\n\t}\n\tws['!ref'] = encode_range(range);\n\tif(merges.length) ws[\"!merges\"] = merges;\n\treturn ws;\n}\nfunction make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar M/*:Array*/ = (ws['!merges'] ||[]);\n\tvar oo/*:Array*/ = [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar RS = 0, CS = 0;\n\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t}\n\t\tif(RS < 0) continue;\n\t\tvar coord = encode_cell({r:R,c:C});\n\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t/* TODO: html entities */\n\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\tvar sp = ({}/*:any*/);\n\t\tif(RS > 1) sp.rowspan = RS;\n\t\tif(CS > 1) sp.colspan = CS;\n\t\tif(o.editable) w = '' + w + '';\n\t\telse if(cell) {\n\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\tif(cell.v != null) sp[\"data-v\"] = cell.v;\n\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t}\n\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\too.push(writextag('td', w, sp));\n\t}\n\tvar preamble = \"\";\n\treturn preamble + oo.join(\"\") + \"\";\n}\n\nvar HTML_BEGIN = 'SheetJS Table Export';\nvar HTML_END = '';\n\nfunction html_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\tvar mtch = str.match(/[\\s\\S]*?<\\/table>/gi);\n\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
\");\n\tif(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\tvar wb = book_new();\n\tmtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\treturn wb;\n}\n\nfunction make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\treturn out.join(\"\") + '';\n}\n\nfunction sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ {\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tvar out/*:Array*/ = [header];\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tout.push(make_html_preamble(ws, r, o));\n\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\tout.push(\"
\" + footer);\n\treturn out.join(\"\");\n}\n\nfunction sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\n\tvar rows/*:HTMLCollection*/ = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range/*:Range*/ = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges/*:Array*/ = [], midx = 0;\n\tvar rowinfo/*:Array*/ = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row/*:HTMLTableRowElement*/ = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts/*:HTMLCollection*/ = (row.children/*:any*/);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt/*:HTMLTableCellElement*/ = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m/*:Range*/ = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o/*:Cell*/ = {t:'s', v:v};\n\t\t\tvar _t/*:string*/ = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)}/*:any*/);\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\") o.l = ({ Target: l });\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ {\n\tvar display/*:string*/ = '';\n\tvar get_computed_style/*:?function*/ = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style && element.style.display;\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nfunction parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ {\n\t/* 6.1.2 White Space Characters */\n\tvar fixed = text\n\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t.replace(//g,\" \")\n\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t.replace(//g,\"\\n\");\n\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\treturn [v];\n}\n\nvar number_formats_ods = {\n\t/* ods name: [short ssf fmt, long ssf fmt] */\n\tday: [\"d\", \"dd\"],\n\tmonth: [\"m\", \"mm\"],\n\tyear: [\"y\", \"yy\"],\n\thours: [\"h\", \"hh\"],\n\tminutes: [\"m\", \"mm\"],\n\tseconds: [\"s\", \"ss\"],\n\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\tera: [\"e\", \"ee\"],\n\t/* there is no native representation of LO \"Q\" format */\n\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n};\n\n\nfunction parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state/*:Array*/ = [], tmp;\n\t\tvar tag/*:: = {}*/;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag/*:: = {name:\"\", '名称':\"\"}*/;\n\t\tvar rowtag/*:: = {'行号':\"\"}*/;\n\t\tvar Sheets = {}, SheetNames/*:Array*/ = [];\n\t\tvar ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar Rn, q/*:: :any = ({t:\"\", v:null, z:null, w:\"\",c:[],}:any)*/;\n\t\tvar ctag = ({value:\"\"}/*:any*/);\n\t\tvar textp = \"\", textpidx = 0, textptag/*:: = {}*/;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({}/*:any*/);\n\t\tvar _Ref/*:[string, string]*/ = [\"\", \"\"];\n\t\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({}/*:any*/);\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); }\n\t\t\t\t\t\t\tq.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {/*:: t:\"\", v:null, z:null, w:\"\",c:[]*/};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({}/*:any*/);\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) /*::(*/comment/*:: :any)*/.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/);\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso(/*::wb, opts*/) {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text/*:string*/)/*:string*/ {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"
\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb/*:Workbook*/, i/*:number*//*::, opts*/)/*:string*/ {\n\t\t/* Section 9 Tables */\n\t\tvar o/*:Array*/ = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o/*:Array*/, wb) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/office:document-meta/g, \"office:meta\"));\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\twrite_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb/*:any*/, opts/*:any*/) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest/*:Array >*/ = [];\n\tvar rdf/*:Array<[string, string]>*/ = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\n/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */\nfunction u8_to_dataview(array) {\n return new DataView(array.buffer, array.byteOffset, array.byteLength);\n}\nfunction u8str(u8) {\n return typeof TextDecoder != \"undefined\" ? new TextDecoder().decode(u8) : utf8read(a2s(u8));\n}\nfunction stru8(str) {\n return typeof TextEncoder != \"undefined\" ? new TextEncoder().encode(str) : s2a(utf8write(str));\n}\nfunction u8contains(body, search) {\n outer:\n for (var L = 0; L <= body.length - search.length; ++L) {\n for (var j = 0; j < search.length; ++j)\n if (body[L + j] != search[j])\n continue outer;\n return true;\n }\n return false;\n}\nfunction u8concat(u8a) {\n var len = u8a.reduce(function(acc, x) {\n return acc + x.length;\n }, 0);\n var out = new Uint8Array(len);\n var off = 0;\n u8a.forEach(function(u8) {\n out.set(u8, off);\n off += u8.length;\n });\n return out;\n}\nfunction popcnt(x) {\n x -= x >> 1 & 1431655765;\n x = (x & 858993459) + (x >> 2 & 858993459);\n return (x + (x >> 4) & 252645135) * 16843009 >>> 24;\n}\nfunction readDecimal128LE(buf, offset) {\n var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1;\n var mantissa = buf[offset + 14] & 1;\n for (var j = offset + 13; j >= offset; --j)\n mantissa = mantissa * 256 + buf[j];\n return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176);\n}\nfunction writeDecimal128LE(buf, offset, value) {\n var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 20;\n var mantissa = value / Math.pow(10, exp - 6176);\n buf[offset + 15] |= exp >> 7;\n buf[offset + 14] |= (exp & 127) << 1;\n for (var i = 0; mantissa >= 1; ++i, mantissa /= 256)\n buf[offset + i] = mantissa & 255;\n buf[offset + 15] |= value >= 0 ? 0 : 128;\n}\nfunction parse_varint49(buf, ptr) {\n var l = ptr ? ptr[0] : 0;\n var usz = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n usz |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 28);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 35);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 42);\n ++l;\n if (buf[l++] < 128)\n break varint;\n }\n if (ptr)\n ptr[0] = l;\n return usz;\n}\nfunction write_varint49(v) {\n var usz = new Uint8Array(7);\n usz[0] = v & 127;\n var L = 1;\n sz:\n if (v > 127) {\n usz[L - 1] |= 128;\n usz[L] = v >> 7 & 127;\n ++L;\n if (v <= 16383)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 14 & 127;\n ++L;\n if (v <= 2097151)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 21 & 127;\n ++L;\n if (v <= 268435455)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 256 >>> 21 & 127;\n ++L;\n if (v <= 34359738367)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 65536 >>> 21 & 127;\n ++L;\n if (v <= 4398046511103)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 16777216 >>> 21 & 127;\n ++L;\n }\n return usz.slice(0, L);\n}\nfunction varint_to_i32(buf) {\n var l = 0, i32 = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n i32 |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 28;\n }\n return i32;\n}\nfunction parse_shallow(buf) {\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var off = ptr[0];\n var num = parse_varint49(buf, ptr);\n var type = num & 7;\n num = Math.floor(num / 8);\n var len = 0;\n var res;\n if (num == 0)\n break;\n switch (type) {\n case 0:\n {\n var l = ptr[0];\n while (buf[ptr[0]++] >= 128)\n ;\n res = buf.slice(l, ptr[0]);\n }\n break;\n case 5:\n len = 4;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 1:\n len = 8;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 2:\n len = parse_varint49(buf, ptr);\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 3:\n case 4:\n default:\n throw new Error(\"PB Type \".concat(type, \" for Field \").concat(num, \" at offset \").concat(off));\n }\n var v = { data: res, type: type };\n if (out[num] == null)\n out[num] = [v];\n else\n out[num].push(v);\n }\n return out;\n}\nfunction write_shallow(proto) {\n var out = [];\n proto.forEach(function(field, idx) {\n field.forEach(function(item) {\n if (!item.data)\n return;\n out.push(write_varint49(idx * 8 + item.type));\n if (item.type == 2)\n out.push(write_varint49(item.data.length));\n out.push(item.data);\n });\n });\n return u8concat(out);\n}\nfunction mappa(data, cb) {\n return (data == null ? void 0 : data.map(function(d) {\n return cb(d.data);\n })) || [];\n}\nfunction parse_iwa_file(buf) {\n var _a;\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var len = parse_varint49(buf, ptr);\n var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n var res = {\n id: varint_to_i32(ai[1][0].data),\n messages: []\n };\n ai[2].forEach(function(b) {\n var mi = parse_shallow(b.data);\n var fl = varint_to_i32(mi[3][0].data);\n res.messages.push({\n meta: mi,\n data: buf.slice(ptr[0], ptr[0] + fl)\n });\n ptr[0] += fl;\n });\n if ((_a = ai[3]) == null ? void 0 : _a[0])\n res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0;\n out.push(res);\n }\n return out;\n}\nfunction write_iwa_file(ias) {\n var bufs = [];\n ias.forEach(function(ia) {\n var ai = [];\n ai[1] = [{ data: write_varint49(ia.id), type: 0 }];\n ai[2] = [];\n if (ia.merge != null)\n ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }];\n var midata = [];\n ia.messages.forEach(function(mi) {\n midata.push(mi.data);\n mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];\n ai[2].push({ data: write_shallow(mi.meta), type: 2 });\n });\n var aipayload = write_shallow(ai);\n bufs.push(write_varint49(aipayload.length));\n bufs.push(aipayload);\n midata.forEach(function(mid) {\n return bufs.push(mid);\n });\n });\n return u8concat(bufs);\n}\nfunction parse_snappy_chunk(type, buf) {\n if (type != 0)\n throw new Error(\"Unexpected Snappy chunk type \".concat(type));\n var ptr = [0];\n var usz = parse_varint49(buf, ptr);\n var chunks = [];\n while (ptr[0] < buf.length) {\n var tag = buf[ptr[0]] & 3;\n if (tag == 0) {\n var len = buf[ptr[0]++] >> 2;\n if (len < 60)\n ++len;\n else {\n var c = len - 59;\n len = buf[ptr[0]];\n if (c > 1)\n len |= buf[ptr[0] + 1] << 8;\n if (c > 2)\n len |= buf[ptr[0] + 2] << 16;\n if (c > 3)\n len |= buf[ptr[0] + 3] << 24;\n len >>>= 0;\n len++;\n ptr[0] += c;\n }\n chunks.push(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n continue;\n } else {\n var offset = 0, length = 0;\n if (tag == 1) {\n length = (buf[ptr[0]] >> 2 & 7) + 4;\n offset = (buf[ptr[0]++] & 224) << 3;\n offset |= buf[ptr[0]++];\n } else {\n length = (buf[ptr[0]++] >> 2) + 1;\n if (tag == 2) {\n offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8;\n ptr[0] += 2;\n } else {\n offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0;\n ptr[0] += 4;\n }\n }\n chunks = [u8concat(chunks)];\n if (offset == 0)\n throw new Error(\"Invalid offset 0\");\n if (offset > chunks[0].length)\n throw new Error(\"Invalid offset beyond length\");\n if (length >= offset) {\n chunks.push(chunks[0].slice(-offset));\n length -= offset;\n while (length >= chunks[chunks.length - 1].length) {\n chunks.push(chunks[chunks.length - 1]);\n length -= chunks[chunks.length - 1].length;\n }\n }\n chunks.push(chunks[0].slice(-offset, -offset + length));\n }\n }\n var o = u8concat(chunks);\n if (o.length != usz)\n throw new Error(\"Unexpected length: \".concat(o.length, \" != \").concat(usz));\n return o;\n}\nfunction decompress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var t = buf[l++];\n var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16;\n l += 3;\n out.push(parse_snappy_chunk(t, buf.slice(l, l + len)));\n l += len;\n }\n if (l !== buf.length)\n throw new Error(\"data is not a valid framed stream!\");\n return u8concat(out);\n}\nfunction compress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var c = Math.min(buf.length - l, 268435455);\n var frame = new Uint8Array(4);\n out.push(frame);\n var usz = write_varint49(c);\n var L = usz.length;\n out.push(usz);\n if (c <= 60) {\n L++;\n out.push(new Uint8Array([c - 1 << 2]));\n } else if (c <= 256) {\n L += 2;\n out.push(new Uint8Array([240, c - 1 & 255]));\n } else if (c <= 65536) {\n L += 3;\n out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255]));\n } else if (c <= 16777216) {\n L += 4;\n out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255]));\n } else if (c <= 4294967296) {\n L += 5;\n out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255]));\n }\n out.push(buf.slice(l, l + c));\n L += c;\n frame[0] = 0;\n frame[1] = L & 255;\n frame[2] = L >> 8 & 255;\n frame[3] = L >> 16 & 255;\n l += c;\n }\n return u8concat(out);\n}\nfunction parse_old_storage(buf, sst, rsst, v) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var data_offset = (v > 1 ? 12 : 8) + popcnt(flags & (v > 1 ? 3470 : 398)) * 4;\n var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 512) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n data_offset += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4;\n if (flags & 16) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 32) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 64) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n var ret;\n switch (buf[2]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: ieee };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else if (sidx > -1)\n ret = { t: \"s\", v: sst[sidx] };\n else if (!isNaN(ieee))\n ret = { t: \"n\", v: ieee };\n else\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction parse_new_storage(buf, sst, rsst) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(8, true);\n var data_offset = 12;\n var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 1) {\n d128 = readDecimal128LE(buf, data_offset);\n data_offset += 16;\n }\n if (flags & 2) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 4) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n if (flags & 8) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 16) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n var ret;\n switch (buf[1]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: d128 };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n break;\n case 10:\n ret = { t: \"n\", v: d128 };\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction write_new_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 5;\n switch (cell.t) {\n case \"n\":\n out[1] = 2;\n writeDecimal128LE(out, l, cell.v);\n flags |= 1;\n l += 16;\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 2;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[1] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 8;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(8, flags, true);\n return out.slice(0, l);\n}\nfunction write_old_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 3;\n switch (cell.t) {\n case \"n\":\n out[2] = 2;\n dv.setFloat64(l, cell.v, true);\n flags |= 32;\n l += 8;\n break;\n case \"b\":\n out[2] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 32;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[2] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 16;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(4, flags, true);\n return out.slice(0, l);\n}\nfunction parse_cell_storage(buf, sst, rsst) {\n switch (buf[0]) {\n case 0:\n case 1:\n case 2:\n case 3:\n return parse_old_storage(buf, sst, rsst, buf[0]);\n case 5:\n return parse_new_storage(buf, sst, rsst);\n default:\n throw new Error(\"Unsupported payload version \".concat(buf[0]));\n }\n}\nfunction parse_TSP_Reference(buf) {\n var pb = parse_shallow(buf);\n return parse_varint49(pb[1][0].data);\n}\nfunction write_TSP_Reference(idx) {\n var out = [];\n out[1] = [{ type: 0, data: write_varint49(idx) }];\n return write_shallow(out);\n}\nfunction parse_TST_TableDataList(M, root) {\n var pb = parse_shallow(root.data);\n var type = varint_to_i32(pb[1][0].data);\n var entries = pb[3];\n var data = [];\n (entries || []).forEach(function(entry) {\n var le = parse_shallow(entry.data);\n var key = varint_to_i32(le[1][0].data) >>> 0;\n switch (type) {\n case 1:\n data[key] = u8str(le[3][0].data);\n break;\n case 8:\n {\n var rt = M[parse_TSP_Reference(le[9][0].data)][0];\n var rtp = parse_shallow(rt.data);\n var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0];\n var mtype = varint_to_i32(rtpref.meta[1][0].data);\n if (mtype != 2001)\n throw new Error(\"2000 unexpected reference to \".concat(mtype));\n var tswpsa = parse_shallow(rtpref.data);\n data[key] = tswpsa[3].map(function(x) {\n return u8str(x.data);\n }).join(\"\");\n }\n break;\n }\n });\n return data;\n}\nfunction parse_TST_TileRowInfo(u8, type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(u8);\n var R = varint_to_i32(pb[1][0].data) >>> 0;\n var cnt = varint_to_i32(pb[2][0].data) >>> 0;\n var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false;\n var used_storage_u8, used_storage;\n if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) {\n used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data;\n used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data;\n } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) {\n used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data;\n used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data;\n } else\n throw \"NUMBERS Tile missing \".concat(type, \" cell storage\");\n var width = wide_offsets ? 4 : 1;\n var used_storage_offsets = u8_to_dataview(used_storage_u8);\n var offsets = [];\n for (var C = 0; C < used_storage_u8.length / 2; ++C) {\n var off = used_storage_offsets.getUint16(C * 2, true);\n if (off < 65535)\n offsets.push([C, off]);\n }\n if (offsets.length != cnt)\n throw \"Expected \".concat(cnt, \" cells, found \").concat(offsets.length);\n var cells = [];\n for (C = 0; C < offsets.length - 1; ++C)\n cells[offsets[C][0]] = used_storage.subarray(offsets[C][1] * width, offsets[C + 1][1] * width);\n if (offsets.length >= 1)\n cells[offsets[offsets.length - 1][0]] = used_storage.subarray(offsets[offsets.length - 1][1] * width);\n return { R: R, cells: cells };\n}\nfunction parse_TST_Tile(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var storage = ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) ? varint_to_i32(pb[7][0].data) >>> 0 > 0 ? 1 : 0 : -1;\n var ri = mappa(pb[5], function(u8) {\n return parse_TST_TileRowInfo(u8, storage);\n });\n return {\n nrows: varint_to_i32(pb[4][0].data) >>> 0,\n data: ri.reduce(function(acc, x) {\n if (!acc[x.R])\n acc[x.R] = [];\n x.cells.forEach(function(cell, C) {\n if (acc[x.R][C])\n throw new Error(\"Duplicate cell r=\".concat(x.R, \" c=\").concat(C));\n acc[x.R][C] = cell;\n });\n return acc;\n }, [])\n };\n}\nfunction parse_TST_TableModelArchive(M, root, ws) {\n var _a;\n var pb = parse_shallow(root.data);\n var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };\n range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1;\n if (range.e.r < 0)\n throw new Error(\"Invalid row varint \".concat(pb[6][0].data));\n range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1;\n if (range.e.c < 0)\n throw new Error(\"Invalid col varint \".concat(pb[7][0].data));\n ws[\"!ref\"] = encode_range(range);\n var store = parse_shallow(pb[4][0].data);\n var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]);\n var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : [];\n var tile = parse_shallow(store[3][0].data);\n var _R = 0;\n tile[1].forEach(function(t) {\n var tl = parse_shallow(t.data);\n var ref = M[parse_TSP_Reference(tl[2][0].data)][0];\n var mtype = varint_to_i32(ref.meta[1][0].data);\n if (mtype != 6002)\n throw new Error(\"6001 unexpected reference to \".concat(mtype));\n var _tile = parse_TST_Tile(M, ref);\n _tile.data.forEach(function(row, R) {\n row.forEach(function(buf, C) {\n var addr = encode_cell({ r: _R + R, c: C });\n var res = parse_cell_storage(buf, sst, rsst);\n if (res)\n ws[addr] = res;\n });\n });\n _R += _tile.nrows;\n });\n}\nfunction parse_TST_TableInfoArchive(M, root) {\n var pb = parse_shallow(root.data);\n var out = { \"!ref\": \"A1\" };\n var tableref = M[parse_TSP_Reference(pb[2][0].data)];\n var mtype = varint_to_i32(tableref[0].meta[1][0].data);\n if (mtype != 6001)\n throw new Error(\"6000 unexpected reference to \".concat(mtype));\n parse_TST_TableModelArchive(M, tableref[0], out);\n return out;\n}\nfunction parse_TN_SheetArchive(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var out = {\n name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : \"\",\n sheets: []\n };\n var shapeoffs = mappa(pb[2], parse_TSP_Reference);\n shapeoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 6e3)\n out.sheets.push(parse_TST_TableInfoArchive(M, m));\n });\n });\n return out;\n}\nfunction parse_TN_DocumentArchive(M, root) {\n var out = book_new();\n var pb = parse_shallow(root.data);\n var sheetoffs = mappa(pb[1], parse_TSP_Reference);\n sheetoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 2) {\n var root2 = parse_TN_SheetArchive(M, m);\n root2.sheets.forEach(function(sheet, idx) {\n book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + \"_\" + idx, true);\n });\n }\n });\n });\n if (out.SheetNames.length == 0)\n throw new Error(\"Empty NUMBERS file\");\n return out;\n}\nfunction parse_numbers_iwa(cfb) {\n var _a, _b, _c, _d;\n var M = {}, indices = [];\n cfb.FullPaths.forEach(function(p) {\n if (p.match(/\\.iwpv2/))\n throw new Error(\"Unsupported password protection\");\n });\n cfb.FileIndex.forEach(function(s) {\n if (!s.name.match(/\\.iwa$/))\n return;\n var o;\n try {\n o = decompress_iwa_file(s.content);\n } catch (e) {\n return console.log(\"?? \" + s.content.length + \" \" + (e.message || e));\n }\n var packets;\n try {\n packets = parse_iwa_file(o);\n } catch (e) {\n return console.log(\"## \" + (e.message || e));\n }\n packets.forEach(function(packet) {\n M[packet.id] = packet.messages;\n indices.push(packet.id);\n });\n });\n if (!indices.length)\n throw new Error(\"File has no messages\");\n var docroot = ((_d = (_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.meta) == null ? void 0 : _c[1]) == null ? void 0 : _d[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0];\n if (!docroot)\n indices.forEach(function(idx) {\n M[idx].forEach(function(iwam) {\n var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0;\n if (mtype == 1) {\n if (!docroot)\n docroot = iwam;\n else\n throw new Error(\"Document has multiple roots\");\n }\n });\n });\n if (!docroot)\n throw new Error(\"Cannot find Document root\");\n return parse_TN_DocumentArchive(M, docroot);\n}\nfunction write_tile_row(tri, data, SST) {\n var _a, _b, _c, _d;\n if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0]))\n throw \"Mutation only works on post-BNC storages!\";\n var wide_offsets = ((_d = (_c = tri[8]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && varint_to_i32(tri[8][0].data) > 0 || false;\n if (wide_offsets)\n throw \"Math only works with normal offsets\";\n var cnt = 0;\n var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = [];\n var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = [];\n for (var C = 0; C < data.length; ++C) {\n if (data[C] == null) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535);\n continue;\n }\n dv.setUint16(C * 2, last_offset, true);\n _dv.setUint16(C * 2, _last_offset, true);\n var celload, _celload;\n switch (typeof data[C]) {\n case \"string\":\n celload = write_new_storage({ t: \"s\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"s\", v: data[C] }, SST);\n break;\n case \"number\":\n celload = write_new_storage({ t: \"n\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"n\", v: data[C] }, SST);\n break;\n case \"boolean\":\n celload = write_new_storage({ t: \"b\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"b\", v: data[C] }, SST);\n break;\n default:\n throw new Error(\"Unsupported value \" + data[C]);\n }\n cell_storage.push(celload);\n last_offset += celload.length;\n _cell_storage.push(_celload);\n _last_offset += _celload.length;\n ++cnt;\n }\n tri[2][0].data = write_varint49(cnt);\n for (; C < tri[7][0].data.length / 2; ++C) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535, true);\n }\n tri[6][0].data = u8concat(cell_storage);\n tri[3][0].data = u8concat(_cell_storage);\n return cnt;\n}\nfunction write_numbers_iwa(wb, opts) {\n if (!opts || !opts.numbers)\n throw new Error(\"Must pass a `numbers` option -- check the README\");\n var ws = wb.Sheets[wb.SheetNames[0]];\n if (wb.SheetNames.length > 1)\n console.error(\"The Numbers writer currently writes only the first table\");\n var range = decode_range(ws[\"!ref\"]);\n range.s.r = range.s.c = 0;\n var trunc = false;\n if (range.e.c > 9) {\n trunc = true;\n range.e.c = 9;\n }\n if (range.e.r > 49) {\n trunc = true;\n range.e.r = 49;\n }\n if (trunc)\n console.error(\"The Numbers writer is currently limited to \".concat(encode_range(range)));\n var data = sheet_to_json(ws, { range: range, header: 1 });\n var SST = [\"~Sh33tJ5~\"];\n data.forEach(function(row) {\n return row.forEach(function(cell) {\n if (typeof cell == \"string\")\n SST.push(cell);\n });\n });\n var dependents = {};\n var indices = [];\n var cfb = CFB.read(opts.numbers, { type: \"base64\" });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (fi.type != 2)\n return;\n if (!fi.name.match(/\\.iwa/))\n return;\n var old_content = fi.content;\n var raw1 = decompress_iwa_file(old_content);\n var x2 = parse_iwa_file(raw1);\n x2.forEach(function(packet2) {\n indices.push(packet2.id);\n dependents[packet2.id] = { deps: [], location: fp, type: varint_to_i32(packet2.messages[0].meta[1][0].data) };\n });\n });\n indices.sort(function(x2, y2) {\n return x2 - y2;\n });\n var indices_varint = indices.filter(function(x2) {\n return x2 > 1;\n }).map(function(x2) {\n return [x2, write_varint49(x2)];\n });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (!fi.name.match(/\\.iwa/))\n return;\n var x2 = parse_iwa_file(decompress_iwa_file(fi.content));\n x2.forEach(function(ia) {\n ia.messages.forEach(function(m) {\n indices_varint.forEach(function(ivi) {\n if (ia.messages.some(function(mess) {\n return varint_to_i32(mess.meta[1][0].data) != 11006 && u8contains(mess.data, ivi[1]);\n })) {\n dependents[ivi[0]].deps.push(ia.id);\n }\n });\n });\n });\n });\n function get_unique_msgid() {\n for (var i = 927262; i < 2e6; ++i)\n if (!dependents[i])\n return i;\n throw new Error(\"Too many messages\");\n }\n var entry = CFB.find(cfb, dependents[1].location);\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var docroot;\n for (var xi = 0; xi < x.length; ++xi) {\n var packet = x[xi];\n if (packet.id == 1)\n docroot = packet;\n }\n var sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n var pb = parse_shallow(docroot.messages[0].data);\n {\n pb[6][0].data = write_varint49(range.e.r + 1);\n pb[7][0].data = write_varint49(range.e.c + 1);\n var cruidsref = parse_TSP_Reference(pb[46][0].data);\n var oldbucket = CFB.find(cfb, dependents[cruidsref].location);\n var _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n for (var j = 0; j < _x.length; ++j) {\n if (_x[j].id == cruidsref)\n break;\n }\n if (_x[j].id != cruidsref)\n throw \"Bad ColumnRowUIDMapArchive\";\n var cruids = parse_shallow(_x[j].messages[0].data);\n cruids[1] = [];\n cruids[2] = [], cruids[3] = [];\n for (var C = 0; C <= range.e.c; ++C) {\n var uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(C + 420690) }];\n cruids[1].push({ type: 2, data: write_shallow(uuid) });\n cruids[2].push({ type: 0, data: write_varint49(C) });\n cruids[3].push({ type: 0, data: write_varint49(C) });\n }\n cruids[4] = [];\n cruids[5] = [], cruids[6] = [];\n for (var R = 0; R <= range.e.r; ++R) {\n uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(R + 726270) }];\n cruids[4].push({ type: 2, data: write_shallow(uuid) });\n cruids[5].push({ type: 0, data: write_varint49(R) });\n cruids[6].push({ type: 0, data: write_varint49(R) });\n }\n _x[j].messages[0].data = write_shallow(cruids);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n delete pb[46];\n var store = parse_shallow(pb[4][0].data);\n {\n store[7][0].data = write_varint49(range.e.r + 1);\n var row_headers = parse_shallow(store[1][0].data);\n var row_header_ref = parse_TSP_Reference(row_headers[2][0].data);\n oldbucket = CFB.find(cfb, dependents[row_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != row_header_ref)\n throw \"Bad HeaderStorageBucket\";\n var base_bucket = parse_shallow(_x[0].messages[0].data);\n for (R = 0; R < data.length; ++R) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(R);\n _bucket[4][0].data = write_varint49(data[R].length);\n base_bucket[2][R] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var col_header_ref = parse_TSP_Reference(store[2][0].data);\n oldbucket = CFB.find(cfb, dependents[col_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != col_header_ref)\n throw \"Bad HeaderStorageBucket\";\n base_bucket = parse_shallow(_x[0].messages[0].data);\n for (C = 0; C <= range.e.c; ++C) {\n _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(C);\n _bucket[4][0].data = write_varint49(range.e.r + 1);\n base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var sstref = parse_TSP_Reference(store[4][0].data);\n (function() {\n var sentry = CFB.find(cfb, dependents[sstref].location);\n var sx = parse_iwa_file(decompress_iwa_file(sentry.content));\n var sstroot;\n for (var sxi = 0; sxi < sx.length; ++sxi) {\n var packet2 = sx[sxi];\n if (packet2.id == sstref)\n sstroot = packet2;\n }\n var sstdata = parse_shallow(sstroot.messages[0].data);\n {\n sstdata[3] = [];\n var newsst = [];\n SST.forEach(function(str, i) {\n newsst[1] = [{ type: 0, data: write_varint49(i) }];\n newsst[2] = [{ type: 0, data: write_varint49(1) }];\n newsst[3] = [{ type: 2, data: stru8(str) }];\n sstdata[3].push({ type: 2, data: write_shallow(newsst) });\n });\n }\n sstroot.messages[0].data = write_shallow(sstdata);\n var sy = write_iwa_file(sx);\n var raw32 = compress_iwa_file(sy);\n sentry.content = raw32;\n sentry.size = sentry.content.length;\n })();\n var tile = parse_shallow(store[3][0].data);\n {\n var t = tile[1][0];\n delete tile[2];\n var tl = parse_shallow(t.data);\n {\n var tileref = parse_TSP_Reference(tl[2][0].data);\n (function() {\n var tentry = CFB.find(cfb, dependents[tileref].location);\n var tx = parse_iwa_file(decompress_iwa_file(tentry.content));\n var tileroot;\n for (var sxi = 0; sxi < tx.length; ++sxi) {\n var packet2 = tx[sxi];\n if (packet2.id == tileref)\n tileroot = packet2;\n }\n var tiledata = parse_shallow(tileroot.messages[0].data);\n {\n delete tiledata[6];\n delete tile[7];\n var rowload = new Uint8Array(tiledata[5][0].data);\n tiledata[5] = [];\n var cnt = 0;\n for (var R2 = 0; R2 <= range.e.r; ++R2) {\n var tilerow = parse_shallow(rowload);\n cnt += write_tile_row(tilerow, data[R2], SST);\n tilerow[1][0].data = write_varint49(R2);\n tiledata[5].push({ data: write_shallow(tilerow), type: 2 });\n }\n tiledata[1] = [{ type: 0, data: write_varint49(range.e.c + 1) }];\n tiledata[2] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n tiledata[3] = [{ type: 0, data: write_varint49(cnt) }];\n tiledata[4] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n }\n tileroot.messages[0].data = write_shallow(tiledata);\n var ty = write_iwa_file(tx);\n var raw32 = compress_iwa_file(ty);\n tentry.content = raw32;\n tentry.size = tentry.content.length;\n })();\n }\n t.data = write_shallow(tl);\n }\n store[3][0].data = write_shallow(tile);\n }\n pb[4][0].data = write_shallow(store);\n }\n docroot.messages[0].data = write_shallow(pb);\n var y = write_iwa_file(x);\n var raw3 = compress_iwa_file(y);\n entry.content = raw3;\n entry.size = entry.content.length;\n return cfb;\n}\nfunction fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nfunction fix_read_opts(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\n\nfunction fix_write_opts(opts) {\nfix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\nfunction get_sheet_type(n/*:string*/)/*:string*/ {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments and threaded comments */\n\t\tvar tcomments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tvar dfile = \"\";\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tvar comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments, false);\n\t\t\t}\n\t\t\tif(sheetRels[sheet][n].Type == RELS.TCMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\ttcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts));\n\t\t\t}\n\t\t});\n\t\tif(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tmake_ssf();\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) {\n\t\tif(typeof Uint8Array == \"undefined\") throw new Error('NUMBERS file parsing requires Uint8Array support');\n\t\tif(typeof parse_numbers_iwa != \"undefined\") {\n\t\t\tif(zip.FileIndex) return parse_numbers_iwa(zip);\n\t\t\tvar _zip = CFB.utils.cfb_new();\n\t\t\tzipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); });\n\t\t\treturn parse_numbers_iwa(_zip);\n\t\t}\n\t\tthrow new Error('Unsupported NUMBERS file');\n\t}\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({}/*:any*/);\n\tvar styles = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({}/*:any*/);\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({}/*:any*/);\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, \"s5s\"));\n\n\tif((dir.metadata || []).length >= 1) {\n\t\t/* TODO: MDX and other types of metadata */\n\t\topts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts);\n\t}\n\n\tif((dir.people || []).length >= 1) {\n\t\topts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts);\n\t}\n\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: dup(table_fmt)\n\t}/*:any*/);\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\n/*:: declare var decrypt_agile:any; */\n\tif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\n/*:: declare var decrypt_std76:any; */\n\tif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(opts.bookType == \"numbers\") return write_numbers_iwa(wb, opts);\n\tif(opts.bookType == \"xlsb\") return write_zip_xlsxb(wb, opts);\n\treturn write_zip_xlsx(wb, opts);\n}\n\n/* XLSX and XLSB writing are very similar. Originally they were unified in one\n export function. This is horrible for tree shaking in the common case (most\n applications need to export files in one format) so this function supports\n both formats while write_zip_xlsx only handles XLSX */\nfunction write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta(f));\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".\" + wbext;\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".\" + wbext, RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_xml(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_xml(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_xml(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_xml(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_xml());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64_decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64_decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\to.type = \"binary\";\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64_decode(d);\n\td = $cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data/*:string*/)/*:string*/ {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\treset_cp();\n\tvar o = opts||{};\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\tif(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== \"undefined\" ? \"buffer\" : \"array\";\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = \"array\"; }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t}\n\tif(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\n/*:: declare var encrypt_agile:any; */\nfunction write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip_xlsx(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ {\n\tvar oopts = {};\n\tvar ftype = has_buf ? \"nodebuffer\" : (typeof Uint8Array !== \"undefined\" ? \"array\" : \"string\");\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = ftype;\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = ftype; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: /*::(*/{\"nodebuffer\": \"buffer\", \"string\": \"binary\"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts);\n\tif(typeof Deno !== \"undefined\") {\n\t\tif(typeof out == \"string\") {\n\t\t\tif(o.type == \"binary\" || o.type == \"base64\") return out;\n\t\t\tout = new Uint8Array(s2ab(out));\n\t\t}\n\t}\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(/*::(*/out/*:: :any)*/) : out;\n}\n\nfunction write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = opts||{};\n\tvar cfb/*:CFBContainer*/ = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse if(typeof TextEncoder !== \"undefined\") return new TextEncoder().encode(o);\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\treturn write_zip_typeXLSX(wb, o);\n}\n\nfunction writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\tvar idx = 0;\n\tif(o.sheet) {\n\t\tif(typeof o.sheet == \"number\") idx = o.sheet;\n\t\telse idx = wb.SheetNames.indexOf(o.sheet);\n\t\tif(!wb.SheetNames[idx]) throw new Error(\"Sheet not found: \" + o.sheet + \" : \" + (typeof o.sheet));\n\t}\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'numbers':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o/*:WriteFileOpts*/) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSyncXLSX(wb, o);\n}\n\n\nfunction writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\n/*::\ntype MJRObject = {\n\trow: any;\n\tisempty: boolean;\n};\n*/\nfunction make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, dense/*:boolean*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row/*:any*/ = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw && (val.t !== \"n\" || (val.t === \"n\" && o.rawNumbers !== false)) ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar out/*:Array*/ = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, o/*:Sheet2CSVOpts*/)/*:?string*/ {\n\tvar isempty = true;\n\tvar row/*:Array*/ = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar w = 0;\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tif(row || (o.blankrows !== false)) out.push((w++ ? RS : \"\") + row);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof $cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = $cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols/*:Array*/ = [], C;\n\tvar cmds/*:Array*/ = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws/*:Worksheet*/ = _ws || ({}/*:any*/);\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell/*:Cell*/;\n\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr/*:Array*/ = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R/*:number*/) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = ws_get_cell_stub(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || table_fmt[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nfunction book_new()/*:Workbook*/ {\n\treturn { SheetNames: [], Sheets: {} };\n}\n\n/* add a worksheet to the end of a given workbook */\nfunction book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ {\n\tvar i = 1;\n\tif(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tif(roll && wb.SheetNames.indexOf(name) >= 0) {\n\t\tvar m = name.match(/(^.*?)(\\d+)$/);\n\t\ti = m && +m[2] || 0;\n\t\tvar root = m && m[1] || name;\n\t\tfor(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;\n\t}\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n\treturn name;\n}\n\n/* set sheet visibility (visible/hidden/very hidden) */\nfunction book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) {\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Sheets) wb.Workbook.Sheets = [];\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tif(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {};\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n}\n\n/* set number format */\nfunction cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) {\n\tcell.z = fmt;\n\treturn cell;\n}\n\n/* set cell hyperlink */\nfunction cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target }/*:Hyperlink*/);\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n}\nfunction cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, \"#\" + range, tooltip); }\n\n/* add to cell comments */\nfunction cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n}\n\n/* set array formula and flush related cells */\nfunction sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) {\n\t\t\tcell.f = formula;\n\t\t\tif(dynamic) cell.D = true;\n\t\t}\n\t}\n\treturn ws;\n}\n\nvar utils/*:any*/ = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: sheet_to_html,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json,\n\tsheet_get_cell: ws_get_cell_stub,\n\tbook_new: book_new,\n\tbook_append_sheet: book_append_sheet,\n\tbook_set_sheet_visibility: book_set_sheet_visibility,\n\tcell_set_number_format: cell_set_number_format,\n\tcell_set_hyperlink: cell_set_hyperlink,\n\tcell_set_internal_link: cell_set_internal_link,\n\tcell_add_comment: cell_add_comment,\n\tsheet_set_array_formula: sheet_set_array_formula,\n\tconsts: {\n\t\tSHEET_VISIBLE: 0,\n\t\tSHEET_HIDDEN: 1,\n\t\tSHEET_VERY_HIDDEN: 2\n\t}\n};\n\nvar _Readable;\nfunction set_readable(R) { _Readable = R; }\n\nfunction write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable();\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row/*:?string*/ = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar R = r.s.r;\n\tvar BOM = false, w = 0;\n\tstream._read = function() {\n\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\twhile(R <= r.e.r) {\n\t\t\t++R;\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\tif(row != null) {\n\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\tif(row || (o.blankrows !== false)) return stream.push((w++ ? RS : \"\") + row);\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) {\n\tvar stream = _Readable();\n\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tstream.push(header);\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tstream.push(make_html_preamble(ws, r, o));\n\tvar R = r.s.r;\n\tvar end = false;\n\tstream._read = function() {\n\t\tif(R > r.e.r) {\n\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\treturn stream.push(null);\n\t\t}\n\t\twhile(R <= r.e.r) {\n\t\t\tstream.push(make_html_row(ws, r, R, o));\n\t\t\t++R;\n\t\t\tbreak;\n\t\t}\n\t};\n\treturn stream;\n}\n\nfunction write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable({objectMode:true});\n\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tR = r.s.r + offset;\n\tstream._read = function() {\n\t\twhile(R <= r.e.r) {\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t++R;\n\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\tstream.push(row.row);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nvar __stream = {\n\tto_json: write_json_stream,\n\tto_html: write_html_stream,\n\tto_csv: write_csv_stream,\n set_readable: set_readable\n};\nexport const version = XLSX.version;\nexport {\n\tparse_xlscfb,\n\tparse_zip,\n\treadSync as read,\n\treadFileSync as readFile,\n\treadFileSync,\n\twriteSync as write,\n\twriteFileSync as writeFile,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteSyncXLSX as writeXLSX,\n\twriteFileSyncXLSX as writeFileXLSX,\n\tutils,\n\t__stream as stream,\n\tSSF,\n\tCFB\n};\n"],"names":["XLSX","current_codepage","current_ansi","VALID_ANSI","CS2CP","set_ansi","cp","indexOf","set_cp","reset_cp","char_codes","data","o","i","len","length","charCodeAt","utf16beread","String","fromCharCode","join","$cptable","debom","c1","c2","utf16leread","slice","_getchar","x","_getansi","set_cptable","cptable","utils","decode","cpdoit","DENSE","Base64_map","Base64_encode","input","c3","e1","e2","e3","e4","isNaN","charAt","Base64_decode","replace","has_buf","Buffer","process","versions","node","Buffer_from","nbfs","from","e","buf","enc","bind","new_raw_buf","alloc","Uint8Array","Array","new_unsafe_buf","allocUnsafe","s2a","s","split","map","s2ab","ArrayBuffer","view","a2s","isArray","c","ab2a","Error","bconcat","bufs","concat","isBuffer","maxlen","set","apply","call","chr0","chr1","_strrev","pad0","v","d","t","fill","pad_","rpad_","p2_32","Math","pow","pad0r","round","pad0r1","pad0r2","SSF_isgeneral","days","months","table_fmt","SSF_default_map","SSF_default_str","SSF_frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_parse_date_code","opts","b2","date","time","dow","dout","out","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSFbasedate","SSFdnthresh","getTime","SSFbase1904","datenum_local","epoch","getTimezoneOffset","SSF_strip_decimal","SSF_general_num","V","log","LOG10E","toPrecision","w","toFixed","toExponential","SSF_small_exp","substr","SSF_large_exp","SSF_normalize_exp","toUpperCase","SSF_general","toString","SSF_format","SSF_write_date","type","fmt","val","ss0","ss","tt","outl","commaify","j","pct1","write_num_exp","idx","match","period","ee","fakee","$$","$1","$2","$3","frac1","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","write_num_flt","ffmt","write_num","write_num_cm","sfmt","mul","write_num_pct","r","ri","ff","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f1","carry","oa","min","max","lres","rres","flr","write_num_exp2","write_num_int","write_num_cm2","write_num_pct2","write_num_f2","lastIndexOf","SSF_abstime","fmt_is_date","cfregex2","chkcond","thresh","parseFloat","dateNF","table","f","in_str","SSF_split_fmt","l","lat","m1","m2","choose_fmt","flen","dt","lst","hr","toLowerCase","ssm","bt","jj","nstr","myv","ostr","vv","decpt","lasti","retval","eval_fmt","SSF_load","undefined","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","dateNFregex","CRC32","T0","n","Int32Array","signed_crc_table","TT","subarray","slice_by_16_tables","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","bstr","seed","C","L","CFB","fs","exports","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_extra_field","blob","prep_blob","flags","read_shift","sz","tgt","mtime","atime","ctime","mt","get_fs","parse","file","options","parse_zip","root","di","row","test","mboundary","boundary","FileIndex","FullPaths","init_cfb","start_di","fcnt","line","parse_mime","parse_mad","mver","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","ssz","fat_addrs","mv","chk","HEADER_SIGNATURE","check_get_mver","header","shift","check_shifts","dir_cnt","sectors","nsectors","ceil","sectorify","sleuth_fat","sector_list","sl","chkd","buf_chain","modulus","k","seen","push","addr","__readInt32LE","nodes","__toBuffer","make_sector_list","name","ENDOFCHAIN","Paths","files","mini","minifat_store","pl","sector","namelen","__utf16le","color","R","clsid","state","start","size","ct","read_date","storage","get_sector_list","content","get_mfat_entry","read_directory","FI","FP","dad","build_full_paths","raw","entry","payload","MSSZ","new_buf","cnt","offset","__readUInt32LE","cfb","CLSID","nm","find","rebuild_cfb","seed_cfb","gc","_file","pop","now","fullPaths","Object","create","HEADER_CLSID","sort","Z","namecmp","elt","_write","_opts","fileType","fp","fi","ca","cstr","dispcnt","csl","qp","get_content_type","write_quoted_printable","write_base64_76","write_mad","cdirs","method","compression","start_cd","crcs","sz_cd","namebuf","outbuf","_deflateRawSync","write_zip","mini_size","fat_size","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","version","_zlib","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","DST_LN_RE","LEN_LN_RE","boff","write_stored","addrs","hash","mlen","len_eb","dst_eb","write_huff_fixed","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","read_bits_4","next_code","hcodes","h1","h2","_inflate","usz","woff","OL","max_len_1","max_len_2","bits","code","dst","inflate","warn_or_throw","wrn","msg","console","error","csz","efsz","fcsz","EF","parse_local_file","meth","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_dos_date","_csz","_usz","ef","InflRaw","InflateRaw","_processChunk","_finishFlushFlag","bytesRead","_inflateRawSync","cfb_add","unsafe","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","ctype","ext","text","encoded","si","end","tmp","fdata","fname","cte","trim","oi","parse_quoted_printable","fpath","cfb_gc","path","UCFullPaths","UCPaths","UCPath","read","readFileSync","read_file","write","writeFileSync","writeFile","cfb_new","cfb_del","splice","cfb_mov","old_name","new_name","ReadShift","CheckField","use_zlib","zlib","message","_inflateRaw","_fs","set_fs","blobify","a2u","write_dl","Deno","TextEncoder","encode","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","basedate","datenum","refdate","dnthresh","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date_1","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","TextDecoder","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","split_regex","safe_split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","widx","ridx","utf8decode","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex1","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","xlml_fixstr","entregex","entrepl","parsexmlbool","value","utf8reada","orig","utf8readb","ww","utf8readc","utf8corpus","utf8read","matchtag","mtcache","RegExp","htmldecode","entities","vtregex","vt_cache","vtvregex","vtmregex","parseVector","matches","baseType","WTF","forEach","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","xlml_normalize","xlmlregex","XMLNS","CORE_PROPS","CUST_PROPS","EXT_PROPS","CT","RELS","TCMNT","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","XMLNS_main","XLMLNS","html","___toBuffer","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","___lpstr","__lpstr","___cpstr","__cpstr","___lpwstr","__lpwstr","___lpp4","__lpp4","___8lpp4","__8lpp4","___double","Infinity","read_double_le","__double","is_buf","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","this","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","bs","av","LN2","write_double_le","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","curbuf","endbuf","next","_bufs","write_record","ba","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","encode_range_xls","encode_row","encode_col","decode_row","rowstr","decode_col","colstr","col","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","format_cell","BErr","XF","numFmtId","safe_format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","parse_RichStr","rgsStrRun","dwSizeStrRun","parse_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","write_BrtColor","auto","index","theme","nTS","tint","rgb","parse_ClipboardFormatOrString","VT_I2","VT_I4","VT_VARIANT","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","CountryEnum","XLSFillPattern","rgbify","XLSIcv","RBErr","ct2type","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","write_ct","type2ct","evert_arr","xmlns","Extension","ContentType","f1","PartName","bookType","f2","f3","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","CMNT","SST","STY","THEME","CHART","CHARTEX","CS","WS","DS","MS","IMG","DRAW","XLMETA","PEOPLE","VBA","get_rels_path","parse_rels","currentFilePath","rels","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","add_rels","rId","relobj","targetmode","CT_ODS","write_rdf_type","write_rdf_has","write_meta_ods","CORE_PROPS_REGEX","parse_core_props","cur","cp_doit","write_core_props","Props","CreatedDate","ModifiedDate","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","write_ext_props","W","Application","custregex","write_cust_props","pid","write_vt","fmtid","evert_XLMLDPM","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","xlml_set_prop","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","parse_dictionary","CodePage","dict","parse_BLOB","bytes","ret","Size","parse_ClipboardData","parse_VtUnalignedString","cElements","parse_VtVecHeadingPairValue","parse_VtVecLpwstrValue","parse_VtVecUnalignedLpstrValue","write_TypedPropertyValue","write_FILETIME","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet1","PSet0","rval","FMTID","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writebool","parseuint16","writeuint16","parseuint16a","parslurp","write_Bes","parse_ShortXLUnicodeString","cch","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","width","cRun","write_XLUnicodeRichExtendedString","xlstr","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_HyperlinkString","write_HyperlinkString","write_Hyperlink","hl","hashidx","F","Pretarget","parse_LongRGBA","parse_LongRGB","parse_XLSCell","ixfe","write_XLSCell","parse_XTI","parse_RkRec","parse_Ref8U","rwFirst","rwLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtSkip","FtTab","cf","fSharedNote","parse_BOF","BIFFVer","write_BOF","wb","write_BoundSheet8","hs","parse_DefaultRowHeight","miyRw","Unsynced","DyZero","ExAsc","ExDsc","write_Format","b5","parse_BIFF2Format","parse_Dimensions","write_XF","ixfeP","style","parse_BoolErr","parse_Bes","parse_XLHeaderFooter","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","sbcch","udfName","parse_AddinUdf","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","rgcb","parse_Rgce","parse_RgbExtra","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_Array","ref","parse_ArrayParsedFormula","parse_BIFF5OT","cchName","write_HLink","O","write_HLinkTooltip","Tooltip","parse_ColInfo","cellStyles","colFirst","colLast","coldx","level","parse_Blank","parse_Scl","parse_String","DBF_SUPPORTED_VERSIONS","DBF","dbf_codepage_map","dbf_reverse_map","dbf_to_sheet","ft","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_aoa","wch","_RLEN","to_workbook","to_sheet","from_sheet","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_s","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","hidden","process_col","hpt","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_aoa","write_ws_cell_sylk","a1_to_rc","preamble","RS","rec","wpx","width2px","px2char","rows","px2pt","write_ws_rows_sylk","coord","DIF","dif_to_aoa_str","dif_to_sheet","dif_to_aoa","push_field","topic","push_value","ETH","eth_to_sheet","eth_to_aoa","sep","meta","sheet_to_eth_data","PRN","set_text_arr","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","Y","datestr","timestr","dateNF_fix","cellText","cellNF","outer","prn_to_sheet","firstbyte","lines","prn_to_aoa_str","prn_to_sheet_str","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","parse_cell","parse_LABEL","write_LABEL","write_INTEGER","write_NUMBER","wk1_parse_rc","FuncTab","BinOpTab","parse_cell_3","write_LABEL_16","wsidx","parse_NUMBER_17","v1","v2","write_NUMBER_17","log2","parse_NUMBER_27","parse_SHEETNAMECS","write_XFORMAT_SHEETNAME","argc","argL","argR","args","wk1_fmla_to_csf","sheet_to_wk1","write_biff_rec","write_RANGE","max_R","book_to_wk3","wscnt","write_BOF_WK3","parse_rs","tregex","rpregex","parse_r","rpr","font","pass","shadow","outline","strike","uval","family","valign","parse_rpr","rregex","rend","rs","filter","rs_to_html","nlregex","r_to_html","terms","intro","outro","align","parse_rpr2","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","straywsregex","write_sst_xml","sst","bookSST","count","Count","uniqueCount","Unique","sitag","write_BrtSSTItem","write_sst_bin","write_BrtBeginSst","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceMapEntry","comps","parse_EncryptionHeader","Flags","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","KeyData","encryptedHmacKey","encryptedHmacValue","encs","uri","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","XorRor","byte1","byte2","Byte","password","Temp","PasswordLastChar","PadIndex","XorKey","CurrentElement","Char","CreateXorKey_Method1","Index","ObfuscationArray","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","exec","lastIndex","rgb2Hex","rgb_tint","hex","hsl","G","H6","L2","rgb2HSL","X","h6","hsl2RGB","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","cellXF_uint","cellXF_bool","parse_sty_xml","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","themes","NumberFmt","formatCode","parse_numFmts","Fonts","bold","italic","underline","condense","extend","vertAlign","scheme","indexed","icv","themeElements","clrScheme","parse_fonts","Fills","patternType","bgColor","fgColor","parse_fills","Borders","border","diagonalUp","diagonalDown","parse_borders","xf","CellXf","alignment","vertical","horizontal","textRotation","indent","wrapText","parse_cellXfs","write_sty_xml","NF","write_numFmts","cellXfs","write_cellXfs","write_BrtFmt","rev_XLSBFillPTNames","XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","write_BrtXF","write_Blxf","parse_BrtBorder","write_sty_bin","write_FMTS_bin","grbit","write_FontFlags","sss","charset","write_BrtFont","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","fontId","fillId","borderId","write_CELLSTYLEXFS_bin","write_CELLXFS_bin","xfId","builtinId","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","themeltregex","parse_theme_xml","write_theme","parse_themeElements","Themes","themeXLSX","parse_ExtProp","extType","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_ColorTheme","parse_FullColorExt","parse_XFExtGradient","update_xfext","xfext","xfe","write_xlmeta_bin","write_BrtBeginEsfmd","write_BrtBeginEsmdb","mdb","write_BrtMdb","write_xlmeta_xml","_shapeid","write_comments_vml","csize","bbox","joinstyle","gradientshapeok","coordsize","fillopts","color2","angle","fillparm","fillxml","fillcolor","strokecolor","on","obscured","sheet_insert_comments","threaded","people","comment","author","write_comments_xml","iauthor","ID","lastauthor","ts","write_tcmnt_xml","carr","rootid","tcopts","tcid","parentId","personId","parse_BrtCommentAuthor","write_comments_bin","write_BrtCommentAuthor","write_BrtBeginComment","run","write_StrRun","CT_VBA","VBAFMTS","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_PtgAttrBaxcel","bitSemi","parse_PtgAttrSpaceType","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfLel","PtgListRT","PtgTypes","iftab","FtabArgc","Ftab","cparams","tab","parsetab","Cetab","nameindex","rl","parse_RgceLocRel_BIFF2","cl","parse_RgceLocRel","area","parse_RgceAreaRel","ixti","parse_PtgNameX_BIFF5","PtgDupes","Ptg18","coltype","rt","Ptg19","bitIf","bitGoto","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","sname","formula_quote_sheet_name","stringify_formula","stack","nameidx","last_sp","sp","fflen","func","lbl","names","xlfn","externbook","bookidx","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","_left","parse_SharedParsedFormula","parse_Formula","parse_FormulaValue","cbf","parse_XLSCellParsedFormula","shared","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","footer","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","check_ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml_sheetpr","sheetPr","codeName","CodeName","sheetprot_deffalse","sheetprot_deftrue","sviewregex","write_ws_xml_cell","oldt","oldv","os","Strings","revStrings","cm","parse_ws_xml_data","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","sstr","ftag","cells","cref","tagr","tagc","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","___f","_tag","xlmeta","Cell","_r","write_ws_xml","rdata","_drawing","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","write_ws_xml_sheetpr","sview","workbookViewId","Views","rightToLeft","RTL","write_ws_xml_sheetviews","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","params","height","_cell","customHeight","write_ws_xml_data","write_ws_xml_protection","Names","Sheet","Ref","write_ws_xml_autofilter","merges","margin","relc","location","tooltip","ignoreEC","numberStoredAsText","sqref","write_row_header","ncolspan","lcs","caddr","first","last","write_BrtRowHdr","parse_BrtWsDim","write_BrtWsDim","parse_BrtShortReal","parse_BrtMergeCell","write_BrtMergeCell","BrtMarginKeys","write_ws_bin_cell","last_seen","ncell","write_BrtShortIsst","write_BrtCellIsst","write_BrtShortSt","write_BrtCellSt","write_BrtShortRk","write_BrtCellRk","write_BrtShortReal","write_BrtCellReal","write_BrtShortBool","write_BrtCellBool","write_BrtShortError","write_BrtCellError","write_BrtShortBlank","write_BrtCellBlank","write_ws_bin","write_BrtWsProp","write_BrtBeginWsView","write_WSVIEWS2","write_BrtColInfo","write_COLINFOS","cap","write_CELLTABLE","write_SHEETPROTECT","write_AUTOFILTER","write_MERGECELLS","locidx","write_BrtHLink","write_HLINKS","write_IGNOREECS","write_LEGACYDRAWING","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","defaults","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","badchars","check_ws_name","_good","check_wb","N","codes","cn","wbnsregex","write_wb_xml","write_names","workbookPr","Hidden","sheetId","Comment","localSheetId","write_BrtBundleSh","iTabID","strRelID","parse_BrtFRTArchID$","ArchID","write_wb_bin","write_BrtFileVersion","filterPrivacy","write_BrtWbProp","vistab","write_BOOKVIEWS","write_BUNDLESHS","parse_ws","ai","af","vm","seencol","RR","aii","_d","relId","Rel","rfx","tmpref","parse_ws_bin","data1","data2","mtch","parse_ws_xml_sheetpr2","parse_ws_xml_dim","svs","zoomScale","zoom","parse_ws_xml_sheetviews","columns","coli","colm","colM","parse_ws_xml_cols","afilter","parse_ws_xml_autofilter","_merge","hlink","rng","parse_ws_xml_hlinks","parse_ws_xml","write_ws","write_cmnt","XLMLFormatMap","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_set_custprop","Custprops","oval","process_style_xlml","stag","Interior","I","Pattern","parse_xlml_data","csty","nf","sid","StyleID","interiors","Parent","UTC","safe_format_xlml","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","Rn","opening","ishtml","_o","html_to_sheet","book_append_sheet","html_to_workbook","Currency","Fixed","Standard","Percent","Scientific","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_name_xlml","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml","write_ws_xlml_names","skip","write_ws_xlml_table","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_wsopts","write_xlml","General","xlml_write_docprops","BLACKLIST","xlml_write_custprops","write_props_xlml","write_sty_xlml","write_names_xlml","CONTINUE_RT","slurp","RecordType","insitu","nextrt","XLSRecordEnum","ll","safe_format_xf","make_cell","PSCLSID","SI","DSI","UDI","parse_xlscfb","CompObj","WorkbookP","AnsiUserType","AnsiClipboardFormat","parse_ClipboardFormatOrAnsiString","Reserved1","UnicodeClipboardFormat","parse_ClipboardFormatOrUnicodeString","Reserved2","parse_compobj","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","XFs","palette","get_rgb","addcell","file_depth","xfd","icvFore","icvBack","process_cell_style","afi","rrtabid","lastuser","winlocked","wtf","last_lbl","last_RT","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","seen_codepage","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","fDialog","fBelow","fRight","ExternCount","tmpri","biffguess","fakebs8","rknum","rkrec","_fr","_fc","_fe","_arraystart","isst","_j","_ixfe","b4idx","b2idx","cmo","lastobj","TxO","ImData","noteobj","Encryption","Metadata","Country","parse_workbook","bookVBA","newcfb","newpath","make_vba_xls","DocSummary","Summary","HeadingPairs","TitlesOfParts","parse_xls_props","bookFiles","Ptg","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","parse_FontFlags","bCharSet","xColorType","bR","bG","bB","parse_BrtColor","ixfeParent","ifmt","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","fAlwaysCalc","display","idObj","stAuthor","parse_NoteSh","Info","Data","EncryptionVersionInfo","EncryptedVerifier","EncryptedVerifierHash","parse_RC4Header","EncryptionHeader","EncryptionVerifier","parse_RC4CryptoHeader","parse_FilePassHeader","XorArrayIndex","XorArray","verificationBytes","verifier","Value","crypto_DecryptData_Method1","parse_XORObfuscation","dyHeight","fl","Pos","Dim","CurTab","FirstTab","Selected","TabRatio","UserName","fts","parse_BIFF5Obj","parse_FtArray","ccv","rw","rkrecs","lastcol","ixfes","fStyle","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","fsxButton","parse_CellStyleXF","cmcs","ucnt","extsst","dsst","ctab","virtPath","rgst","texts","accel","parse_ControlInfo","cchText","sVer","displayName","targetFrameName","moniker","oleMoniker","guid","fileTime","Loc","extra","parse_URLMoniker","cAnti","ansiPath","parse_FileMoniker","parse_HyperlinkMoniker","parse_Hyperlink","xnum","cUse","wzTooltip","cxfs","crc","cexts","cchComment","themeXML","parse_frtHeader","num","env","lcb","write_BIFF2Cell","write_ws_biff2_cell","write_BIFF2NUM","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff8_cell","bf","o1","write_FormulaValue","o3","write_Formula","write_Number","write_BoolErr","write_LabelSst","b8","write_Label","write_ws_biff8","guts","_WB","_sheet","MAX_ROWS","write_ColInfo","write_ws_cols_biff8","write_Dimensions","write_Window2","write_MergeCells","HL","write_ws_biff8_hlinks","write_FEAT","write_biff8_global","_sheets","_wb","writezeroes","write_WriteAccess","write_RRTabId","safe1904","write_Font","write_FONTS_biff8","write_FMTS_biff8","write_CELLXFS_biff8","write_Country","write_biff_continue","write_SST","blen","write_biff_buf","fix_write_opts","write_biff8_buf","write_ws_biff2","write_biff2_buf","mtch2","hd","midx","colspan","rowspan","_t","make_html_row","editable","HTML_BEGIN","HTML_END","make_html_preamble","sheet_to_html","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","element","get_computed_style","ownerDocument","defaultView","getComputedStyle","get_get_computed_style_function","getPropertyValue","parse_text_p","fixed","number_formats_ods","day","month","year","hours","minutes","seconds","era","quarter","parse_content_xml","sheetag","rowtag","NFtag","ctag","textp","textpidx","textR","row_ol","number_format_map","mrange","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","FEtag","parse_manifest","write_styles_ods","master_styles","write_content_ods","write_text_p","null_cell_xml","ods","ROWS","_Fref","text_p","_tgt","fods","cidx","colobj","write_automatic_styles_ods","write_ods","manifest","rdf","write_rdf","write_manifest","u8_to_dataview","array","DataView","buffer","byteOffset","byteLength","u8str","u8","stru8","u8concat","u8a","reduce","acc","popcnt","parse_varint49","ptr","varint","write_varint49","varint_to_i32","i32","parse_shallow","write_shallow","proto","item","mappa","parse_iwa_file","_a","messages","merge","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","decompress_iwa_file","compress_iwa_file","frame","write_new_storage","dv","exp","mantissa","writeDecimal128LE","setFloat64","setUint32","write_old_storage","parse_cell_storage","rsst","getUint32","data_offset","ieee","getFloat64","parse_old_storage","d128","readDecimal128LE","parse_new_storage","parse_TSP_Reference","parse_TST_TableDataList","pb","le","rtp","rtpref","mtype","tswpsa","parse_TST_TableInfoArchive","tableref","store","tile","tl","_tile","_b","_c","_e","_g","_h","_i","_k","_l","_m","used_storage_u8","used_storage","wide_offsets","used_storage_offsets","offsets","getUint16","parse_TST_TileRowInfo","nrows","parse_TST_Tile","parse_TST_TableModelArchive","parse_numbers_iwa","indices","packets","packet","docroot","iwam","root2","parse_TN_SheetArchive","parse_TN_DocumentArchive","write_tile_row","tri","last_offset","cell_storage","_dv","_last_offset","_cell_storage","celload","_celload","setUint16","fix_opts_func","safe_parse_sheet","relsPath","sheetRels","stype","parse_cs_bin","parse_cs_xml","parse_cs","dfile","drelsp","draw","parse_drawing","chartp","crelsp","csheet","nc","cache","parse_Cache","parse_chart","parse_ds","tcomments","authors","parse_comments_bin","commentList","authtag","cmnttag","authorId","textMatch","parse_comments_xml","parse_cmnt","tidx","parse_tcmnt_xml","strip_front_slash","_zip","binname","dir","threadedcomments","links","coreprops","extprops","custprops","calcchains","vba","drawings","TODO","ctext","calcchain","parse_ct","parse_sst_bin","parse_sst_xml","parse_sst","parse_theme","parse_sty_bin","parse_sty","link","parse_xlink_bin","parse_xlink","parse_wb_bin","dname","dnstart","parse_wb_xml","parse_wb","propdata","parse_ext_props","toks","warn","parse_cust_props","deps","bookDeps","parse_cc_bin","parse_cc_xml","wbsheets","wbext","wbrelsi","wbrelsfile","wbrels","Types","metatype","parse_xlmeta_bin","lastmeta","parse_xlmeta_xml","parse_xlmeta","displayname","parse_people_xml","safe_parse_wbrels","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","U","dsm","parse_DataSpaceMap","seds","parse_DataSpaceDefinition","parse_TransformInfoHeader","ename","cmode","parse_Primary","einfo","parse_EncryptionInfo","decrypt_agile","decrypt_std76","numbers","trunc","dependents","packet2","x2","y2","indices_varint","ivi","some","mess","search","u8contains","xi","sheetrootref","cruidsref","oldbucket","_x","cruids","uuid","row_header_ref","base_bucket","_bucket","col_header_ref","sstref","sstroot","sentry","sx","sxi","sstdata","newsst","raw32","tileref","tileroot","tentry","tx","tiledata","rowload","R2","tilerow","raw3","write_numbers_iwa","foo","vbafmt","_sn","wsrels","need_vml","rId1","write_sst","write_wb","write_sty","write_zip_xlsxb","write_zip_xlsx","needtc","person","userId","providerId","write_people_xml","read_plaintext","main","read_prn","readSync","infile","read_binary","bstrify","ab","vu","read_cfb","OLD_WTF","read_wb_ID","read_zip","read_utf16","read_plaintext_raw","write_cfb_ctr","write_zip_denouement","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_string_type","bom","write_binary_type","writeSyncXLSX","write_zip_typeXLSX","writeSync","write_stxt_type","sheet_to_txt","sheet_to_csv","wbpath","Keys","DSEntries","SEntries","CEntries","DocSummaryRE","SummaryRE","CEntries2","write_xls_props","fill_vba_xls","write_xlscfb","write_cfb_type","write_zip_type","resolve_book_type","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","header_cnt","skipHidden","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","strip","sheet_add_json","js","skipHeader","JS","ws_get_cell_stub","RC","roll","cell_set_hyperlink","_Readable","split_cell","json_to_sheet","table_to_sheet","table_to_book","sheet_to_formulae","cmds","sheet_to_row_object_array","sheet_get_cell","book_new","book_set_sheet_visibility","sh","vis","wb_sheet_idx","cell_set_number_format","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","__stream","to_json","stream","objectMode","_read","to_html","to_csv","BOM","set_readable"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"async-export.js","mappings":"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,eAIAi2B,GAAA,CACA,OACA,OACA,KACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAIAC,GAAA,CACA,KACA,QACA,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,YAGA,SAAAC,GAAA1Q,GAA6E,OAAAA,EAAAhnB,IAAA,SAAAxC,GAA6B,OAAAA,GAAA,OAAAA,GAAA,UAAAA,EAAA,EAAwC,CAIlJ,IA4FAm6B,GAAAxQ,GA5FAuQ,GAAA,CAEA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAKA1E,GAAA,CACA,WACA,YACA,aACA,WACA,YACA,WACA,UACA,mBACA,aAGA4E,GAAA,CACA,WACA,YACA,aACA,WACA,YACA,WACA,UACA,mBACA,aAOAC,GAA8B,CAE9B,yFACA,mEACA,sEACA,mEACA,4FAGA,qFACA,8CACA,6CAGA,sFACA,+CAGA,mDACA,+CACA,iDACA,6CAGA,wFACA,iDAGA,uFACA,gDAGA,kFACA,2CAGA,yEACA,kFACA,mFAGA,+EACA,oFAGA,sFA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AAtY,GAAA1gB,EAAAnT,EAAA,IACA,IAAAssC,EAAAE,GAAAr5B,EAAAg5B,EAAAvlC,GAGA,OAFA5G,IAAAmsC,EAAApsC,IAAAwsC,EAAAE,GAAAt5B,EAAAnT,EAAAmsC,EAAApsC,EAAAusC,EAAA1lC,IACAuM,EAAA7E,EAAA0e,EACA,CAAAsf,EAAAC,EACA,CA4DA8nB,CAAAlhD,EAAAqR,EAAArR,EAAA7E,EAAA1H,GACA,OAASkuB,KAAAA,EAAAhrB,IAAAA,EAAA,GAAAmrC,QAAAmf,EAAAE,OAAAjhD,GAAA,IAAApJ,GAAAH,EAAA,GACT,CAwBA,SAAAyqD,GAAA30D,EAAAI,EAAA4G,GACA,IAAAulC,EAAAvsC,EAAA0T,WAAA,GACAg5B,EAAAE,GAAA5sC,EAAAusC,EAAAvlC,GACAmtB,EAAAn0B,EAAA0T,WAAA,GAEA,OAAAg5B,EADAvY,EAAA,EAAA0Y,GAAA7sC,EAAAm0B,EAAAuY,EAAA1lC,GAAA,KAEA,CAGA,IAAA4tD,GAAAD,GAEAE,GAAAF,GAMAG,GAAAH,GAEAI,GAAAJ,GACAlE,GAAA,CACA,SACA,SACA,eACA,cACA,SACA,YACA,gBACA,eACA,UACA,kBACA,UACA,gBACA,iBACA,iBACA,iBACA,UACA,WACA,SACA,oBACA,sBACA,oBACA,uBACA,UACA,aACA,sBACA,eACA,aACA,mBACA,iBACA,eACA,aACA,iBACA,kBACA,kBACA,UACA,iBACA,WACA,mBACA,eACA,WACA,YACA,qBACA,kBACA,UACA,SACA,UACA,WACA,WACA,mBACA,iBACA,YACA,gBACA,eACA,iBACA,kBACA,kBACA,kBACA,sBACA,sBACA,kBACA,iBACA,oBACA,kBACA,iBACA,qBACA,iBACA,eACA,iBACA,eACA,mBACA,UACA,YACA,iBACA,eACA,kBACA,sBACA,cACA,gBACA,aACA,WACA,mBACA,iBACA,iBACA,WACA,aACA,UACA,YACA,eACA,aACA,kBACA,mBACA,oBACA,qBACA,wBACA,wBACA,eACA,oBACA,oBACA,oBACA,oBACA,mBACA,aACA,kBACA,oBACA,YACA,YACA,YACA,YACA,cACA,cACA,YACA,UACA,kBACA,qBACA,cACA,iBACA,mBACA,mBACA,iBACA,kBACA,kBACA,sBACA,gBACA,qBACA,kBACA,mBACA,mBACA,gBACA,YACA,gBACA,cACA,oBACA,cACA,iBACA,iBACA,oBACA,gBACA,iBACA,cACA,WACA,kBACA,cACA,gBACA,qBACA,kBACA,wBACA,oBACA,mBACA,qBACA,sBACA,kBACA,yBACA,aACA,kBACA,eACA,eACA,mBACA,mBACA,qBACA,mBACA,sBACA,yBACA,iBACA,gBACA,gBACA,oBACA,kBACA,mBACA,sBACA,wBACA,sBACA,qBACA,cACA,gBACA,gBACA,iBACA,kBACA,cACA,aACA,kBACA,cACA,wBACA,sBACA,YACA,iBACA,gBACA,kBACA,uBACA,wBACA,kBACA,kBACA,uBACA,mBACA,iBACA,mBACA,oBACA,iBACA,kBACA,kBACA,qBACA,gBACA,kBACA,mBACA,iBACA,iBACA,oBACA,mBACA,sBACA,oBACA,yBACA,eACA,WACA,oBACA,sBACA,iBACA,iBACA,mBACA,qBACA,kBACA,qBACA,yBACA,gBACA,wBACA,eACA,kBACA,qBACA,eACA,mBACA,oBACA,oBACA,uBACA,qBACA,mBACA,kBACA,gBACA,sBACA,wBACA,qBACA,gBACA,iBACA,wBACA,iBACA,mBACA,qBACA,sBACA,mBACA,oBACA,oBACA,yBACA,uBACA,yBACA,6BACA,kBACA,iBACA,uBACA,0BACA,mBACA,mBACA,oBACA,kBACA,sBACA,kBACA,oBACA,sBACA,+BACA,mBACA,qBACA,iBACA,qBACA,gBACA,uBACA,kBACA,4BACA,sBACA,yBACA,sBACA,sBACA,sBACA,yBACA,iBACA,qBACA,mBACA,uBACA,iBACA,mBACA,sBACA,oBACA,oBACA,sBACA,sBACA,oBACA,qBACA,2BACA,8BACA,qBACA,mBACA,gBACA,kBACA,iBACA,qBACA,sBACA,sBACA,oBACA,sBACA,oBACA,oBACA,yBACA,kBACA,uBACA,2BACA,uBACA,sBACA,uBACA,kBACA,qBACA,sBACA,mBACA,mBACA,wBACA,0BACA,0BACA,uBACA,yBACA,yBACA,oBACA,iBACA,gBACA,kBACA,uBACA,oBACA,4BACA,yBACA,aACA,sBACA,oBACA,sBACA,oBACA,oBACA,uBACA,uBACA,wBACA,mBACA,wBACA,2BACA,kBACA,eACA,eACA,iBACA,iBACA,mBACA,mBACA,kBACA,yBACA,6BACA,uBACA,eACA,qBACA,qBACA,mBACA,gBACA,uBACA,uBACA,qBACA,sBACA,wBACA,uBACA,kBACA,oBACA,eACA,gBACA,kBACA,kBACA,uBACA,wBACA,qBACA,gBACA,aACA,aACA,oBACA,uBACA,qBACA,eACA,oBACA,oBACA,kBACA,qBACA,qBACA,wBACA,0BACA,iBACA,kBACA,kBACA,wBACA,mBACA,oBACA,yBAEAJ,GAAA,CACA,UACA,OACA,SACA,YACA,QACA,YACA,QACA,QACA,QACA,WACA,QACA,SACA,WACA,YACA,WACA,SACA,SACA,SACA,UACA,QACA,UACA,SACA,QACA,WACA,SACA,SACA,UACA,WACA,YACA,WACA,UACA,SACA,SACA,WACA,UACA,WACA,SACA,QACA,SACA,SACA,YACA,UACA,cACA,UACA,UACA,YACA,SACA,UACA,UACA,YACA,WACA,YACA,YACA,UACA,UACA,YACA,QACA,QACA,UACA,SACA,UACA,UACA,SACA,UACA,WACA,UACA,UACA,SACA,WACA,UACA,aACA,UACA,YACA,YACA,SACA,WACA,UACA,aACA,YACA,YACA,YACA,cACA,YACA,eACA,WACA,UACA,UACA,UACA,cACA,YACA,WACA,aACA,YACA,eACA,iBACA,eACA,YACA,WACA,UACA,UACA,aACA,cACA,cACA,YACA,YACA,YACA,kBACA,eACA,gBACA,UACA,WACA,WACA,YACA,YACA,aACA,WACA,YACA,YACA,WACA,cACA,iBACA,WACA,YACA,gBACA,WACA,WACA,YACA,aACA,eACA,cACA,QACA,QACA,YACA,aACA,YACA,cACA,YACA,eACA,aACA,WACA,gBACA,gBACA,UACA,UACA,UACA,cACA,cACA,cACA,eACA,eACA,WACA,cACA,eACA,kBACA,qBACA,oBACA,qBACA,eACA,kBACA,qBACA,qBACA,iBACA,YACA,cACA,eACA,YACA,YACA,WACA,WACA,aACA,iBACA,UACA,YACA,YACA,WACA,eACA,cACA,WACA,cACA,gBACA,cACA,WACA,cACA,cACA,WACA,eACA,oBACA,iBACA,mBACA,eACA,gBACA,eACA,WACA,aACA,WACA,cACA,YACA,YACA,gBACA,cACA,iBACA,iBACA,eACA,YACA,cACA,eACA,YACA,aACA,WACA,WACA,cACA,gBACA,UACA,WACA,WACA,cACA,cACA,YACA,UACA,WACA,cACA,aACA,eACA,aACA,iBACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,oBACA,eACA,iBACA,kBACA,oBACA,sBACA,oBACA,eACA,WACA,YACA,iBACA,SACA,YACA,aACA,gBACA,kBACA,qBACA,WACA,oBACA,eACA,kBACA,eACA,qBACA,iBACA,gBACA,mBACA,mBACA,kBACA,iBACA,kBACA,mBACA,aACA,eACA,cACA,cACA,gBACA,cACA,aACA,aACA,iBACA,gBACA,WACA,gBACA,YACA,WACA,aACA,gBACA,YACA,gBACA,eACA,cACA,kBACA,kBACA,aACA,mBACA,eACA,gBACA,cACA,eACA,kBACA,UACA,aACA,cACA,YACA,cACA,cACA,eACA,eACA,cACA,aACA,YACA,eACA,YACA,gBACA,cACA,UACA,YACA,YACA,YACA,WACA,YACA,cACA,cACA,YACA,WACA,WACA,YACA,YACA,YACA,eACA,iBACA,kBACA,WACA,eACA,WACA,oBACA,gBACA,kBACA,YACA,qBACA,sBACA,sBACA,qBACA,cACA,cACA,eACA,YACA,cACA,iBACA,mBACA,wBACA,YACA,cACA,iBACA,mBACA,YACA,kBACA,kBACA,eACA,mBACA,gBACA,eACA,eACA,WACA,WACA,cACA,YACA,aACA,WACA,eACA,oBACA,gBACA,sBACA,mBACA,oBACA,uBACA,kBACA,oBACA,kBACA,eACA,UACA,gBACA,iBACA,yBACA,uBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,YACA,YACA,cACA,YACA,aACA,WACA,aACA,cACA,YACA,YACA,YACA,iBACA,kBACA,gBACA,aACA,cACA,YACA,gBACA,gBACA,iBACA,aACA,eACA,YACA,aACA,aACA,YACA,aACA,UACA,WACA,cACA,cACA,cACA,cACA,WACA,WACA,eACA,eACA,cACA,eACA,WACA,gBACA,gBACA,cACA,iBACA,iBACA,YACA,YACA,eACA,eACA,cACA,aACA,eACA,cACA,YACA,cACA,eACA,gBACA,eACA,iBACA,cACA,cACA,cACA,eACA,gBACA,gBACA,gBACA,gBACA,gBACA,kBACA,cACA,gBACA,eACA,cACA,cACA,cACA,eACA,cACA,kBACA,UACA,kBACA,UACA,iBACA,oBACA,cACA,mBACA,cACA,eACA,aACA,gBACA,kBAEAD,GAAA,CACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,SAGA,SAAA4E,GAAAzmD,GAYA,MAXA,OAAAA,EAAAxN,MAAA,OAAAwN,EAAAA,EAAAxN,MAAA,IAEA,IAAAwN,EAAAlO,WAAA,IAEA,KADAkO,EAAAA,EAAAxN,MAAA,IACAV,WAAA,KAAAkO,EAAAA,EAAAxN,MAAA,KAMAwN,GAFAA,GAFAA,EAAAA,EAAApM,QAAA,yBAEAA,QAAA,yDAAA6I,EAAAC,GAAmF,OAAAA,EAAA9I,QAAA,aAEnFA,QAAA,6BACAA,QAAA,QAAqB,KAAAA,QAAA,UACrB,CAEA,SAAA8yD,GAAA1mD,GAGA,OAFA,OAAAA,EAAApM,QAAAusD,GAAA,iBAAAvsD,QAAA,eAEAA,QAAA,KAAoB,KAAAA,QAAA,SACpB,CAEA,SAAA+yD,GAAA5oD,GACA,IAAAyS,EAAAzS,EAAA9I,MAAA,KAEA,OADAub,EAAA,GAAAvb,MAAA,QACAub,EAAA,GA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A,gBACAA,EAAA,YAAA9L,OAAA,EACA,MAIA,kCACA8L,EAAA,cAAAA,EAAA,gBACAA,EAAA,YAAA3Q,MAAA,EACA,MAYA,QAAAl/C,IAAA,EACM,MAGN,yCAAAgvD,EAAA,IACA,2BACA,gCACA,uBACA,eACA,iBACA,kBACA,iBACA,6BACA,uBACA,eACA,gBACA,eACA,gBACA,iBACA,kBACA,kBACA,iBACA,uBACA,WACA,eACA,eACA,iBACA,6BACA,eACA,gBACA,oBACA,iBACA,0BACA,aACA,eACA,gBACA,oBACA,eACA,wBACA,qBACA,kBACA,qBACA,kBACA,kBACA,sBACA,yBACA,wBACA,2BACA,4BACA,wBACA,QAAAhvD,IAAA,EACM,MAGN,wBAAAgvD,EAAA,IACA,gBACA,eACA,gBACA,eACA,eACA,aACA,mBACA,QAAAhvD,IAAA,EACM,MAGN,wBAAAgvD,EAAA,IACA,uBACA,0BACA,oBACA,yBACA,QAAAhvD,IAAA,EACM,MAGN,wBAAAgvD,EAAA,IACA,SACA,qBACA,wBACA,kBACA,gBACA,yBACA,qBACA,gBACA,iBACA,iBACA,kBACA,kBACA,eACA,aACA,iBACA,qBACA,yBACA,yBACA,aACA,aACA,cACA,wBACA,2BACA,qBACA,gBACA,iBACA,UACA,YACA,qBACA,sBACA,+BACA,QAAAhvD,IAAA,EACM,MAEN,qBACA,OAAAgvD,EAAA,IACA,YAEA,WACA,UACA,UACA,WACA,iBACA,YACA,oBACA,YACA,iBACA,mBACA,iBACA,mBACA,iBACA,gBACA,gBACA,gBACA,gBACA,eACA,aACA,aACA,aAEA,0BACA,QAAAhvD,IAAA,EACM,MAEN,cACA,4BACA,OAAAgvD,EAAA,IACA,YACA,WACA,UACA,UACA,WACA,iBACA,YACA,oBACA,YACA,iBACA,mBACA,iBACA,oBACA,mBACA,iBACA,gBACA,gBACA,gBACA,gBACA,eACA,aACA,aACA,mBACA,QAAAhvD,IAAA,EACM,MAGN,6CAAAgvD,EAAA,IACA,UACA,YACA,YACA,YACA,YACA,cACA,eACA,gBACA,k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AAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyB,EACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,K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B,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyB,EACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAy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","sources":["webpack://dash_table/./node_modules/xlsx/xlsx.mjs"],"sourcesContent":["/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */\nvar XLSX = {};\nXLSX.version = '0.18.5';\nvar current_codepage = 1200, current_ansi = 1252;\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ];\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n\t/*::[*/0/*::]*/: 1252, /* ANSI */\n\t/*::[*/1/*::]*/: 65001, /* DEFAULT */\n\t/*::[*/2/*::]*/: 65001, /* SYMBOL */\n\t/*::[*/77/*::]*/: 10000, /* MAC */\n\t/*::[*/128/*::]*/: 932, /* SHIFTJIS */\n\t/*::[*/129/*::]*/: 949, /* HANGUL */\n\t/*::[*/130/*::]*/: 1361, /* JOHAB */\n\t/*::[*/134/*::]*/: 936, /* GB2312 */\n\t/*::[*/136/*::]*/: 950, /* CHINESEBIG5 */\n\t/*::[*/161/*::]*/: 1253, /* GREEK */\n\t/*::[*/162/*::]*/: 1254, /* TURKISH */\n\t/*::[*/163/*::]*/: 1258, /* VIETNAMESE */\n\t/*::[*/177/*::]*/: 1255, /* HEBREW */\n\t/*::[*/178/*::]*/: 1256, /* ARABIC */\n\t/*::[*/186/*::]*/: 1257, /* BALTIC */\n\t/*::[*/204/*::]*/: 1251, /* RUSSIAN */\n\t/*::[*/222/*::]*/: 874, /* THAI */\n\t/*::[*/238/*::]*/: 1250, /* EASTEUROPE */\n\t/*::[*/255/*::]*/: 1252, /* OEM */\n\t/*::[*/69/*::]*/: 6969 /* MISC */\n}/*:any*/);\n\nvar set_ansi = function(cp/*:number*/) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data/*:string*/)/*:Array*/ { var o/*:Array*/ = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data/*:string*/)/*:string*/ {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\n\nvar $cptable;\nfunction set_cptable(cptable) {\n\t$cptable = cptable;\n\tset_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data/*:string*/) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return $cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x/*:number*/)/*:string*/ {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn $cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x/*:number*/)/*:string*/ {\n\t\treturn $cptable.utils.decode(current_ansi, [x])[0];\n\t};\n\tcpdoit();\n}\nexport { set_cptable };\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64_map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nfunction Base64_encode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n for (var i = 0; i < input.length; ) {\n c1 = input.charCodeAt(i++);\n e1 = c1 >> 2;\n c2 = input.charCodeAt(i++);\n e2 = (c1 & 3) << 4 | c2 >> 4;\n c3 = input.charCodeAt(i++);\n e3 = (c2 & 15) << 2 | c3 >> 6;\n e4 = c3 & 63;\n if (isNaN(c2)) {\n e3 = e4 = 64;\n } else if (isNaN(c3)) {\n e4 = 64;\n }\n o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);\n }\n return o;\n}\nfunction Base64_decode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n input = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n for (var i = 0; i < input.length; ) {\n e1 = Base64_map.indexOf(input.charAt(i++));\n e2 = Base64_map.indexOf(input.charAt(i++));\n c1 = e1 << 2 | e2 >> 4;\n o += String.fromCharCode(c1);\n e3 = Base64_map.indexOf(input.charAt(i++));\n c2 = (e2 & 15) << 4 | e3 >> 2;\n if (e3 !== 64) {\n o += String.fromCharCode(c2);\n }\n e4 = Base64_map.indexOf(input.charAt(i++));\n c3 = (e3 & 3) << 6 | e4;\n if (e4 !== 64) {\n o += String.fromCharCode(c3);\n }\n }\n return o;\n}\nvar has_buf = /*#__PURE__*/(function() { return typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node; })();\n\nvar Buffer_from = /*#__PURE__*/(function() {\n\tif(typeof Buffer !== 'undefined') {\n\t\tvar nbfs = !Buffer.from;\n\t\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\t\treturn nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t}\n\treturn function() {};\n})();\n\n\nfunction new_raw_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.alloc ? Buffer.alloc(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s/*:string*/)/*:any*/ {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x/*:string*/)/*:number*/{ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s/*:string*/)/*:any*/ {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data/*:any*/)/*:string*/ {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o/*:Array*/ = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data/*:Array*/)/*:Uint8Array*/ {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data/*:ArrayBuffer|Uint8Array*/)/*:Array*/ {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\n\t/*:: if(data instanceof ArrayBuffer) throw new Error(\"unreachable\"); */\n\tvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = has_buf ? function(bufs) { return Buffer.concat(bufs.map(function(buf) { return Buffer.isBuffer(buf) ? buf : Buffer_from(buf); })); } : function(bufs) {\n\tif(typeof Uint8Array !== \"undefined\") {\n\t\tvar i = 0, maxlen = 0;\n\t\tfor(i = 0; i < bufs.length; ++i) maxlen += bufs[i].length;\n\t\tvar o = new Uint8Array(maxlen);\n\t\tvar len = 0;\n\t\tfor(i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) {\n\t\t\tlen = bufs[i].length;\n\t\t\tif(bufs[i] instanceof Uint8Array) o.set(bufs[i], maxlen);\n\t\t\telse if(typeof bufs[i] == \"string\") { throw \"wtf\"; }\n\t\t\telse o.set(new Uint8Array(bufs[i]), maxlen);\n\t\t}\n\t\treturn o;\n\t}\n\treturn [].concat.apply([], bufs.map(function(buf) { return Array.isArray(buf) ? buf : [].slice.call(buf); }));\n};\n\nfunction utf8decode(content/*:string*/) {\n\tvar out = [], widx = 0, L = content.length + 250;\n\tvar o = new_raw_buf(content.length + 255);\n\tfor(var ridx = 0; ridx < content.length; ++ridx) {\n\t\tvar c = content.charCodeAt(ridx);\n\t\tif(c < 0x80) o[widx++] = c;\n\t\telse if(c < 0x800) {\n\t\t\to[widx++] = (192|((c>>6)&31));\n\t\t\to[widx++] = (128|(c&63));\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64;\n\t\t\tvar d = content.charCodeAt(++ridx)&1023;\n\t\t\to[widx++] = (240|((c>>8)&7));\n\t\t\to[widx++] = (128|((c>>2)&63));\n\t\t\to[widx++] = (128|((d>>6)&15)|((c&3)<<4));\n\t\t\to[widx++] = (128|(d&63));\n\t\t} else {\n\t\t\to[widx++] = (224|((c>>12)&15));\n\t\t\to[widx++] = (128|((c>>6)&63));\n\t\t\to[widx++] = (128|(c&63));\n\t\t}\n\t\tif(widx > L) {\n\t\t\tout.push(o.slice(0, widx));\n\t\t\twidx = 0;\n\t\t\to = new_raw_buf(65535);\n\t\t\tL = 65530;\n\t\t}\n\t}\n\tout.push(o.slice(0, widx));\n\treturn bconcat(out);\n}\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/*::\ndeclare type Block = any;\ndeclare type BufArray = {\n\tnewblk(sz:number):Block;\n\tnext(sz:number):Block;\n\tend():any;\n\tpush(buf:Block):void;\n};\n\ntype RecordHopperCB = {(d:any, Rn:string, RT:number):?boolean;};\n\ntype EvertType = {[string]:string};\ntype EvertNumType = {[string]:number};\ntype EvertArrType = {[string]:Array};\n\ntype StringConv = {(string):string};\n\n*/\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nfunction _strrev(x/*:string*/)/*:string*/ { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = /*#__PURE__*/Math.pow(2,32);\nfunction pad0r(v/*:any*/,d/*:number*/)/*:string*/{if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\n/* yes, in 2022 this is still faster than string compare */\nfunction SSF_isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days/*:Array >*/ = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months/*:Array >*/ = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction SSF_init_table(t/*:any*/) {\n\tif(!t) t = {};\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n\treturn t;\n}\n/* repeated to satiate webpack */\nvar table_fmt = {\n\t0: 'General',\n\t1: '0',\n\t2: '0.00',\n\t3: '#,##0',\n\t4: '#,##0.00',\n\t9: '0%',\n\t10: '0.00%',\n\t11: '0.00E+00',\n\t12: '# ?/?',\n\t13: '# ??/??',\n\t14: 'm/d/yy',\n\t15: 'd-mmm-yy',\n\t16: 'd-mmm',\n\t17: 'mmm-yy',\n\t18: 'h:mm AM/PM',\n\t19: 'h:mm:ss AM/PM',\n\t20: 'h:mm',\n\t21: 'h:mm:ss',\n\t22: 'm/d/yy h:mm',\n\t37: '#,##0 ;(#,##0)',\n\t38: '#,##0 ;[Red](#,##0)',\n\t39: '#,##0.00;(#,##0.00)',\n\t40: '#,##0.00;[Red](#,##0.00)',\n\t45: 'mm:ss',\n\t46: '[h]:mm:ss',\n\t47: 'mmss.0',\n\t48: '##0.0E+0',\n\t49: '@',\n\t56: '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"'\n};\n\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar SSF_default_map = {\n\t5: 37, 6: 38, 7: 39, 8: 40, // 5 -> 37 ... 8 -> 40\n\n\t23: 0, 24: 0, 25: 0, 26: 0, // 23 -> 0 ... 26 -> 0\n\n\t27: 14, 28: 14, 29: 14, 30: 14, 31: 14, // 27 -> 14 ... 31 -> 14\n\n\t50: 14, 51: 14, 52: 14, 53: 14, 54: 14, // 50 -> 14 ... 58 -> 14\n\t55: 14, 56: 14, 57: 14, 58: 14,\n\t59: 1, 60: 2, 61: 3, 62: 4, // 59 -> 1 ... 62 -> 4\n\n\t67: 9, 68: 10, // 67 -> 9 ... 68 -> 10\n\t69: 12, 70: 13, 71: 14, // 69 -> 12 ... 71 -> 14\n\t72: 14, 73: 15, 74: 16, 75: 17, // 72 -> 14 ... 75 -> 17\n\t76: 20, 77: 21, 78: 22, // 76 -> 20 ... 78 -> 22\n\t79: 45, 80: 46, 81: 47, // 79 -> 45 ... 81 -> 47\n\t82: 0 // 82 -> 0 ... 65536 -> 0 (omitted)\n};\n\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar SSF_default_str = {\n\t// 5 -- Currency, 0 decimal, black negative\n\t5: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t63: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\n\t// 6 -- Currency, 0 decimal, red negative\n\t6: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t64: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\n\t// 7 -- Currency, 2 decimal, black negative\n\t7: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t65: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 8 -- Currency, 2 decimal, red negative\n\t8: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t66: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 41 -- Accounting, 0 decimal, No Symbol\n\t41: '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)',\n\n\t// 42 -- Accounting, 0 decimal, $ Symbol\n\t42: '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)',\n\n\t// 43 -- Accounting, 2 decimal, No Symbol\n\t43: '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)',\n\n\t// 44 -- Accounting, 2 decimal, $ Symbol\n\t44: '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)'\n};\n\nfunction SSF_frac(x/*:number*/, D/*:number*/, mixed/*:?boolean*/)/*:Array*/ {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = SSF_fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nvar SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0);\nvar SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime();\nvar SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= SSFbase1904) epoch += 24*60*60*1000;\n\treturn (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\n/* exponent >= -9 and <= 9 */\nfunction SSF_strip_decimal(o/*:string*/)/*:string*/ {\n\treturn (o.indexOf(\".\") == -1) ? o : o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)$/, \"$1\");\n}\n\n/* General Exponential always shows 2 digits exp and trims the mantissa */\nfunction SSF_normalize_exp(o/*:string*/)/*:string*/ {\n\tif(o.indexOf(\"E\") == -1) return o;\n\treturn o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/,\"$1E\").replace(/(E[+-])(\\d)$/,\"$10$2\");\n}\n\n/* exponent >= -9 and <= 9 */\nfunction SSF_small_exp(v/*:number*/)/*:string*/ {\n\tvar w = (v<0?12:11);\n\tvar o = SSF_strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\n\n/* exponent >= 11 or <= -10 likely exponential */\nfunction SSF_large_exp(v/*:number*/)/*:string*/ {\n\tvar o = SSF_strip_decimal(v.toFixed(11));\n\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n}\n\nfunction SSF_general_num(v/*:number*/)/*:string*/ {\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = SSF_small_exp(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = SSF_large_exp(v);\n\n\treturn SSF_strip_decimal(SSF_normalize_exp(o.toUpperCase()));\n}\n\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tThe longest 32-bit integer text is \"-2147483648\", exactly 11 chars\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction SSF_general(v/*:any*/, opts/*:any*/) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : SSF_general_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\n\nfunction SSF_fix_hijri(date/*:Date*/, o/*:[number, number, number]*/) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\nfunction SSF_write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:string*/ {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\n\t\t\t/*::if(!ss0) ss0 = 0; */\n\t\t\tif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n\n\n/*jshint -W086 */\n/*jshint +W086 */\nfunction commaify(s/*:string*/)/*:string*/ {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar pct1 = /%/g;\nfunction write_num_pct(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\n\nfunction write_num_cm(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\n\nfunction write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar o/*:string*/;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str/*:string*/)/*:string*/ {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val/*:number*/, d/*:number*/)/*:string*/ { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val/*:number*/, d/*:number*/)/*:number*/ {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val/*:number*/, d/*:number*/)/*:number*/ {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val/*:number*/)/*:string*/ {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/ {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(/*::(*/r/*::||[\"\"])*/[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\to = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\t\treturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri*/ {\n\tvar out/*:Array*/ = [];\n\tvar in_str = false/*, cc*/;\n\tfor(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) {\n\t\tcase 34: /* '\"' */\n\t\t\tin_str = !in_str; break;\n\t\tcase 95: case 42: case 92: /* '_' '*' '\\\\' */\n\t\t\t++i; break;\n\t\tcase 59: /* ';' */\n\t\t\tout[out.length] = fmt.substr(j,i-j);\n\t\t\tj = i+1;\n\t}\n\tout[out.length] = fmt.substr(j);\n\tif(in_str === true) throw new Error(\"Format |\" + fmt + \"| unterminated string \");\n\treturn out;\n}\n\nvar SSF_abstime = /\\[[HhMmSs\\u0E0A\\u0E19\\u0E17]*\\]/;\nfunction fmt_is_date(fmt/*:string*/)/*:boolean*/ {\n\tvar i = 0, /*cc = 0,*/ c = \"\", o = \"\";\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': if(SSF_isgeneral(fmt, i)) i+= 6; i++; break;\n\t\t\tcase '\"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;\n\t\t\tcase '\\\\': i+=2; break;\n\t\t\tcase '_': i+=2; break;\n\t\t\tcase '@': ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") return true;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"AM/PM\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"上午/下午\") return true;\n\t\t\t\t++i; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.match(SSF_abstime)) return true;\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\twhile(i < fmt.length && (\"0#?.,E+-%\".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!SSF_isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=SSF_parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(SSF_abstime)) {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\n\t\t\t\t/*::if(!dt) throw \"unreachable\"; */\n\t\t\t\tout[i].v = SSF_write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = SSF_general(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\n\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f/*:string*/, v/*:any*/) {\n\tvar fmt = SSF_split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(/\\[[=<>]/) != null || fmt[1].match(/\\[[=<>]/) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table/*:any*/) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[SSF_default_map[fmt]]) || table_fmt[SSF_default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = SSF_default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(SSF_isgeneral(sfmt,0)) return SSF_general(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(SSF_isgeneral(f[1])) return SSF_general(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction SSF_load(fmt/*:string*/, idx/*:?number*/)/*:number*/ {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tfor(var i = 0; i < 0x0188; ++i) {\n/*::if(typeof idx != 'number') return 0x188; */\n\t\t\tif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tif(idx < 0) idx = 0x187;\n\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\ttable_fmt[idx] = fmt;\n\treturn idx;\n}\nfunction SSF_load_table(tbl/*:SSFTable*/)/*:void*/ {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) SSF_load(tbl[i], i);\n}\n\nfunction make_ssf() {\n\ttable_fmt = SSF_init_table();\n}\n\nvar SSF = {\n\tformat: SSF_format,\n\tload: SSF_load,\n\t_table: table_fmt,\n\tload_table: SSF_load_table,\n\tparse_date_code: SSF_parse_date_code,\n\tis_date: fmt_is_date,\n\tget_table: function get_table() { return SSF._table = table_fmt; }\n};\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n}/*:any*/);\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ {\n\tvar fmt = typeof dateNF == \"number\" ? table_fmt[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\n/*::\ndeclare var ReadShift:any;\ndeclare var CheckField:any;\ndeclare var prep_blob:any;\ndeclare var __readUInt32LE:any;\ndeclare var __readInt32LE:any;\ndeclare var __toBuffer:any;\ndeclare var __utf16le:any;\ndeclare var bconcat:any;\ndeclare var s2a:any;\ndeclare var chr0:any;\ndeclare var chr1:any;\ndeclare var has_buf:boolean;\ndeclare var new_buf:any;\ndeclare var new_raw_buf:any;\ndeclare var new_unsafe_buf:any;\ndeclare var Buffer_from:any;\n*/\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/*::\ntype SectorEntry = {\n\tname?:string;\n\tnodes?:Array;\n\tdata:RawBytes;\n};\ntype SectorList = {\n\t[k:string|number]:SectorEntry;\n\tname:?string;\n\tfat_addrs:Array;\n\tssz:number;\n}\ntype CFBFiles = {[n:string]:CFBEntry};\n*/\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32 = /*#__PURE__*/(function() {\nvar CRC32 = {};\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table()/*:any*/ {\n\tvar c = 0, table/*:Array*/ = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table/*:Array*/ = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B/*:Uint8Array|Array*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\nreturn CRC32;\n})();\n/* [MS-CFB] v20171201 */\nvar CFB = /*#__PURE__*/(function _CFB(){\nvar exports = {};\nexports.version = '1.2.1';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l/*:string*/, r/*:string*/)/*:number*/ {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf/*:CFBlob*/, date/*:Date|string*/) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms/*:number*/ = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd/*:number*/ = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf/*:CFBlob*/)/*:Date*/ {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob/*:CFBlob*/)/*:any*/ {\n\tprep_blob(blob, 0);\n\tvar o = /*::(*/{}/*:: :any)*/;\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs/*:: = require('fs'); */;\nfunction get_fs() { return fs || (fs = {}); }\nfunction parse(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif((file[0] | 0x20) == 0x6d && (file[1]|0x20) == 0x69) return parse_mad(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs/*:Array*/ = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob/*:CFBlob*/ = /*::(*/file.slice(0,512)/*:: :any)*/;\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = /*::(*/file.slice(0,ssz)/*:: :any)*/; prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header/*:RawBytes*/ = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt/*:number*/ = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors/*:Array*/ = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list/*:SectorList*/ = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files/*:CFBFiles*/ = {}, Paths/*:Array*/ = [], FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob/*:CFBlob*/)/*:[number, number]*/ {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver/*:number*/ = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob/*:CFBlob*/, mver/*:number*/)/*:void*/ {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file/*:RawBytes*/, ssz/*:number*/)/*:Array*/ {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors/*:Array*/ = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI/*:CFBFileIndex*/, FP/*:Array*/, Paths/*:Array*/)/*:void*/ {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad/*:Array*/ = [], q/*:Array*/ = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry/*:CFBEntry*/, payload/*:RawBytes*/, mini/*:?RawBytes*/)/*:CFBlob*/ {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size)/*:any*/);\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0)/*:any*/);\n\treturn (bconcat(o).slice(0, entry.size)/*:any*/);\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx/*:number*/, cnt/*:number*/, sectors/*:Array*/, ssz/*:number*/, fat_addrs)/*:void*/ {\n\tvar q/*:number*/ = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors/*:Array*/, start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/, chkd/*:?Array*/)/*:SectorEntry*/ {\n\tvar buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors/*:Array*/, dir_start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/)/*:SectorList*/ {\n\tvar sl = sectors.length, sector_list/*:SectorList*/ = ([]/*:any*/);\n\tvar chkd/*:Array*/ = [], buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]/*:Array*/);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr/*:number*/ = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])}/*:SectorEntry*/);\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sectors/*:Array*/, Paths/*:Array*/, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob/*:CFBlob*/ = /*::(*/sector.slice(i, i+128)/*:: :any)*/;\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o/*:CFBEntry*/ = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/);\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob/*:RawBytes|CFBlob*/, offset/*:number*/)/*:Date*/ {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename/*:string*/, options/*:CFBReadOpts*/) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob/*:RawBytes|string*/, options/*:CFBReadOpts*/) {\n\tvar type = options && options.type;\n\tif(!type) {\n\t\tif(has_buf && Buffer.isBuffer(blob)) type = \"buffer\";\n\t}\n\tswitch(type || \"base64\") {\n\t\tcase \"file\": /*:: if(typeof blob !== 'string') throw \"Must pass a filename when type='file'\"; */return read_file(blob, options);\n\t\tcase \"base64\": /*:: if(typeof blob !== 'string') throw \"Must pass a base64-encoded binary string when type='file'\"; */return parse(s2a(Base64_decode(blob)), options);\n\t\tcase \"binary\": /*:: if(typeof blob !== 'string') throw \"Must pass a binary string when type='file'\"; */return parse(s2a(blob), options);\n\t}\n\treturn parse(/*::typeof blob == 'string' ? new Buffer(blob, 'utf-8') : */blob, options);\n}\n\nfunction init_cfb(cfb/*:CFBContainer*/, opts/*:?any*/)/*:void*/ {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 }/*:any*/);\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb/*:CFBContainer*/)/*:void*/ {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }/*:any*/));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\t// Track which names exist\n\tvar fullPaths = Object.create ? Object.create(null) : {};\n\tvar data/*:Array<[string, CFBEntry]>*/ = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tfullPaths[cfb.FullPaths[i]] = true;\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = fullPaths[dad];\n\t\tif(!s) {\n\t\t\tdata.push([dad, ({\n\t\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\t\ttype: 1,\n\t\t\t\tclsid: HEADER_CLSID,\n\t\t\t\tct: now, mt: now,\n\t\t\t\tcontent: null\n\t\t\t}/*:any*/)]);\n\t\t\t// Add name to set\n\t\t\tfullPaths[dad] = true;\n\t\t}\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar _opts = options || {};\n\t/* MAD is order-sensitive, skip rebuild and sort */\n\tif(_opts.fileType == 'mad') return write_mad(cfb, _opts);\n\trebuild_cfb(cfb);\n\tswitch(_opts.fileType) {\n\t\tcase 'zip': return write_zip(cfb, _opts);\n\t\t//case 'mad': return write_mad(cfb, _opts);\n\t}\n\tvar L = (function(cfb/*:CFBContainer*/)/*:Array*/{\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\n\t\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\t\tvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w/*:number*/)/*:void*/ {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\n\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\tflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm/*:string*/ = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 511) & -512;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size > 0 && file.size < 0x1000) {\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 63) & -64;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tif (has_buf) {\n\t\to.l = o.length;\n\t} else {\n\t\t// When using Buffer, already 0-filled\n\t\twhile(o.l < o.length) o.write_shift(1, 0);\n\t}\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb/*:CFBContainer*/, path/*:string*/)/*:?CFBEntry*/ {\n\tvar UCFullPaths/*:Array*/ = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths/*:Array*/ = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k/*:boolean*/ = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath/*:string*/ = path.toUpperCase();\n\tvar w/*:number*/ = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb/*:CFBContainer*/, filename/*:string*/, options/*:CFBWriteOpts*/)/*:void*/ {\n\tget_fs();\n\tvar o = _write(cfb, options);\n\t/*:: if(typeof Buffer == 'undefined' || !Buffer.isBuffer(o) || !(o instanceof Buffer)) throw new Error(\"unreachable\"); */\n\tfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o/*:RawBytes*/)/*:string*/ {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type || \"buffer\") {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o/*:any*/)); return o;\n\t\tcase \"binary\": return typeof o == \"string\" ? o : a2s(o);\n\t\tcase \"base64\": return Base64_encode(typeof o == \"string\" ? o : a2s(o));\n\t\tcase \"buffer\": if(has_buf) return Buffer.isBuffer(o) ? o : Buffer_from(o);\n\t\t\t/* falls through */\n\t\tcase \"array\": return typeof o == \"string\" ? s2a(o) : o;\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* helpers for unaligned bit writes */\nfunction write_bits_3(buf, bl, v) { var w = bl & 7, h = bl >>> 3;\n\tif(w <= 5) buf[h] |= (v & 7) << w;\n\telse {\n\t\tbuf[h] |= (v << w) & 0xFF;\n\t\tbuf[h+1] = (v&7) >> (8-w);\n\t}\n\treturn bl + 3;\n}\n\nfunction write_bits_1(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv = (v&1) << w;\n\tbuf[h] |= v;\n\treturn bl + 1;\n}\nfunction write_bits_8(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v;\n\treturn bl + 8;\n}\nfunction write_bits_16(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v & 0xFF;\n\tbuf[h+2] = v >>> 8;\n\treturn bl + 16;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz/*:number*/) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < L; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX/*:number*/)/*:number*/ {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<*/ = [];\n\tvar i = 0;\n\tfor(;i<32; i++) dlens.push(5);\n\tbuild_tree(dlens, fix_dmap, 32);\n\n\tvar clens/*:Array*/ = [];\n\ti = 0;\n\tfor(; i<=143; i++) clens.push(8);\n\tfor(; i<=255; i++) clens.push(9);\n\tfor(; i<=279; i++) clens.push(7);\n\tfor(; i<=287; i++) clens.push(8);\n\tbuild_tree(clens, fix_lmap, 288);\n})();var _deflateRaw = /*#__PURE__*/(function _deflateRawIIFE() {\n\tvar DST_LN_RE = use_typed_arrays ? new Uint8Array(0x8000) : [];\n\tvar j = 0, k = 0;\n\tfor(; j < DST_LN.length - 1; ++j) {\n\t\tfor(; k < DST_LN[j+1]; ++k) DST_LN_RE[k] = j;\n\t}\n\tfor(;k < 32768; ++k) DST_LN_RE[k] = 29;\n\n\tvar LEN_LN_RE = use_typed_arrays ? new Uint8Array(0x103) : [];\n\tfor(j = 0, k = 0; j < LEN_LN.length - 1; ++j) {\n\t\tfor(; k < LEN_LN[j+1]; ++k) LEN_LN_RE[k] = j;\n\t}\n\n\tfunction write_stored(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t}\n\n\t/* Fixed Huffman */\n\tfunction write_huff_fixed(data, out) {\n\t\tvar bl = 0;\n\t\tvar boff = 0;\n\t\tvar addrs = use_typed_arrays ? new Uint16Array(0x8000) : [];\n\t\twhile(boff < data.length) {\n\t\t\tvar L = /* data.length - boff; */ Math.min(0xFFFF, data.length - boff);\n\n\t\t\t/* write a stored block for short data */\n\t\t\tif(L < 10) {\n\t\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length)); // jshint ignore:line\n\t\t\t\tif(bl & 7) bl += 8 - (bl & 7);\n\t\t\t\tout.l = (bl / 8) | 0;\n\t\t\t\tout.write_shift(2, L);\n\t\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t\t\tbl = out.l * 8;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length) + 2); // jshint ignore:line\n\t\t\tvar hash = 0;\n\t\t\twhile(L-- > 0) {\n\t\t\t\tvar d = data[boff];\n\t\t\t\thash = ((hash << 5) ^ d) & 0x7FFF;\n\n\t\t\t\tvar match = -1, mlen = 0;\n\n\t\t\t\tif((match = addrs[hash])) {\n\t\t\t\t\tmatch |= boff & ~0x7FFF;\n\t\t\t\t\tif(match > boff) match -= 0x8000;\n\t\t\t\t\tif(match < boff) while(data[match + mlen] == data[boff + mlen] && mlen < 250) ++mlen;\n\t\t\t\t}\n\n\t\t\t\tif(mlen > 2) {\n\t\t\t\t\t/* Copy Token */\n\t\t\t\t\td = LEN_LN_RE[mlen];\n\t\t\t\t\tif(d <= 22) bl = write_bits_8(out, bl, bitswap8[d+1]>>1) - 1;\n\t\t\t\t\telse {\n\t\t\t\t\t\twrite_bits_8(out, bl, 3);\n\t\t\t\t\t\tbl += 5;\n\t\t\t\t\t\twrite_bits_8(out, bl, bitswap8[d-23]>>5);\n\t\t\t\t\t\tbl += 3;\n\t\t\t\t\t}\n\t\t\t\t\tvar len_eb = (d < 8) ? 0 : ((d - 4)>>2);\n\t\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, mlen - LEN_LN[d]);\n\t\t\t\t\t\tbl += len_eb;\n\t\t\t\t\t}\n\n\t\t\t\t\td = DST_LN_RE[boff - match];\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]>>3);\n\t\t\t\t\tbl -= 3;\n\n\t\t\t\t\tvar dst_eb = d < 4 ? 0 : (d-2)>>1;\n\t\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, boff - match - DST_LN[d]);\n\t\t\t\t\t\tbl += dst_eb;\n\t\t\t\t\t}\n\t\t\t\t\tfor(var q = 0; q < mlen; ++q) {\n\t\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t\thash = ((hash << 5) ^ data[boff]) & 0x7FFF;\n\t\t\t\t\t\t++boff;\n\t\t\t\t\t}\n\t\t\t\t\tL-= mlen - 1;\n\t\t\t\t} else {\n\t\t\t\t\t/* Literal Token */\n\t\t\t\t\tif(d <= 143) d = d + 48;\n\t\t\t\t\telse bl = write_bits_1(out, bl, 1);\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]);\n\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t++boff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbl = write_bits_8(out, bl, 0) - 1;\n\t\t}\n\t\tout.l = ((bl + 7)/8)|0;\n\t\treturn out.l;\n\t}\n\treturn function _deflateRaw(data, out) {\n\t\tif(data.length < 8) return write_stored(data, out);\n\t\treturn write_huff_fixed(data, out);\n\t};\n})();\n\nfunction _deflate(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n}\n/* modified inflate function also moves original read head */\n\nvar dyn_lmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_dmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_cmap = use_typed_arrays ? new Uint16Array(128) : zero_fill_array(128);\nvar dyn_len_1 = 1, dyn_len_2 = 1;\n\n/* 5.5.3 Expanding Huffman Codes */\nfunction dyn(data, boff/*:number*/) {\n\t/* nomenclature from RFC1951 refers to bit values; these are offset by the implicit constant */\n\tvar _HLIT = read_bits_5(data, boff) + 257; boff += 5;\n\tvar _HDIST = read_bits_5(data, boff) + 1; boff += 5;\n\tvar _HCLEN = read_bits_4(data, boff) + 4; boff += 4;\n\tvar w = 0;\n\n\t/* grab and store code lengths */\n\tvar clens = use_typed_arrays ? new Uint8Array(19) : zero_fill_array(19);\n\tvar ctree = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n\tvar maxlen = 1;\n\tvar bl_count = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar next_code = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar L = clens.length; /* 19 */\n\tfor(var i = 0; i < _HCLEN; ++i) {\n\t\tclens[CLEN_ORDER[i]] = w = read_bits_3(data, boff);\n\t\tif(maxlen < w) maxlen = w;\n\t\tbl_count[w]++;\n\t\tboff += 3;\n\t}\n\n\t/* build code tree */\n\tvar ccode = 0;\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) next_code[i] = ccode = (ccode + bl_count[i-1])<<1;\n\tfor(i = 0; i < L; ++i) if((ccode = clens[i]) != 0) ctree[i] = next_code[ccode]++;\n\t/* cmap[7 bits from stream] = (off&7) + (lit<<3) */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bitswap8[ctree[i]]>>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<*/ = [];\n\tmaxlen = 1;\n\tfor(; hcodes.length < _HLIT + _HDIST;) {\n\t\tccode = dyn_cmap[read_bits_7(data, boff)];\n\t\tboff += ccode & 7;\n\t\tswitch((ccode >>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz/*:number*/) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(sz > 0) {\n\t\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\t\twhile(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\t}\n\t\t\tcontinue;\n\t\t} else if((header >> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt + 100); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\tif(usz) return [outbuf, (boff+7)>>>3];\n\treturn [outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tvar blob/*:CFBlob*/ = /*::(*/file/*:: :any)*/;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(/*::(*/blob.slice(blob.l+namelen, blob.l+namelen+efsz)/*:: :any)*/);\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob/*:CFBlob*/, csz/*:number*/, usz/*:number*/, o/*:CFBContainer*/, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(/*::(*/blob.slice(blob.l, blob.l + efsz)/*:: :any)*/);\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break; // TODO: scan for magic number\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\t//var _crc32 = CRC32.buf(data, 0);\n\t//if((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o/*:CFBlob*/ = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(/*::((*/fi.content/*::||[]):any)*/, 0);\n\n\t\tvar outbuf = fi.content/*::||[]*/;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: extra fields? */\n\n\t\t/* TODO: encryption header ? */\n\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out/*:any*/)), bconcat(cdirs), o]/*:any*/));\n}\nvar ContentTypeMap = ({\n\t\"htm\": \"text/html\",\n\t\"xml\": \"text/xml\",\n\n\t\"gif\": \"image/gif\",\n\t\"jpg\": \"image/jpeg\",\n\t\"png\": \"image/png\",\n\n\t\"mso\": \"application/x-mso\",\n\t\"thmx\": \"application/vnd.ms-officetheme\",\n\t\"sh33tj5\": \"application/octet-stream\"\n}/*:any*/);\n\nfunction get_content_type(fi/*:CFBEntry*/, fp/*:string*/)/*:string*/ {\n\tif(fi.ctype) return fi.ctype;\n\n\tvar ext = fi.name || \"\", m = ext.match(/\\.([^\\.]+)$/);\n\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\n\tif(fp) {\n\t\tm = (ext = fp).match(/[\\.\\\\]([^\\.\\\\])+$/);\n\t\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\t}\n\n\treturn \"application/octet-stream\";\n}\n\n/* 76 character chunks TODO: intertwine encoding */\nfunction write_base64_76(bstr/*:string*/)/*:string*/ {\n\tvar data = Base64_encode(bstr);\n\tvar o = [];\n\tfor(var i = 0; i < data.length; i+= 76) o.push(data.slice(i, i+76));\n\treturn o.join(\"\\r\\n\") + \"\\r\\n\";\n}\n\n/*\nRules for QP:\n\t- escape =## applies for all non-display characters and literal \"=\"\n\t- space or tab at end of line must be encoded\n\t- \\r\\n newlines can be preserved, but bare \\r and \\n must be escaped\n\t- lines must not exceed 76 characters, use soft breaks =\\r\\n\n\nTODO: Some files from word appear to write line extensions with bare equals:\n\n```\n*/ = [], split = encoded.split(\"\\r\\n\");\n\tfor(var si = 0; si < split.length; ++si) {\n\t\tvar str = split[si];\n\t\tif(str.length == 0) { o.push(\"\"); continue; }\n\t\tfor(var i = 0; i < str.length;) {\n\t\t\tvar end = 76;\n\t\t\tvar tmp = str.slice(i, i + end);\n\t\t\tif(tmp.charAt(end - 1) == \"=\") end --;\n\t\t\telse if(tmp.charAt(end - 2) == \"=\") end -= 2;\n\t\t\telse if(tmp.charAt(end - 3) == \"=\") end -= 3;\n\t\t\ttmp = str.slice(i, i + end);\n\t\t\ti += end;\n\t\t\tif(i < str.length) tmp += \"=\";\n\t\t\to.push(tmp);\n\t\t}\n\t}\n\n\treturn o.join(\"\\r\\n\");\n}\nfunction parse_quoted_printable(data/*:Array*/)/*:RawBytes*/ {\n\tvar o = [];\n\n\t/* unify long lines */\n\tfor(var di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\twhile(di <= data.length && line.charAt(line.length - 1) == \"=\") line = line.slice(0, line.length - 1) + data[++di];\n\t\to.push(line);\n\t}\n\n\t/* decode */\n\tfor(var oi = 0; oi < o.length; ++oi) o[oi] = o[oi].replace(/[=][0-9A-Fa-f]{2}/g, function($$) { return String.fromCharCode(parseInt($$.slice(1), 16)); });\n\treturn s2a(o.join(\"\\r\\n\"));\n}\n\n\nfunction parse_mime(cfb/*:CFBContainer*/, data/*:Array*/, root/*:string*/)/*:void*/ {\n\tvar fname = \"\", cte = \"\", ctype = \"\", fdata;\n\tvar di = 0;\n\tfor(;di < 10; ++di) {\n\t\tvar line = data[di];\n\t\tif(!line || line.match(/^\\s*$/)) break;\n\t\tvar m = line.match(/^(.*?):\\s*([^\\s].*)$/);\n\t\tif(m) switch(m[1].toLowerCase()) {\n\t\t\tcase \"content-location\": fname = m[2].trim(); break;\n\t\t\tcase \"content-type\": ctype = m[2].trim(); break;\n\t\t\tcase \"content-transfer-encoding\": cte = m[2].trim(); break;\n\t\t}\n\t}\n\t++di;\n\tswitch(cte.toLowerCase()) {\n\t\tcase 'base64': fdata = s2a(Base64_decode(data.slice(di).join(\"\"))); break;\n\t\tcase 'quoted-printable': fdata = parse_quoted_printable(data.slice(di)); break;\n\t\tdefault: throw new Error(\"Unsupported Content-Transfer-Encoding \" + cte);\n\t}\n\tvar file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true});\n\tif(ctype) file.ctype = ctype;\n}\n\nfunction parse_mad(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tif(a2s(file.slice(0,13)).toLowerCase() != \"mime-version:\") throw new Error(\"Unsupported MAD header\");\n\tvar root = (options && options.root || \"\");\n\t// $FlowIgnore\n\tvar data = (has_buf && Buffer.isBuffer(file) ? file.toString(\"binary\") : a2s(file)).split(\"\\r\\n\");\n\tvar di = 0, row = \"\";\n\n\t/* if root is not specified, scan for the common prefix */\n\tfor(di = 0; di < data.length; ++di) {\n\t\trow = data[di];\n\t\tif(!/^Content-Location:/i.test(row)) continue;\n\t\trow = row.slice(row.indexOf(\"file\"));\n\t\tif(!root) root = row.slice(0, row.lastIndexOf(\"/\") + 1);\n\t\tif(row.slice(0, root.length) == root) continue;\n\t\twhile(root.length > 0) {\n\t\t\troot = root.slice(0, root.length - 1);\n\t\t\troot = root.slice(0, root.lastIndexOf(\"/\") + 1);\n\t\t\tif(row.slice(0,root.length) == root) break;\n\t\t}\n\t}\n\n\tvar mboundary = (data[1] || \"\").match(/boundary=\"(.*?)\"/);\n\tif(!mboundary) throw new Error(\"MAD cannot find boundary\");\n\tvar boundary = \"--\" + (mboundary[1] || \"\");\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o);\n\tvar start_di, fcnt = 0;\n\tfor(di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\tif(line !== boundary && line !== boundary + \"--\") continue;\n\t\tif(fcnt++) parse_mime(o, data.slice(start_di, di), root);\n\t\tstart_di = di;\n\t}\n\treturn o;\n}\n\nfunction write_mad(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:string*/ {\n\tvar opts = options || {};\n\tvar boundary = opts.boundary || \"SheetJS\";\n\tboundary = '------=' + boundary;\n\n\tvar out = [\n\t\t'MIME-Version: 1.0',\n\t\t'Content-Type: multipart/related; boundary=\"' + boundary.slice(2) + '\"',\n\t\t'',\n\t\t'',\n\t\t''\n\t];\n\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tfor(var i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length);\n\t\tfi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\n\t\t/* Normalize filename */\n\t\tfp = fp.replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7E-\\xFF]/g, function(c) {\n\t\t\treturn \"_x\" + c.charCodeAt(0).toString(16) + \"_\";\n\t\t}).replace(/[\\u0080-\\uFFFF]/g, function(u) {\n\t\t\treturn \"_u\" + u.charCodeAt(0).toString(16) + \"_\";\n\t\t});\n\n\t\t/* Extract content as binary string */\n\t\tvar ca = fi.content;\n\t\t// $FlowIgnore\n\t\tvar cstr = has_buf && Buffer.isBuffer(ca) ? ca.toString(\"binary\") : a2s(ca);\n\n\t\t/* 4/5 of first 1024 chars ascii -> quoted printable, else base64 */\n\t\tvar dispcnt = 0, L = Math.min(1024, cstr.length), cc = 0;\n\t\tfor(var csl = 0; csl <= L; ++csl) if((cc=cstr.charCodeAt(csl)) >= 0x20 && cc < 0x80) ++dispcnt;\n\t\tvar qp = dispcnt >= L * 4 / 5;\n\n\t\tout.push(boundary);\n\t\tout.push('Content-Location: ' + (opts.root || 'file:///C:/SheetJS/') + fp);\n\t\tout.push('Content-Transfer-Encoding: ' + (qp ? 'quoted-printable' : 'base64'));\n\t\tout.push('Content-Type: ' + get_content_type(fi, fp));\n\t\tout.push('');\n\n\t\tout.push(qp ? write_quoted_printable(cstr) : write_base64_76(cstr));\n\t}\n\tout.push(boundary + '--\\r\\n');\n\treturn out.join(\"\\r\\n\");\n}\nfunction cfb_new(opts/*:?any*/)/*:CFBContainer*/ {\n\tvar o/*:CFBContainer*/ = ({}/*:any*/);\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb/*:CFBContainer*/, name/*:string*/, content/*:?RawBytes*/, opts/*:?any*/)/*:CFBEntry*/ {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath/*:string*/ = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2}/*:any*/);\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\n\t/*:: if(!file) throw new Error(\"unreachable\"); */\n\tfile.content = (content/*:any*/);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb/*:CFBContainer*/, name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb/*:CFBContainer*/, old_name/*:string*/, new_name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb/*:CFBContainer*/)/*:void*/ { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nlet _fs = void 0;\nfunction set_fs(fs) { _fs = fs; }\nexport { set_fs };\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tif(typeof Deno !== 'undefined') {\n\t\t/* in this spot, it's safe to assume typed arrays and TextEncoder/TextDecoder exist */\n\t\tif(enc && typeof payload == \"string\") switch(enc) {\n\t\t\tcase \"utf8\": payload = new TextEncoder(enc).encode(payload); break;\n\t\t\tcase \"binary\": payload = s2ab(payload); break;\n\t\t\t/* TODO: binary equivalent */\n\t\t\tdefault: throw new Error(\"Unsupported encoding \" + enc);\n\t\t}\n\t\treturn Deno.writeFileSync(fname, payload);\n\t}\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\n\t/*:: declare var IE_SaveFile: any; */\n\tif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\n\t\t/*:: declare var navigator: any; */\n\t\tif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\n\t\t/*:: declare var saveAs: any; */\n\t\tif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\n\t\t\t/*:: declare var chrome: any; */\n\t\t\tif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */\n\t\t\t\ta.download = fname; a.href = url; document.body.appendChild(a); a.click();\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */ document.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path/*:string*/) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\tif(typeof Deno !== 'undefined') return Deno.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o/*:any*/)/*:Array*/ {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj/*:any*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj/*:any*/)/*:EvertNumType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj/*:any*/)/*:EvertArrType*/ {\n\tvar o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nfunction datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\tvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nvar refdate = /*#__PURE__*/new Date();\nvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\nvar refoffset = /*#__PURE__*/refdate.getTimezoneOffset();\nfunction numdate(v/*:number*/)/*:Date*/ {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\tif (out.getTimezoneOffset() !== refoffset) {\n\t\tout.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000);\n\t}\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z');\nvar good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1;\nvar good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ {\n\tvar d = new Date(str);\n\tif(good_pd) {\n\t\t/*:: if(fixdate == null) fixdate = 0; */\n\t\tif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr/*:Array*/, debomit)/*:string*/ {\n\tif(has_buf && Buffer.isBuffer(arr)) {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(arr.slice(2).toString(\"utf16le\"));\n\t\t\tif(arr[1] == 0xFE && arr[2] == 0xFF) return utf8write(utf16beread(arr.slice(2).toString(\"binary\")));\n\t\t}\n\t\treturn arr.toString(\"binary\");\n\t}\n\n\tif(typeof TextDecoder !== \"undefined\") try {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(new TextDecoder(\"utf-16le\").decode(arr.slice(2)));\n\t\t\tif(arr[0] == 0xFE && arr[1] == 0xFF) return utf8write(new TextDecoder(\"utf-16be\").decode(arr.slice(2)));\n\t\t}\n\t\tvar rev = {\n\t\t\t\"\\u20ac\": \"\\x80\", \"\\u201a\": \"\\x82\", \"\\u0192\": \"\\x83\", \"\\u201e\": \"\\x84\",\n\t\t\t\"\\u2026\": \"\\x85\", \"\\u2020\": \"\\x86\", \"\\u2021\": \"\\x87\", \"\\u02c6\": \"\\x88\",\n\t\t\t\"\\u2030\": \"\\x89\", \"\\u0160\": \"\\x8a\", \"\\u2039\": \"\\x8b\", \"\\u0152\": \"\\x8c\",\n\t\t\t\"\\u017d\": \"\\x8e\", \"\\u2018\": \"\\x91\", \"\\u2019\": \"\\x92\", \"\\u201c\": \"\\x93\",\n\t\t\t\"\\u201d\": \"\\x94\", \"\\u2022\": \"\\x95\", \"\\u2013\": \"\\x96\", \"\\u2014\": \"\\x97\",\n\t\t\t\"\\u02dc\": \"\\x98\", \"\\u2122\": \"\\x99\", \"\\u0161\": \"\\x9a\", \"\\u203a\": \"\\x9b\",\n\t\t\t\"\\u0153\": \"\\x9c\", \"\\u017e\": \"\\x9e\", \"\\u0178\": \"\\x9f\"\n\t\t};\n\t\tif(Array.isArray(arr)) arr = new Uint8Array(arr);\n\t\treturn new TextDecoder(\"latin1\").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; });\n\t} catch(e) {}\n\n\tvar o = [];\n\tfor(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i]));\n\treturn o.join(\"\");\n}\n\nfunction dup(o/*:any*/)/*:any*/ {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s/*:string*/)/*:number*/ {\n\tvar v/*:number*/ = Number(s);\n\tif(!isNaN(v)) return isFinite(v) ? v : NaN;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nvar lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nfunction fuzzydate(s/*:string*/)/*:Date*/ {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tvar lower = s.toLowerCase();\n\tif(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) {\n\t\tlower = lower.replace(/[^a-z]/g,\"\").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,\"\");\n\t\tif(lower.length > 3 && lower_months.indexOf(lower) == -1) return n;\n\t} else if(lower.match(/[a-z]/)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar split_regex = /*#__PURE__*/(function() {\n\tvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\n\treturn function split_regex(str/*:string*/, re, def/*:string*/)/*:Array*/ {\n\t\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\t\tvar p = str.split(re), o = [p[0]];\n\t\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\t\treturn o;\n\t};\n})();\nfunction getdatastr(data)/*:?string*/ {\n\tif(!data) return null;\n\tif(data.content && data.type) return cc2str(data.content, true);\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file/*:string*/) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase().replace(/[\\/]/g, '\\\\'), g = f.replace(/\\\\/g,'\\/');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex1=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s*[\\/\\?]?>/mg, tagregex2 = /<[^>]*>/g;\nvar tagregex = /*#__PURE__*/XML_HEADER.match(tagregex1) ? tagregex1 : tagregex2;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag/*:string*/, skip_root/*:?boolean*/, skip_LC/*:?boolean*/)/*:any*/ {\n\tvar z = ({}/*:any*/);\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = /*#__PURE__*/evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml/*:StringConv*/ = /*#__PURE__*/(function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text/*:string*/)/*:string*/ {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text/*:string*/)/*:string*/{ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); };\n})();\nfunction xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); }\n\nfunction parsexmlbool(value/*:any*/)/*:boolean*/ {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nfunction utf8reada(orig/*:string*/)/*:string*/ {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n}\n\nfunction utf8readb(data) {\n\tvar out = new_raw_buf(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\tfor(i = 0; i < data.length; i+=j) {\n\t\tj = 1;\n\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\telse { j = 4;\n\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t}\n\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t}\n\treturn out.slice(0,k).toString('ucs2');\n}\n\nfunction utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); }\n\nvar utf8corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\nvar utf8read = has_buf && (/*#__PURE__*/utf8readc(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readc || /*#__PURE__*/utf8readb(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readb) || utf8reada;\n\nvar utf8write/*:StringConv*/ = has_buf ? function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); } : function(orig/*:string*/)/*:string*/ {\n\tvar out/*:Array*/ = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\n// matches ... extracts content\nvar matchtag = /*#__PURE__*/(function() {\n\tvar mtcache/*:{[k:string]:RegExp}*/ = ({}/*:any*/);\n\treturn function matchtag(f/*:string*/,g/*:?string*/)/*:RegExp*/ {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\")/*:any*/)));\n\t};\n})();\n\nvar htmldecode/*:{(s:string):string}*/ = /*#__PURE__*/(function() {\n\tvar entities/*:Array<[RegExp, string]>*/ = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x/*:[string, string]*/) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str/*:string*/)/*:string*/ {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = /*#__PURE__*/(function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)*/ {\n\tvar h = parsexmltag(data);\n\n\tvar matches/*:Array*/ = data.match(vtregex(h.baseType))||[];\n\tvar res/*:Array*/ = [];\n\tif(matches.length != h.size) {\n\t\tif(opts.WTF) throw new Error(\"unexpected vector length \" + matches.length + \" != \" + h.size);\n\t\treturn res;\n\t}\n\tmatches.forEach(function(x/*:string*/) {\n\t\tvar v = x.replace(vtvregex,\"\").match(vtmregex);\n\t\tif(v) res.push({v:utf8read(v[2]), t:v[1]});\n\t});\n\treturn res;\n}\n\nvar wtregex = /(^\\s|\\s$|\\n)/;\nfunction writetag(f/*:string*/,g/*:string*/)/*:string*/ { return '<' + f + (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + ''; }\n\nfunction wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f/*:string*/,g/*:?string*/,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx/*:?boolean*/)/*:string*/ {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nfunction xlml_normalize(d)/*:string*/ {\n\tif(has_buf &&/*::typeof Buffer !== \"undefined\" && d != null && d instanceof Buffer &&*/ Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>:\\/]+)(?:[\\s?:\\/][^>]*)?>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\n\nvar XMLNS = ({\n\tCORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',\n\tCUST_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",\n\tEXT_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\n\tCT: 'http://schemas.openxmlformats.org/package/2006/content-types',\n\tRELS: 'http://schemas.openxmlformats.org/package/2006/relationships',\n\tTCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments',\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n}/*:any*/);\n\nvar XMLNS_main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n}/*:any*/);\nfunction read_double_le(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b/*:RawBytes|CFBlob*/, v/*:number*/, idx/*:number*/) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar ___toBuffer = function(bufs/*:Array >*/)/*:RawBytes*/ { var x=[],w=10240; for(var i=0;i 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0].map(function(x) { return Buffer.isBuffer(x) ? x : Buffer_from(x); })) : ___toBuffer(bufs);} : ___toBuffer;\n\nvar ___utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/)/*:string*/ { var ss/*:Array*/=[]; for(var i=s; i*/=[]; for(var i=s; i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpstr = ___lpstr;\n\nvar ___cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __cpstr = ___cpstr;\n\nvar ___lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpwstr = ___lpwstr;\n\nvar ___lpp4 = function lpp4_(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __lpp4 = ___lpp4;\n\nvar ___8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = ___8lpp4;\n\nvar ___double = function(b/*:RawBytes|CFBlob*/, idx/*:number*/) { return read_double_le(b, idx);};\nvar __double = ___double;\n\nvar is_buf = function is_buf_a(a) { return Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n\nif(has_buf/*:: && typeof Buffer !== 'undefined'*/) {\n\t__lpstr = function lpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__double = function double_(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n}\n\n/* from js-xls */\nfunction cpdoit() {\n\t__utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\nif(typeof $cptable !== 'undefined') cpdoit();\n\nvar __readUInt8 = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx]; };\nvar __readUInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ {\n\tvar o=\"\", oI/*:: :number = 0*/, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof $cptable !== 'undefined') {\n\t\t\t\to = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\n\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\tfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof $cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = $cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tvar end/*:number*/ = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else /*:: if(typeof val === 'number') */ switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr/*:string*/, fld/*:string*/)/*:void*/ {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos/*:number*/)/*:void*/ {\n\tblob.l = pos;\n\tblob.read_shift = /*::(*/ReadShift/*:: :any)*/;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length/*:: :number, opts?:any */) { blob.l += length; }\n\nfunction new_buf(sz/*:number*/)/*:Block*/ {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = R.f && R.f(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array()/*:BufArray*/ {\n\tvar bufs/*:Array*/ = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz/*:number*/)/*:Block*/ {\n\t\tvar o/*:Block*/ = (new_buf(sz)/*:any*/);\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf/*:Block*/ = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz/*:number*/)/*:Block*/ {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn bconcat(bufs);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/);\n}\n\nfunction write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) {\n\tvar t/*:number*/ = +type, l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell/*:CellAddress*/, tgt/*:any*/, opts/*:?any*/)/*:CellAddress*/ {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c/*:CellAddress*/, biff/*:number*/)/*:string*/ {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts)/*:string*/ {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nfunction decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row/*:number*/)/*:string*/ { return \"\" + (row + 1); }\nfunction fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr/*:string*/)/*:number*/ { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col/*:number*/)/*:string*/ { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\n//function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction decode_cell(cstr/*:string*/)/*:CellAddress*/ {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\n//function encode_cell(cell/*:CellAddress*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); }\nfunction encode_cell(cell/*:CellAddress*/)/*:string*/ {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range/*:string*/)/*:Range*/ {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\n/*# if only one arg, it is assumed to be a Range. If 2 args, both are cell addresses */\nfunction encode_range(cs/*:CellAddrSpec|Range*/,ce/*:?CellAddrSpec*/)/*:string*/ {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\n/*:: if(!(cs instanceof Range)) throw \"unreachable\"; */\n\t\treturn encode_range(cs.s, cs.e);\n\t}\n/*:: if((cs instanceof Range)) throw \"unreachable\"; */\n\tif(typeof cs !== 'string') cs = encode_cell((cs/*:any*/));\n\tif(typeof ce !== 'string') ce = encode_cell((ce/*:any*/));\n/*:: if(typeof cs !== 'string') throw \"unreachable\"; */\n/*:: if(typeof ce !== 'string') throw \"unreachable\"; */\n\treturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range/*:string*/)/*:Range*/ {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\t++i;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell/*:Cell*/, v/*:any*/) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF_format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF_format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell/*:Cell*/, v/*:any*/, o/*:any*/) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(cell.t == \"e\") return BErr[cell.v] || cell.v;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet/*:Worksheet*/, opts)/*:Workbook*/ {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws/*:Worksheet*/ = _ws || (dense ? ([]/*:any*/) : ({}/*:any*/));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t\tif(!ws[\"!ref\"]) ws[\"!ref\"] = \"A1:A1\";\n\t}\n\tvar range/*:Range*/ = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell/*:Cell*/ = ({v: data[R][C] }/*:any*/);\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) {\n\t\t\t\t\tif(cell.f) cell.t = 'n';\n\t\t\t\t\telse if(o.nullError) { cell.t = 'e'; cell.v = 0; }\n\t\t\t\t\telse if(!o.sheetStubs) continue;\n\t\t\t\t\telse cell.t = 'z';\n\t\t\t\t}\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF_format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}/*:any*/));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ { return sheet_add_aoa(null, data, opts); }\n\nfunction parse_Int32LE(data) {\n\treturn data.read_shift(4, 'i');\n}\nfunction write_UInt32LE(x/*:number*/, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data/*::, length*/)/*:string*/ {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length/*:number*/)/*:XLString*/ {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str }/*:any*/);\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data)/*:any*/ {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell/*:any*/, o/*:?Block*/) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* Short XLSB Cell does not include column */\nfunction parse_XLSBShortCell(data)/*:any*/ {\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:-1, iStyleRef: iStyleRef };\n}\nfunction write_XLSBShortCell(cell/*:any*/, o/*:?Block*/) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data)/*:number*/ {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, (b[0] & 0xFC), b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data/*:number*/, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data /*::, length*/)/*:Range*/ {\n\tvar cell/*:Range*/ = ({ s: {}, e: {} }/*:any*/);\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r/*:Range*/, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx/*:string*/) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data/*::, length*/) {\n\tif(data.length - data.l < 8) throw \"XLS Xnum Buffer underflow\";\n\treturn data.read_shift(8, 'f');\n}\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data/*::, length*/) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data/*::, length, opts*/) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w/*:number*/)/*:string*/ {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m/*:number*/ = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n// Note: some tree shakers cannot handle VT_VECTOR | $CONST, hence extra vars\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\nvar VT_VECTOR_VARIANT = 0x100C;\nvar VT_VECTOR_LPSTR = 0x101E;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 },\n\t/*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 },\n\t/*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 },\n\t/*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 },\n\t/*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 },\n\t/*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 },\n\t/*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 },\n\t/*::[*/0x0b/*::]*/: { n: 'ScaleCrop', t: VT_BOOL },\n\t/*::[*/0x0c/*::]*/: { n: 'HeadingPairs', t: VT_VECTOR_VARIANT /* VT_VECTOR | VT_VARIANT */ },\n\t/*::[*/0x0d/*::]*/: { n: 'TitlesOfParts', t: VT_VECTOR_LPSTR /* VT_VECTOR | VT_LPSTR */ },\n\t/*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING },\n\t/*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING },\n\t/*::[*/0x10/*::]*/: { n: 'LinksUpToDate', t: VT_BOOL },\n\t/*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 },\n\t/*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL },\n\t/*::[*/0x16/*::]*/: { n: 'HyperlinksChanged', t: VT_BOOL },\n\t/*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' },\n\t/*::[*/0x18/*::]*/: { n: 'DigSig', t: VT_BLOB },\n\t/*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING },\n\t/*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING },\n\t/*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING },\n\t/*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING },\n\t/*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING },\n\t/*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING },\n\t/*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING },\n\t/*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING },\n\t/*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING },\n\t/*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME },\n\t/*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME },\n\t/*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME },\n\t/*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME },\n\t/*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 },\n\t/*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 },\n\t/*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 },\n\t/*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF },\n\t/*::[*/0x12/*::]*/: { n: 'Application', t: VT_STRING },\n\t/*::[*/0x13/*::]*/: { n: 'DocSecurity', t: VT_I4 },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n\t/*::[*/0x0001/*::]*/: \"US\", // United States\n\t/*::[*/0x0002/*::]*/: \"CA\", // Canada\n\t/*::[*/0x0003/*::]*/: \"\", // Latin America (except Brazil)\n\t/*::[*/0x0007/*::]*/: \"RU\", // Russia\n\t/*::[*/0x0014/*::]*/: \"EG\", // Egypt\n\t/*::[*/0x001E/*::]*/: \"GR\", // Greece\n\t/*::[*/0x001F/*::]*/: \"NL\", // Netherlands\n\t/*::[*/0x0020/*::]*/: \"BE\", // Belgium\n\t/*::[*/0x0021/*::]*/: \"FR\", // France\n\t/*::[*/0x0022/*::]*/: \"ES\", // Spain\n\t/*::[*/0x0024/*::]*/: \"HU\", // Hungary\n\t/*::[*/0x0027/*::]*/: \"IT\", // Italy\n\t/*::[*/0x0029/*::]*/: \"CH\", // Switzerland\n\t/*::[*/0x002B/*::]*/: \"AT\", // Austria\n\t/*::[*/0x002C/*::]*/: \"GB\", // United Kingdom\n\t/*::[*/0x002D/*::]*/: \"DK\", // Denmark\n\t/*::[*/0x002E/*::]*/: \"SE\", // Sweden\n\t/*::[*/0x002F/*::]*/: \"NO\", // Norway\n\t/*::[*/0x0030/*::]*/: \"PL\", // Poland\n\t/*::[*/0x0031/*::]*/: \"DE\", // Germany\n\t/*::[*/0x0034/*::]*/: \"MX\", // Mexico\n\t/*::[*/0x0037/*::]*/: \"BR\", // Brazil\n\t/*::[*/0x003d/*::]*/: \"AU\", // Australia\n\t/*::[*/0x0040/*::]*/: \"NZ\", // New Zealand\n\t/*::[*/0x0042/*::]*/: \"TH\", // Thailand\n\t/*::[*/0x0051/*::]*/: \"JP\", // Japan\n\t/*::[*/0x0052/*::]*/: \"KR\", // Korea\n\t/*::[*/0x0054/*::]*/: \"VN\", // Viet Nam\n\t/*::[*/0x0056/*::]*/: \"CN\", // China\n\t/*::[*/0x005A/*::]*/: \"TR\", // Turkey\n\t/*::[*/0x0069/*::]*/: \"JS\", // Ramastan\n\t/*::[*/0x00D5/*::]*/: \"DZ\", // Algeria\n\t/*::[*/0x00D8/*::]*/: \"MA\", // Morocco\n\t/*::[*/0x00DA/*::]*/: \"LY\", // Libya\n\t/*::[*/0x015F/*::]*/: \"PT\", // Portugal\n\t/*::[*/0x0162/*::]*/: \"IS\", // Iceland\n\t/*::[*/0x0166/*::]*/: \"FI\", // Finland\n\t/*::[*/0x01A4/*::]*/: \"CZ\", // Czech Republic\n\t/*::[*/0x0376/*::]*/: \"TW\", // Taiwan\n\t/*::[*/0x03C1/*::]*/: \"LB\", // Lebanon\n\t/*::[*/0x03C2/*::]*/: \"JO\", // Jordan\n\t/*::[*/0x03C3/*::]*/: \"SY\", // Syria\n\t/*::[*/0x03C4/*::]*/: \"IQ\", // Iraq\n\t/*::[*/0x03C5/*::]*/: \"KW\", // Kuwait\n\t/*::[*/0x03C6/*::]*/: \"SA\", // Saudi Arabia\n\t/*::[*/0x03CB/*::]*/: \"AE\", // United Arab Emirates\n\t/*::[*/0x03CC/*::]*/: \"IL\", // Israel\n\t/*::[*/0x03CE/*::]*/: \"QA\", // Qatar\n\t/*::[*/0x03D5/*::]*/: \"IR\", // Iran\n\t/*::[*/0xFFFF/*::]*/: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr/*:Array*/)/*:Array<[number, number, number]>*/ { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = /*#__PURE__*/ rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = /*#__PURE__*/dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n\t/*::[*/0x00/*::]*/: \"#NULL!\",\n\t/*::[*/0x07/*::]*/: \"#DIV/0!\",\n\t/*::[*/0x0F/*::]*/: \"#VALUE!\",\n\t/*::[*/0x17/*::]*/: \"#REF!\",\n\t/*::[*/0x1D/*::]*/: \"#NAME?\",\n\t/*::[*/0x24/*::]*/: \"#NUM!\",\n\t/*::[*/0x2A/*::]*/: \"#N/A\",\n\t/*::[*/0x2B/*::]*/: \"#GETTING_DATA\",\n\t/*::[*/0xFF/*::]*/: \"#WTF?\"\n};\n//var RBErr = evert_num(BErr);\nvar RBErr = {\n\t\"#NULL!\": 0x00,\n\t\"#DIV/0!\": 0x07,\n\t\"#VALUE!\": 0x0F,\n\t\"#REF!\": 0x17,\n\t\"#NAME?\": 0x1D,\n\t\"#NUM!\": 0x24,\n\t\"#N/A\": 0x2A,\n\t\"#GETTING_DATA\": 0x2B,\n\t\"#WTF?\": 0xFF\n};\n\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\": \"workbooks\",\n\t\"application/vnd.ms-excel.addin.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": \"sheets\",\n\t\"application/vnd.ms-excel.worksheet\": \"sheets\",\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Chartsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": \"charts\",\n\t\"application/vnd.ms-excel.chartsheet\": \"charts\",\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.macrosheet+xml\": \"macros\",\n\t\"application/vnd.ms-excel.macrosheet\": \"macros\",\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* Dialogsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": \"dialogs\",\n\t\"application/vnd.ms-excel.dialogsheet\": \"dialogs\",\n\n\t/* Shared Strings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\": \"strs\",\n\t\"application/vnd.ms-excel.sharedStrings\": \"strs\",\n\n\t/* Styles */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": \"styles\",\n\t\"application/vnd.ms-excel.styles\": \"styles\",\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* Comments */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": \"comments\",\n\t\"application/vnd.ms-excel.comments\": \"comments\",\n\t\"application/vnd.ms-excel.threadedcomments+xml\": \"threadedcomments\",\n\t\"application/vnd.ms-excel.person+xml\": \"people\",\n\n\t/* Metadata (Stock/Geography and Dynamic Array) */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"metadata\",\n\t\"application/vnd.ms-excel.sheetMetadata\": \"metadata\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"TODO\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n}/*:any*/);\n\nvar CT_LIST = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tmetadata: { /* Metadata (Stock/Geography and Dynamic Array) */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheetMetadata\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n};\n\nfunction new_ct()/*:any*/ {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], threadedcomments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [], metadata: [], people:[],\n\t\tTODO:[], xmlns: \"\" }/*:any*/);\n}\n\nfunction parse_ct(data/*:?string*/) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nfunction write_ct(ct, opts)/*:string*/ {\n\tvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\n\tvar o/*:Array*/ = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = writextag('Types', null, {\n\t\t'xmlns': XMLNS.CT,\n\t\t'xmlns:xsd': XMLNS.xsd,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t});\n\n\to = o.concat([\n\t\t['xml', 'application/xml'],\n\t\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t\t/* from test files */\n\t\t['bmp', 'image/bmp'],\n\t\t['png', 'image/png'],\n\t\t['gif', 'image/gif'],\n\t\t['emf', 'image/x-emf'],\n\t\t['wmf', 'image/x-wmf'],\n\t\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t\t['pdf', 'application/pdf'],\n\t\t['rels', 'application/vnd.openxmlformats-package.relationships+xml']\n\t].map(function(x) {\n\t\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n\t}));\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('threadedcomments');\n\tf3('drawings');\n\tf2('metadata');\n\tf3('people');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tCMNT: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n\tCORE_PROPS: \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n\tEXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',\n\tCUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties',\n\tSST: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",\n\tSTY: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n\tTHEME: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",\n\tCHART: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n\tCHARTEX: \"http://schemas.microsoft.com/office/2014/relationships/chartEx\",\n\tCS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",\n\tWS: [\n\t\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n\t],\n\tDS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",\n\tMS: \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\",\n\tIMG: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n\tDRAW: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n\tXLMETA: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\",\n\tTCMNT: \"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\",\n\tPEOPLE: \"http://schemas.microsoft.com/office/2017/10/relationships/person\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n}/*:any*/);\n\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file/*:string*/)/*:string*/ {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data/*:?string*/, currentFilePath/*:string*/) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nfunction add_rels(rels, rId/*:number*/, f, type, relobj, targetmode/*:?string*/)/*:number*/ {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(!rels['!idx']) rels['!idx'] = 1;\n\tif(rId < 0) for(rId = rels['!idx']; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trels['!idx'] = rId + 1;\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if([RELS.HLINK, RELS.XPATH, RELS.XMISS].indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest/*:Array >*/)/*:string*/ {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file/*:string*/, res/*:string*/, tag/*:?string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base/*:string*/, file/*:string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nfunction write_meta_ods(/*:: wb: Workbook, opts: any*/)/*:string*/ {\n\treturn 'Sheet' + 'JS ' + XLSX.version + '';\n}\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS/*:Array >*/ = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nvar CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, writextag('cp:coreProperties', null, {\n\t\t//'xmlns': XMLNS.CORE_PROPS,\n\t\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t\t'xmlns:dc': XMLNS.dc,\n\t\t'xmlns:dcterms': XMLNS.dcterms,\n\t\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t})], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS/*:Array >*/ = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP/*:string|Array>*/, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nfunction write_ext_props(cp/*::, opts*/)/*:string*/ {\n\tvar o/*:Array*/ = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (writextag('Properties', null, {\n\t\t'xmlns': XMLNS.EXT_PROPS,\n\t\t'xmlns:vt': XMLNS.vt\n\t}));\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data/*:string*/, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM;\n\nfunction xlml_set_prop(Props, tag/*:string*/, val) {\n\tif(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap);\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o/*:Array*/ = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops/*::, opts*/) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o/*:Array*/ = [];\n\tif(Props) keys(Props).forEach(function(k) {\n\t\t/*:: if(!Props) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\n\t\t/*:: if(!Custprops) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time/*:string|Date*/) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad/*:?number*/) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t/*:number*/, pad/*:?boolean*/) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t/*:number*/) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.7 VtVecLpwstrValue */\nfunction parse_VtVecLpwstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) {\n\t\tvar start = blob.l;\n\t\tret[i] = blob.read_shift(0, 'lpwstr').replace(chr0,'');\n\t\tif((blob.l - start) & 0x02) blob.l += 2;\n\t}\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar start = blob.l;\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tif(blob[blob.l] == 0x00 && blob[blob.l+1] == 0x00 && ((blob.l - start) & 0x02)) blob.l += 2;\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i < cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type/*:number*/, _opts)/*:any*/ {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1 && !((type & 0xFFFE) == 0x101E && (t & 0xFFFE) == 0x101E)) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPairValue(blob);\n\t\tcase 0x101E /*VT_VECTOR|VT_LPSTR*/:\n\t\tcase 0x101F /*VT_VECTOR|VT_LPWSTR*/:\n\t\t\treturn t == 0x101F ? parse_VtVecLpwstrValue(blob) : parse_VtVecUnalignedLpstrValue(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type/*:number*/, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: /*:: if(typeof value !== \"string\" && !(value instanceof Date)) throw \"unreachable\"; */ p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\n\t\t\t/*:: if(typeof value !== \"string\") throw \"unreachable\"; */\n\t\t\tp = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2)/*:number*/);\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ]; //.concat(PseudoPropsPairs);\nfunction guess_property_type(val/*:any*/)/*:number*/ {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI/*:: || {}*/)[idx]/*:: || {} */;\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\n\t\t\t\t/*:: if(typeof val !== \"string\") throw \"unreachable\"; */\n\t\t\t\tvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({}/*:any*/);\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/);\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI/*:{[key:string|number]:any}*/, entries2/*:?any*/, clsid2/*:?any*/) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr/*:: :XLString, opts*/) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob/*::, length, opts*/) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob/*::, length, opts*/) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob/*::, length*/) {\n\tvar cAnti = blob.read_shift(2);\n\tvar preamble = \"\"; while(cAnti-- > 0) preamble += \"../\";\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return preamble + ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn preamble + unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob/*::, length*/) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\nfunction write_HyperlinkString(str/*:string*/, o) {\n\tif(!o) o = new_buf(6 + str.length * 2);\n\to.write_shift(4, 1 + str.length);\n\tfor(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i));\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length)/*:Hyperlink*/ {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tif((flags & 0x0002) && target.charAt(0) == \"/\" && target.charAt(1) != \"/\") target = \"file://\" + target;\n\tvar out = ({Target:target}/*:any*/);\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tif(Target.slice(0,7) == \"file://\") Target = Target.slice(7);\n\tvar hashidx = Target.indexOf(\"#\");\n\tvar F = hashidx > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\twrite_HyperlinkString(Target, out);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar Pretarget = hashidx > -1 ? Target.slice(0, hashidx) : Target;\n\t\tout.write_shift(4, 2*(Pretarget.length + 1));\n\t\tfor(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t\tif(F & 0x08) write_HyperlinkString(hashidx > -1 ? Target.slice(hashidx+1): \"\", out);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length - 3 * P + 1);\n\t\tfor(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob/*::, length*/)/*:Cell*/ {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe}/*:any*/);\n}\nfunction write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r/*:Range*/, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob/*::, length*/) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n\t/*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */\n\t/*::[*/0x04/*::]*/: parse_FtSkip, /* FtMacro */\n\t/*::[*/0x05/*::]*/: parse_FtSkip, /* FtButton */\n\t/*::[*/0x06/*::]*/: parse_FtSkip, /* FtGmo */\n\t/*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */\n\t/*::[*/0x08/*::]*/: parse_FtSkip, /* FtPioGrbit */\n\t/*::[*/0x09/*::]*/: parse_FtSkip, /* FtPictFmla */\n\t/*::[*/0x0A/*::]*/: parse_FtSkip, /* FtCbls */\n\t/*::[*/0x0B/*::]*/: parse_FtSkip, /* FtRbo */\n\t/*::[*/0x0C/*::]*/: parse_FtSkip, /* FtSbs */\n\t/*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */\n\t/*::[*/0x0E/*::]*/: parse_FtSkip, /* FtSbsFmla */\n\t/*::[*/0x0F/*::]*/: parse_FtSkip, /* FtGboData */\n\t/*::[*/0x10/*::]*/: parse_FtSkip, /* FtEdoData */\n\t/*::[*/0x11/*::]*/: parse_FtSkip, /* FtRboData */\n\t/*::[*/0x12/*::]*/: parse_FtSkip, /* FtCblsData */\n\t/*::[*/0x13/*::]*/: parse_FtSkip, /* FtLbsData */\n\t/*::[*/0x14/*::]*/: parse_FtSkip, /* FtCblsFmla */\n\t/*::[*/0x15/*::]*/: parse_FtCmo\n};\nfunction parse_FtArray(blob, length/*::, ot*/) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb/*:Workbook*/, t/*:number*/, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s/*:string*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10, fBelow: flags & 0x40, fRight: flags & 0x80 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length)/*:SST*/ {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs/*:SST*/ = ([]/*:any*/);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\n\t/*::(*/o/*:: :any)*/.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({}/*:any*/);\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1(/*::opts*/) {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o/*:any*/ = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ /*::, opts*/) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i/*:number*/, f/*:string*/, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\tvar f = 0;\n\tif(data.numFmtId > 0 && b5) f |= 0x0400;\n\to.write_shift(4, f);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts/*:Array*/) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2 || length == 9) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:string*/) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t}/*:any*/);\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\t/*jshint -W018 */\n\tvar rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\t/*jshint +W018 */\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length)/*:Array*/ {\n\tvar merges/*:Array*/ = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges/*:Array*/) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = {\n0x08: function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n}\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts); // eslint-disable-line no-unused-vars\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob)/*:[string|number, string|number]*/ {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}/*:any*/);\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\nfunction write_ColInfo(col, idx) {\n\tvar o = new_buf(12);\n\to.write_shift(2, idx);\n\to.write_shift(2, idx);\n\to.write_shift(2, col.width * 256);\n\to.write_shift(2, 0);\n\tvar f = 0;\n\tif(col.hidden) f |= 1;\n\to.write_shift(1, f);\n\tf = col.level || 0;\n\to.write_shift(1, f);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n/*:number*/) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 5) opts.biff = 2;\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob/*::, length*/) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\nvar DBF = /*#__PURE__*/(function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\n\t/* shapefile DBF extension */\n\t/*::[*/0x00/*::]*/: 20127, /*::[*/0x08/*::]*/: 865,\n\t/*::[*/0x09/*::]*/: 437, /*::[*/0x0A/*::]*/: 850,\n\t/*::[*/0x0B/*::]*/: 437, /*::[*/0x0D/*::]*/: 437,\n\t/*::[*/0x0E/*::]*/: 850, /*::[*/0x0F/*::]*/: 437,\n\t/*::[*/0x10/*::]*/: 850, /*::[*/0x11/*::]*/: 437,\n\t/*::[*/0x12/*::]*/: 850, /*::[*/0x13/*::]*/: 932,\n\t/*::[*/0x14/*::]*/: 850, /*::[*/0x15/*::]*/: 437,\n\t/*::[*/0x16/*::]*/: 850, /*::[*/0x17/*::]*/: 865,\n\t/*::[*/0x18/*::]*/: 437, /*::[*/0x19/*::]*/: 437,\n\t/*::[*/0x1A/*::]*/: 850, /*::[*/0x1B/*::]*/: 437,\n\t/*::[*/0x1C/*::]*/: 863, /*::[*/0x1D/*::]*/: 850,\n\t/*::[*/0x1F/*::]*/: 852, /*::[*/0x22/*::]*/: 852,\n\t/*::[*/0x23/*::]*/: 852, /*::[*/0x24/*::]*/: 860,\n\t/*::[*/0x25/*::]*/: 850, /*::[*/0x26/*::]*/: 866,\n\t/*::[*/0x37/*::]*/: 850, /*::[*/0x40/*::]*/: 852,\n\t/*::[*/0x4D/*::]*/: 936, /*::[*/0x4E/*::]*/: 949,\n\t/*::[*/0x4F/*::]*/: 950, /*::[*/0x50/*::]*/: 874,\n\t/*::[*/0x57/*::]*/: 1252, /*::[*/0x58/*::]*/: 1252,\n\t/*::[*/0x59/*::]*/: 1252, /*::[*/0x6C/*::]*/: 863,\n\t/*::[*/0x86/*::]*/: 737, /*::[*/0x87/*::]*/: 852,\n\t/*::[*/0x88/*::]*/: 857, /*::[*/0xCC/*::]*/: 1257,\n\n\t/*::[*/0xFF/*::]*/: 16969\n};\nvar dbf_reverse_map = evert({\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\t/*::[*/0x00/*::]*/: 20127\n});\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts)/*:AOA*/ {\n\tvar out/*:AOA*/ = [];\n\tvar d/*:Block*/ = (new_raw_buf(1)/*:any*/);\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64_decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = !!(ft & 0x88);\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: break; // dBASE II\n\t\tcase 0x03: break; // dBASE III\n\t\tcase 0x30: vfp = true; memo = true; break; // VFP\n\t\tcase 0x31: vfp = true; memo = true; break; // VFP with autoincrement\n\t\t// 0x43 dBASE IV SQL table files\n\t\t// 0x63 dBASE IV SQL system files\n\t\tcase 0x83: break; // dBASE III with memo\n\t\tcase 0x8B: break; // dBASE IV with memo\n\t\tcase 0x8C: l7 = true; break; // dBASE Level 7 with memo\n\t\t// case 0xCB dBASE IV SQL table files with memo\n\t\tcase 0xF5: break; // FoxPro 2.x with memo\n\t\t// case 0xFB FoxBASE\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\n\tvar nrow = 0, fpos = 0x0209;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\td.l += 3; // dBASE II stores DDMMYY date, others use YYMMDD\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(nrow > 1048576) nrow = 1e6;\n\n\tif(ft != 0x02) fpos = d.read_shift(2); // header length\n\tvar rlen = d.read_shift(2); // record length\n\n\tvar /*flags = 0,*/ current_cp = opts.codepage || 1252;\n\tif(ft != 0x02) { // 20 reserved bytes\n\t\td.l+=16;\n\t\t/*flags = */d.read_shift(1);\n\t\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t\t/* codepage present in FoxPro and dBASE Level 7 */\n\t\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\t\td.l+=1;\n\n\t\td.l+=2;\n\t}\n\tif(l7) d.l += 36; // Level 7: 32 byte \"Language driver name\", 4 byte reserved\n\n/*:: type DBFField = { name:string; len:number; type:string; } */\n\tvar fields/*:Array*/ = [], field/*:DBFField*/ = ({}/*:any*/);\n\tvar hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0))));\n\tvar ww = l7 ? 32 : 11;\n\twhile(d.l < hend && d[d.l] != 0x0d) {\n\t\tfield = ({}/*:any*/);\n\t\tfield.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // Double (VFP) / Binary (dBASE L7)\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General (FoxPro and dBASE L7)\n\t\t\tcase 'P': // Picture (FoxPro and dBASE L7)\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase '+': // Autoincrement (dBASE L7 only)\n\t\t\tcase '0': // _NullFlags (VFP only)\n\t\t\tcase '@': // Timestamp (dBASE L7 only)\n\t\t\tcase 'C': // Character (dBASE II)\n\t\t\tcase 'D': // Date (dBASE III)\n\t\t\tcase 'F': // Float (dBASE IV)\n\t\t\tcase 'I': // Long (VFP and dBASE L7)\n\t\t\tcase 'L': // Logical (dBASE II)\n\t\t\tcase 'M': // Memo (dBASE III)\n\t\t\tcase 'N': // Number (dBASE II)\n\t\t\tcase 'O': // Double (dBASE L7 only)\n\t\t\tcase 'T': // Datetime (VFP only)\n\t\t\tcase 'Y': // Currency (VFP only)\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\td.l = fpos;\n\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) {\n\t\t\t// TODO: record marked as deleted -- create a hidden row?\n\t\t\td.l+=rlen;\n\t\t\tcontinue;\n\t\t}\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = $cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\t// NOTE: it is conventional to write ' / / ' for empty dates\n\t\t\t\t\tif(s.trim().length) out[R][C] = s.replace(/\\s+$/,\"\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.trim().toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase '': case '?': break;\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N':\n\t\t\t\t\ts = s.replace(/\\u0000/g,\"\").trim();\n\t\t\t\t\t// NOTE: dBASE II interprets \" . \" as 0\n\t\t\t\t\tif(s && s != \".\") out[R][C] = +s || 0; break;\n\t\t\t\tcase '@':\n\t\t\t\t\t// NOTE: dBASE specs appear to be incorrect\n\t\t\t\t\tout[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\topts.DBF = fields;\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\tvar ws = aoa_to_sheet(dbf_to_aoa(buf, o), o);\n\tws[\"!cols\"] = o.DBF.map(function(field) { return {\n\t\twch: field.len,\n\t\tDBF: field\n\t};});\n\tdelete o.DBF;\n\treturn ws;\n}\n\nfunction dbf_to_workbook(buf, opts)/*:Workbook*/ {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa/*:AOA*/ = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1), cols = ws[\"!cols\"] || [];\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; }\n\t\tif(headers[i] == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes/*:Array*/ = [];\n\tvar colwidths/*:Array*/ = [];\n\tvar coldecimals/*:Array*/ = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar guess = '', _guess = '', maxlen = 0;\n\t\tvar col/*:Array*/ = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tmaxlen = Math.max(maxlen, String(col[j]).length);\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\t//if(guess == 'C') break;\n\t\t}\n\t\tif(maxlen > 250) maxlen = 250;\n\t\t_guess = ((cols[i]||{}).DBF||{}).type;\n\t\t/* TODO: more fine grained control over DBF type resolution */\n\t\tif(_guess == 'C') {\n\t\t\tif(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len;\n\t\t}\n\t\tif(guess == 'B' && _guess == 'N') {\n\t\t\tguess = 'N';\n\t\t\tcoldecimals[i] = cols[i].DBF.dec;\n\t\t\tmaxlen = cols[i].DBF.len;\n\t\t}\n\t\tcolwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0);\n\t\trlen += colwidths[i];\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[/*::String(*/current_ansi/*::)*/] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, coldecimals[i] || 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += (colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t}/*:any*/);\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str/*:string*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr/*:AOA*/ = [];\n\t\tvar formats/*:Array*/ = [];\n\t\tvar next_cell_format/*:string|null*/ = null;\n\t\tvar sht = {}, rowinfo/*:Array*/ = [], colinfo/*:Array*/ = [], cw/*:Array*/ = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'W': break; /* window? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1;\n\t\t\tfor(rj=1; rj -1 && arr[_R][_C];\n\t\t\t\tif(!shrbase || !shrbase[1]) throw new Error(\"SYLK shared formula cannot find base\");\n\t\t\t\tarr[R][C][1] = shift_formula_str(shrbase[1], {r: R - _R, c: C - _C});\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 'F':\n\t\t\tvar F_seen = 0;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*//*::, opts*/)/*:string*/ {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\").replace(/;/g, \";;\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number' && !col.wpx) col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number' && !col.wch) col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out/*:Array*/, rows/*:Array*/) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/)/*:string*/ {\n\t\tvar preamble/*:Array*/ = [\"ID;PWXL;N;E\"], o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = /*#__PURE__*/(function() {\n\tfunction dif_to_aoa(d/*:RawData*/, opts)/*:AOA*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri] || \"\";\n\t\t\twhile(((data.match(/[\"]/g)||[]).length & 1) && ri < records.length - 1) data += \"\\n\" + records[++ri];\n\t\t\tdata = data.trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tdata = data.replace(/\"\"/g, '\"');\n\t\t\t\t\tif(DIF_XL && data && data.match(/^=\".*\"$/)) data = data.slice(2, -1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = /*#__PURE__*/(function() {\n\t\tvar push_field = function pf(o/*:Array*/, topic/*:string*/, v/*:number*/, n/*:number*/, s/*:string*/) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o/*:Array*/, type/*:number*/, v/*:any*/, s/*:string*/) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\t\tvar o/*:Array*/ = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF_format(cell.z || table_fmt[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = /*#__PURE__*/(function() {\n\tfunction decode(s/*:string*/)/*:string*/ { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s/*:string*/)/*:string*/ { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws/*:Worksheet*/)/*:string*/ {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o/*:Array*/ = [], oo/*:Array*/ = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF_format(cell.z || table_fmt[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = /*#__PURE__*/(function() {\n\tfunction set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/, o/*:any*/) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f/*:string*/, opts)/*:AOA*/ {\n\t\tvar o = opts || {};\n\t\tvar arr/*:AOA*/ = ([]/*:any*/);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n\t\t/*::[*/0x2C/*::]*/: ',',\n\t\t/*::[*/0x09/*::]*/: \"\\t\",\n\t\t/*::[*/0x3B/*::]*/: ';',\n\t\t/*::[*/0x7C/*::]*/: '|'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n\t\t/*::[*/0x2C/*::]*/: 3,\n\t\t/*::[*/0x09/*::]*/: 2,\n\t\t/*::[*/0x3B/*::]*/: 1,\n\t\t/*::[*/0x7C/*::]*/: 0\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]] || 0x2C;\n\t}\n\n\tfunction dsv_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:0}}/*:any*/);\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t\telse sep = guess_sep(str.slice(0,1024));\n\t\t}\n\t\telse if(o && o.FS) sep = o.FS;\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0);\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({}/*:any*/);\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1; startcc = str.charCodeAt(start);\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: if(startcc === 0x22) instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(opts.FS) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64_decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf\n\t\t\t\telse if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d);\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str);\n\t\telse if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\tvar o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo/*:Array*/ = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = /*#__PURE__*/(function() {\n\tfunction lotushopper(data, cb/*:RecordHopperCB*/, opts/*:any*/) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFFFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = R.f && R.f(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d/*:RawData*/, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64_decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts)/*:Workbook*/ {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s/*:Worksheet*/ = ((o.dense ? [] : {})/*:any*/), n = \"Sheet1\", next_n = \"\", sidx = 0;\n\t\tvar sheets = {}, snames = [], realnames = [];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x00) {\n\t\t\tif(d[3] == 0x08 || d[3] == 0x09) {\n\t\t\t\tif(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error(\"Unsupported Works 3 for Mac file\");\n\t\t\t}\n\t\t}\n\n\t\tif(d[2] == 0x02) {\n\t\t\to.Enum = WK1Enum;\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0x00: /* BOF */\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0xDE: next_n = val; break; /* SHEETNAMELP */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || table_fmt[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\n\t\t\t\t\tif(o.qpro) {\n\t\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\t\tsidx = val[3]; n = next_n || \"Sheet\" + (sidx + 1); next_n = \"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];\n\t\t\t\t\tif(tmpcell) {\n\t\t\t\t\t\ttmpcell.t = val[1].t; tmpcell.v = val[1].v;\n\t\t\t\t\t\tif(val[1].z != null) tmpcell.z = val[1].z;\n\t\t\t\t\t\tif(val[1].f != null) tmpcell.f = val[1].f;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}}, o);\n\t\t} else if(d[2] == 0x1A || d[2] == 0x0E) {\n\t\t\to.Enum = WK3Enum;\n\t\t\tif(d[2] == 0x0E) { o.qpro = true; d.l = 0; }\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0xCC: n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x1B: /* XFORMAT */\n\t\t\t\t\tif(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0601: /* SHEETINFOQP */\n\t\t\t\t\trealnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;\n\t\t\t\tdefault: break;\n\t\t\t}}, o);\n\t\t} else throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[next_n || n] = s;\n\t\tsnames.push(next_n || n);\n\t\tif(!realnames.length) return { SheetNames: snames, Sheets: sheets };\n\t\tvar osheets = {}, rnames = [];\n\t\t/* TODO: verify no collisions */\n\t\tfor(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {\n\t\t\trnames.push(realnames[i] || snames[i]);\n\t\t\tosheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];\n\t\t} else {\n\t\t\trnames.push(realnames[i]);\n\t\t\tosheets[realnames[i]] = ({ \"!ref\": \"A1\" });\n\t\t}\n\t\treturn { SheetNames: rnames, Sheets: osheets };\n\t}\n\n\tfunction sheet_to_wk1(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK1 to JS string\");\n\t\tvar ba = buf_array();\n\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\tvar dense = Array.isArray(ws);\n\t\tvar cols = [];\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));\n\t\twrite_biff_rec(ba, 0x06, write_RANGE(range));\n\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\tvar rr = encode_row(R);\n\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t/* TODO: formula records */\n\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\tif((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v));\n\t\t\t\t\telse write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v));\n\t\t\t\t} else {\n\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\twrite_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239)));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\tfunction book_to_wk3(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK3 to JS string\");\n\t\tvar ba = buf_array();\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK3(wb));\n\n\t\tfor(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})[\"!ref\"]) write_biff_rec(ba, 0x1b, write_XFORMAT_SHEETNAME(wb.SheetNames[i], cnt++));\n\n\t\tvar wsidx = 0;\n\t\tfor(i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tvar cols = [];\n\t\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\t\tvar rr = encode_row(R);\n\t\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t\t/* TODO: FORMULA19 NUMBER18 records */\n\t\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\t\twrite_biff_rec(ba, 0x17, write_NUMBER_17(R, C, wsidx, cell.v));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\t\t/* TODO: max len? */\n\t\t\t\t\t\twrite_biff_rec(ba, 0x16, write_LABEL_16(R, C, wsidx, str.slice(0, 239)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t++wsidx;\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\n\tfunction write_BOF_WK1(v/*:number*/) {\n\t\tvar out = new_buf(2);\n\t\tout.write_shift(2, v);\n\t\treturn out;\n\t}\n\n\tfunction write_BOF_WK3(wb/*:Workbook*/) {\n\t\tvar out = new_buf(26);\n\t\tout.write_shift(2, 0x1000);\n\t\tout.write_shift(2, 0x0004);\n\t\tout.write_shift(4, 0x0000);\n\t\tvar rows = 0, cols = 0, wscnt = 0;\n\t\tfor(var i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar name = wb.SheetNames[i];\n\t\t\tvar ws = wb.Sheets[name];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\t++wscnt;\n\t\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\t\tif(rows < range.e.r) rows = range.e.r;\n\t\t\tif(cols < range.e.c) cols = range.e.c;\n\t\t}\n\t\tif(rows > 8191) rows = 8191;\n\t\tout.write_shift(2, rows);\n\t\tout.write_shift(1, wscnt);\n\t\tout.write_shift(1, cols);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(1, 0x01);\n\t\tout.write_shift(1, 0x02);\n\t\tout.write_shift(4, 0);\n\t\tout.write_shift(4, 0);\n\t\treturn out;\n\t}\n\n\tfunction parse_RANGE(blob, length, opts) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\tif(length == 8 && opts.qpro) {\n\t\t\to.s.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.s.r = blob.read_shift(2);\n\t\t\to.e.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.e.r = blob.read_shift(2);\n\t\t\treturn o;\n\t\t}\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\tfunction write_RANGE(range) {\n\t\tvar out = new_buf(8);\n\t\tout.write_shift(2, range.s.c);\n\t\tout.write_shift(2, range.s.r);\n\t\tout.write_shift(2, range.e.c);\n\t\tout.write_shift(2, range.e.r);\n\t\treturn out;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\to[3] = blob.read_shift(1);\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL(R, C, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(7 + s.length);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, 0x27); // ??\n\t\tfor(var i = 0; i < o.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\tfunction write_INTEGER(R, C, v) {\n\t\tvar o = new_buf(7);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(2, v, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\tfunction write_NUMBER(R, C, v) {\n\t\tvar o = new_buf(13);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(8, v, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\twk1_fmla_to_csf(blob.slice(blob.l, blob.l + flen), o);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction wk1_parse_rc(B, V, col) {\n\t\tvar rel = V & 0x8000;\n\t\tV &= ~0x8000;\n\t\tV = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V);\n\t\treturn (rel ? \"\" : \"$\") + (col ? encode_col(V) : encode_row(V));\n\t}\n\t/* var oprec = [\n\t\t8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3,\n\t\t3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8\n\t]; */\n\t/* TODO: flesh out */\n\tvar FuncTab = {\n\t\t0x33: [\"FALSE\", 0],\n\t\t0x34: [\"TRUE\", 0],\n\t\t0x46: [\"LEN\", 1],\n\t\t0x50: [\"SUM\", 69],\n\t\t0x51: [\"AVERAGEA\", 69],\n\t\t0x52: [\"COUNTA\", 69],\n\t\t0x53: [\"MINA\", 69],\n\t\t0x54: [\"MAXA\", 69],\n\t\t0x6F: [\"T\", 1]\n\t};\n\tvar BinOpTab = [\n\t\t \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"\", \"+\", \"-\", \"*\", \"/\", \"^\", \"=\", \"<>\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t\"<=\", \">=\", \"<\", \">\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"&\", \"\", \"\", \"\", \"\", \"\", \"\", \"\" // eslint-disable-line no-mixed-spaces-and-tabs\n\t];\n\n\tfunction wk1_fmla_to_csf(blob, o) {\n\t\tprep_blob(blob, 0);\n\t\tvar out = [], argc = 0, R = \"\", C = \"\", argL = \"\", argR = \"\";\n\t\twhile(blob.l < blob.length) {\n\t\t\tvar cc = blob[blob.l++];\n\t\t\tswitch(cc) {\n\t\t\t\tcase 0x00: out.push(blob.read_shift(8, 'f')); break;\n\t\t\t\tcase 0x01: {\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x02: {\n\t\t\t\t\tvar c = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tvar r = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(c + r + \":\" + C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tif(blob.l < blob.length) { console.error(\"WK1 premature formula end\"); return; }\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x04: out.push(\"(\" + out.pop() + \")\"); break;\n\t\t\t\tcase 0x05: out.push(blob.read_shift(2)); break;\n\t\t\t\tcase 0x06: {\n\t\t\t\t\t/* TODO: text encoding */\n\t\t\t\t\tvar Z = \"\"; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc);\n\t\t\t\t\tout.push('\"' + Z.replace(/\"/g, '\"\"') + '\"');\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x08: out.push(\"-\" + out.pop()); break;\n\t\t\t\tcase 0x17: out.push(\"+\" + out.pop()); break;\n\t\t\t\tcase 0x16: out.push(\"NOT(\" + out.pop() + \")\"); break;\n\n\t\t\t\tcase 0x14: case 0x15: {\n\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\tout.push([\"AND\", \"OR\"][cc - 0x14] + \"(\" + argL + \",\" + argR + \")\");\n\t\t\t\t} break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif(cc < 0x20 && BinOpTab[cc]) {\n\t\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\t\tout.push(argL + BinOpTab[cc] + argR);\n\t\t\t\t\t} else if(FuncTab[cc]) {\n\t\t\t\t\t\targc = FuncTab[cc][1];\n\t\t\t\t\t\tif(argc == 69) argc = blob[blob.l++];\n\t\t\t\t\t\tif(argc > out.length) { console.error(\"WK1 bad formula parse 0x\" + cc.toString(16) + \":|\" + out.join(\"|\") + \"|\"); return; }\n\t\t\t\t\t\tvar args = out.slice(-argc);\n\t\t\t\t\t\tout.length -= argc;\n\t\t\t\t\t\tout.push(FuncTab[cc][0] + \"(\" + args.join(\",\") + \")\");\n\t\t\t\t\t}\n\t\t\t\t\telse if(cc <= 0x07) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x18) return console.error(\"WK1 unsupported op \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x1E) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x73) return console.error(\"WK1 unsupported function opcode \" + cc.toString(16));\n\t\t\t\t\t// possible future functions ??\n\t\t\t\t\telse return console.error(\"WK1 unrecognized opcode \" + cc.toString(16));\n\t\t\t}\n\t\t}\n\t\tif(out.length == 1) o[1].f = \"\" + out[0];\n\t\telse console.error(\"WK1 bad formula parse |\" + out.join(\"|\") + \"|\");\n\t}\n\n\n\tfunction parse_cell_3(blob/*::, length*/) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL_16(R, C, wsidx, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(6 + s.length);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\to.write_shift(1, 0x27);\n\t\tfor(var i = 0; i < s.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 0: v = (v >> 3) * 5000; break;\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 3: v = (v >> 3) / 200; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 5: v = (v >> 3) / 20000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) {\n\t\t\tif(v1 === 0 && v2 === 0xC0000000) { o[1].t = \"e\"; o[1].v = 0x0F; } // ERR -> #VALUE!\n\t\t\telse if(v1 === 0 && v2 === 0xD0000000) { o[1].t = \"e\"; o[1].v = 0x2A; } // NA -> #N/A\n\t\t\telse o[1].v = 0;\n\t\t\treturn o;\n\t\t}\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (1 - s*2) * (v2 * Math.pow(2, e+32) + v1 * Math.pow(2, e));\n\t\treturn o;\n\t}\n\tfunction write_NUMBER_17(R, C, wsidx, v) {\n\t\tvar o = new_buf(14);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\tif(v == 0) {\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(2, 0xFFFF);\n\t\t\treturn o;\n\t\t}\n\t\tvar s = 0, e = 0, v1 = 0, v2 = 0;\n\t\tif(v < 0) { s = 1; v = -v; }\n\t\te = Math.log2(v) | 0;\n\t\tv /= Math.pow(2, e-31);\n\t\tv2 = (v)>>>0;\n\t\tif((v2&0x80000000) == 0) { v/=2; ++e; v2 = v >>> 0; }\n\t\tv -= v2;\n\t\tv2 |= 0x80000000;\n\t\tv2 >>>= 0;\n\t\tv *= Math.pow(2, 32);\n\t\tv1 = v>>>0;\n\t\to.write_shift(4, v1);\n\t\to.write_shift(4, v2);\n\t\te += 0x3FFF + (s ? 0x8000 : 0);\n\t\to.write_shift(2, e);\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: WK3 formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETNAMECS(blob, length) {\n\t\treturn blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : \"\";\n\t}\n\n\tfunction parse_SHEETNAMELP(blob, length) {\n\t\tvar len = blob[blob.l++];\n\t\tif(len > length - 1) len = length - 1;\n\t\tvar o = \"\"; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETINFOQP(blob, length, opts) {\n\t\tif(!opts.qpro || length < 21) return;\n\t\tvar id = blob.read_shift(1);\n\t\tblob.l += 17;\n\t\tblob.l += 1; //var len = blob.read_shift(1);\n\t\tblob.l += 2;\n\t\tvar nm = blob.read_shift(length - 21, 'cstr');\n\t\treturn [id, nm];\n\t}\n\n\tfunction parse_XFORMAT(blob, length) {\n\t\tvar o = {}, tgt = blob.l + length;\n\t\twhile(blob.l < tgt) {\n\t\t\tvar dt = blob.read_shift(2);\n\t\t\tif(dt == 0x36b0) {\n\t\t\t\to[dt] = [0, \"\"];\n\t\t\t\to[dt][0] = blob.read_shift(2);\n\t\t\t\twhile(blob[blob.l]) { o[dt][1] += String.fromCharCode(blob[blob.l]); blob.l++; } blob.l++;\n\t\t\t}\n\t\t\t// TODO: 0x3a99 ??\n\t\t}\n\t\treturn o;\n\t}\n\tfunction write_XFORMAT_SHEETNAME(name, wsidx) {\n\t\tvar out = new_buf(5 + name.length);\n\t\tout.write_shift(2, 0x36b0);\n\t\tout.write_shift(2, wsidx);\n\t\tfor(var i = 0; i < name.length; ++i) {\n\t\t\tvar cc = name.charCodeAt(i);\n\t\t\tout[out.l++] = cc > 0x7F ? 0x5F : cc;\n\t\t}\n\t\tout[out.l++] = 0;\n\t\treturn out;\n\t}\n\n\tvar WK1Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\", f:parseuint16 },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"CALCMODE\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCORDER\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"SPLIT\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SYNC\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"RANGE\", f:parse_RANGE },\n\t\t/*::[*/0x0007/*::]*/: { n:\"WINDOW1\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"COLW1\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"WINTWO\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"COLW2\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"NAME\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"BLANK\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"INTEGER\", f:parse_INTEGER },\n\t\t/*::[*/0x000E/*::]*/: { n:\"NUMBER\", f:parse_NUMBER },\n\t\t/*::[*/0x000F/*::]*/: { n:\"LABEL\", f:parse_LABEL },\n\t\t/*::[*/0x0010/*::]*/: { n:\"FORMULA\", f:parse_FORMULA },\n\t\t/*::[*/0x0018/*::]*/: { n:\"TABLE\" },\n\t\t/*::[*/0x0019/*::]*/: { n:\"ORANGE\" },\n\t\t/*::[*/0x001A/*::]*/: { n:\"PRANGE\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"SRANGE\" },\n\t\t/*::[*/0x001C/*::]*/: { n:\"FRANGE\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"KRANGE1\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"HRANGE\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"KRANGE2\" },\n\t\t/*::[*/0x0024/*::]*/: { n:\"PROTEC\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"FOOTER\" },\n\t\t/*::[*/0x0026/*::]*/: { n:\"HEADER\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"SETUP\" },\n\t\t/*::[*/0x0028/*::]*/: { n:\"MARGINS\" },\n\t\t/*::[*/0x0029/*::]*/: { n:\"LABELFMT\" },\n\t\t/*::[*/0x002A/*::]*/: { n:\"TITLES\" },\n\t\t/*::[*/0x002B/*::]*/: { n:\"SHEETJS\" },\n\t\t/*::[*/0x002D/*::]*/: { n:\"GRAPH\" },\n\t\t/*::[*/0x002E/*::]*/: { n:\"NGRAPH\" },\n\t\t/*::[*/0x002F/*::]*/: { n:\"CALCCOUNT\" },\n\t\t/*::[*/0x0030/*::]*/: { n:\"UNFORMATTED\" },\n\t\t/*::[*/0x0031/*::]*/: { n:\"CURSORW12\" },\n\t\t/*::[*/0x0032/*::]*/: { n:\"WINDOW\" },\n\t\t/*::[*/0x0033/*::]*/: { n:\"STRING\", f:parse_LABEL },\n\t\t/*::[*/0x0037/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0038/*::]*/: { n:\"LOCKED\" },\n\t\t/*::[*/0x003C/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x003D/*::]*/: { n:\"QUERYNAME\" },\n\t\t/*::[*/0x003E/*::]*/: { n:\"PRINT\" },\n\t\t/*::[*/0x003F/*::]*/: { n:\"PRINTNAME\" },\n\t\t/*::[*/0x0040/*::]*/: { n:\"GRAPH2\" },\n\t\t/*::[*/0x0041/*::]*/: { n:\"GRAPHNAME\" },\n\t\t/*::[*/0x0042/*::]*/: { n:\"ZOOM\" },\n\t\t/*::[*/0x0043/*::]*/: { n:\"SYMSPLIT\" },\n\t\t/*::[*/0x0044/*::]*/: { n:\"NSROWS\" },\n\t\t/*::[*/0x0045/*::]*/: { n:\"NSCOLS\" },\n\t\t/*::[*/0x0046/*::]*/: { n:\"RULER\" },\n\t\t/*::[*/0x0047/*::]*/: { n:\"NNAME\" },\n\t\t/*::[*/0x0048/*::]*/: { n:\"ACOMM\" },\n\t\t/*::[*/0x0049/*::]*/: { n:\"AMACRO\" },\n\t\t/*::[*/0x004A/*::]*/: { n:\"PARSE\" },\n\t\t/*::[*/0x0066/*::]*/: { n:\"PRANGES??\" },\n\t\t/*::[*/0x0067/*::]*/: { n:\"RRANGES??\" },\n\t\t/*::[*/0x0068/*::]*/: { n:\"FNAME??\" },\n\t\t/*::[*/0x0069/*::]*/: { n:\"MRANGES??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00DE/*::]*/: { n:\"SHEETNAMELP\", f:parse_SHEETNAMELP },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\n\tvar WK3Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\" },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCSET\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"WINDOWSET\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SHEETCELLPTR\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"SHEETLAYOUT\" },\n\t\t/*::[*/0x0007/*::]*/: { n:\"COLUMNWIDTH\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"HIDDENCOLUMN\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"USERRANGE\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"SYSTEMRANGE\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"ZEROFORCE\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"SORTKEYDIR\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"FILESEAL\" },\n\t\t/*::[*/0x000E/*::]*/: { n:\"DATAFILLNUMS\" },\n\t\t/*::[*/0x000F/*::]*/: { n:\"PRINTMAIN\" },\n\t\t/*::[*/0x0010/*::]*/: { n:\"PRINTSTRING\" },\n\t\t/*::[*/0x0011/*::]*/: { n:\"GRAPHMAIN\" },\n\t\t/*::[*/0x0012/*::]*/: { n:\"GRAPHSTRING\" },\n\t\t/*::[*/0x0013/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0014/*::]*/: { n:\"ERRCELL\" },\n\t\t/*::[*/0x0015/*::]*/: { n:\"NACELL\" },\n\t\t/*::[*/0x0016/*::]*/: { n:\"LABEL16\", f:parse_LABEL_16},\n\t\t/*::[*/0x0017/*::]*/: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n\t\t/*::[*/0x0018/*::]*/: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n\t\t/*::[*/0x0019/*::]*/: { n:\"FORMULA19\", f:parse_FORMULA_19},\n\t\t/*::[*/0x001A/*::]*/: { n:\"FORMULA1A\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"XFORMAT\", f:parse_XFORMAT },\n\t\t/*::[*/0x001C/*::]*/: { n:\"DTLABELMISC\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"DTLABELCELL\" },\n\t\t/*::[*/0x001E/*::]*/: { n:\"GRAPHWINDOW\" },\n\t\t/*::[*/0x001F/*::]*/: { n:\"CPA\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"LPLAUTO\" },\n\t\t/*::[*/0x0021/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x0022/*::]*/: { n:\"HIDDENSHEET\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n\t\t/*::[*/0x0026/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n\t\t/*::[*/0x0028/*::]*/: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n\t\t/*::[*/0x008E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0093/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0096/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0097/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0098/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0099/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00A3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B1/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B8/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BA/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BB/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BC/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00CD/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00D0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0100/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0103/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0104/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0105/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0106/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0107/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0109/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010F/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0180/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0185/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0186/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0189/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x018C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0200/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0202/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0201/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0204/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0205/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0280/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0281/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0282/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0283/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0284/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0285/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0286/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0287/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0288/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0292/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0293/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0294/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0295/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0296/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0299/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x029A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0300/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0304/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0601/*::]*/: { n:\"SHEETINFOQP\", f:parse_SHEETINFOQP },\n\t\t/*::[*/0x0640/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0642/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0701/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0702/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0703/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0704/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0780/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0800/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0801/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0804/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0A80/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x2AF6/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x3231/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6E49/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6F44/*::]*/: { n:\"??\" },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\treturn {\n\t\tsheet_to_wk1: sheet_to_wk1,\n\t\tbook_to_wk3: book_to_wk3,\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.18 family ST_FontFamily */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = /*#__PURE__*/(function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o/*:Cell*/ = ({t:'s', v:unescapexml(t[1])}/*:any*/);\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = /*#__PURE__*/(function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style/*:Array*/ = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms/*:[Array, string, Array]*/ = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data/*:string*/, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst/*:SST*/, opts)/*:string*/ {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS_main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s/*:XLString*/ = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* BrtBeginSst */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* BrtSSTItem */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* BrtEndSst */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst/*::, opts*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x009F /* BrtBeginSst */, write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, 0x00A0 /* BrtEndSst */);\n\treturn ba.end();\n}\nfunction _JS2ANSI(str/*:string*/)/*:Array*/ {\n\tif(typeof $cptable !== 'undefined') return $cptable.utils.encode(current_ansi, str);\n\tvar o/*:Array*/ = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length/*:?number*/) {\n\tvar o/*:any*/ = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\n\t/*:: if(length == null) return o; */\n\tif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps/*:Array<{t:number, v:string}>*/ = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob)/*:Array*/ {\n\tvar o/*:Array*/ = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length/*:number*/) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length/*:number*/) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob/*::, vers*/) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt(/*::blob, vers*/) { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob/*::, vers*/) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob/*::, length*/) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password/*:string*/) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = /*#__PURE__*/(function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password/*:string*/) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password/*:string*/) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/);\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length/*:number*/, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length/*:number*/, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }/*:any*/); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = /*#__PURE__*/(function() {\n\tfunction rtf_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\t/* TODO: this is a stub */\n\tfunction rtf_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\n\t\tvar rows = str.match(/\\\\trowd.*?\\\\row\\b/g);\n\t\tif(!rows.length) throw new Error(\"RTF missing table\");\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:rows.length - 1}}/*:any*/);\n\t\trows.forEach(function(rowtf, R) {\n\t\t\tif(Array.isArray(ws)) ws[R] = [];\n\t\t\tvar rtfre = /\\\\\\w+\\b/g;\n\t\t\tvar last_index = 0;\n\t\t\tvar res;\n\t\t\tvar C = -1;\n\t\t\twhile((res = rtfre.exec(rowtf))) {\n\t\t\t\tswitch(res[0]) {\n\t\t\t\t\tcase \"\\\\cell\":\n\t\t\t\t\t\tvar data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length);\n\t\t\t\t\t\tif(data[0] == \" \") data = data.slice(1);\n\t\t\t\t\t\t++C;\n\t\t\t\t\t\tif(data.length) {\n\t\t\t\t\t\t\t// TODO: value parsing, including codepage adjustments\n\t\t\t\t\t\t\tvar cell = {v: data, t:\"s\"};\n\t\t\t\t\t\t\tif(Array.isArray(ws)) ws[R][C] = cell;\n\t\t\t\t\t\t\telse ws[encode_cell({r:R, c:C})] = cell;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tlast_index = rtfre.lastIndex;\n\t\t\t}\n\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t});\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws/*:Worksheet*//*::, opts*/)/*:string*/ {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll/*:ColInfo*/) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = /*::(*/{}/*:: :any)*/;\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(table_fmt)/*:any*/);\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = table_fmt[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF_load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF/*:{[n:number|string]:string}*//*::, opts*/) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(styles.NumberFmt && xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= /*#__PURE__*/(function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nfunction write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('styleSheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:vt': XMLNS.vt\n\t})], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length/*:number*/) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i/*:number*/, f/*:string*/, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length/*:number*/, opts) {\n\tvar out = ({}/*:any*/);\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font/*:any*/, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames/*:EvertNumType*/;\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tif(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/);\n\tvar fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length/*:number*/) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]/*:any*/);\n\tfor(var y in table_fmt) styles.NumberFmt[y] = table_fmt[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* BrtFmt */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF_load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* BrtFont */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* BrtKnownFonts */ break;\n\t\t\tcase 0x002D: /* BrtFill */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* BrtBorder */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* BrtXF */\n\t\t\t\tif(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* BrtStyle */\n\t\t\tcase 0x01FB: /* BrtDXF */\n\t\t\tcase 0x023C: /* BrtMRUColor */\n\t\t\tcase 0x01DB: /* BrtIndexedColor */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* BrtDXF14 */\n\t\t\tcase 0x0836: /* BrtDXF15 */\n\t\t\tcase 0x046A: /* BrtSlicerStyleElement */\n\t\t\tcase 0x0200: /* BrtTableStyleElement */\n\t\t\tcase 0x082F: /* BrtTimelineStyleElement */\n\t\t\tcase 0x0C00: /* BrtUid */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* BrtACBegin */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* BrtACEnd */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF/*:?SSFTable*/) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0267 /* BrtBeginFmts */, write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, 0x002C /* BrtFmt */, write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, 0x0268 /* BrtEndFmts */);\n}\n\nfunction write_FONTS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0263 /* BrtBeginFonts */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002B /* BrtFont */, write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, 0x0264 /* BrtEndFonts */);\n}\n\nfunction write_FILLS_bin(ba/*::, data*/) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x025B /* BrtBeginFills */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, 0x025C /* BrtEndFills */);\n}\n\nfunction write_BORDERS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0265 /* BrtBeginBorders */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002E /* BrtBorder */, write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, 0x0266 /* BrtEndBorders */);\n}\n\nfunction write_CELLSTYLEXFS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\twrite_record(ba, 0x0272 /* BrtBeginCellStyleXFs */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002F /* BrtXF */, write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x0273 /* BrtEndCellStyleXFs */);\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, 0x002F /* BrtXF */, write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x026A /* BrtEndCellXFs */);\n}\n\nfunction write_STYLES_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\twrite_record(ba, 0x026B /* BrtBeginStyles */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x0030 /* BrtStyle */, write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, 0x026C /* BrtEndStyles */);\n}\n\nfunction write_DXFS_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01F9 /* BrtBeginDXFs */, write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, 0x01FA /* BrtEndDXFs */);\n}\n\nfunction write_TABLESTYLES_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01FC /* BrtBeginTableStyles */, write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, 0x01FD /* BrtEndTableStyles */);\n}\n\nfunction write_COLORPALETTE_bin(/*::ba, data*/) {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0116 /* BrtBeginStyleSheet */);\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, 0x0117 /* BrtEndStyleSheet */);\n\treturn ba.end();\n}\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme(/*::t, themes, opts*/) { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme(/*::t, themes, opts*/) { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data/*:string*/, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) data = write_theme();\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts)/*:string*/ {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = zip_read(data, {type: \"array\"}); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob/*::, length*/) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob/*::, length*/) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob/*::, length*/)/*:Array*/ {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext/*:AOA*/ = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\nfunction parse_BrtMdtinfo(data, length) {\n return {\n flags: data.read_shift(4),\n version: data.read_shift(4),\n name: parse_XLWideString(data, length - 8)\n };\n}\nfunction write_BrtMdtinfo(data) {\n var o = new_buf(12 + 2 * data.name.length);\n o.write_shift(4, data.flags);\n o.write_shift(4, data.version);\n write_XLWideString(data.name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtMdb(data) {\n var out = [];\n var cnt = data.read_shift(4);\n while (cnt-- > 0)\n out.push([data.read_shift(4), data.read_shift(4)]);\n return out;\n}\nfunction write_BrtMdb(mdb) {\n var o = new_buf(4 + 8 * mdb.length);\n o.write_shift(4, mdb.length);\n for (var i = 0; i < mdb.length; ++i) {\n o.write_shift(4, mdb[i][0]);\n o.write_shift(4, mdb[i][1]);\n }\n return o;\n}\nfunction write_BrtBeginEsfmd(cnt, name) {\n var o = new_buf(8 + 2 * name.length);\n o.write_shift(4, cnt);\n write_XLWideString(name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtBeginEsmdb(data) {\n data.l += 4;\n return data.read_shift(4) != 0;\n}\nfunction write_BrtBeginEsmdb(cnt, cm) {\n var o = new_buf(8);\n o.write_shift(4, cnt);\n o.write_shift(4, cm ? 1 : 0);\n return o;\n}\nfunction parse_xlmeta_bin(data, name, _opts) {\n var out = { Types: [], Cell: [], Value: [] };\n var opts = _opts || {};\n var state = [];\n var pass = false;\n var metatype = 2;\n recordhopper(data, function(val, R, RT) {\n switch (RT) {\n case 335:\n out.Types.push({ name: val.name });\n break;\n case 51:\n val.forEach(function(r) {\n if (metatype == 1)\n out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n else if (metatype == 0)\n out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n });\n break;\n case 337:\n metatype = val ? 1 : 0;\n break;\n case 338:\n metatype = 2;\n break;\n case 35:\n state.push(RT);\n pass = true;\n break;\n case 36:\n state.pop();\n pass = false;\n break;\n default:\n if (R.T) {\n } else if (!pass || opts.WTF && state[state.length - 1] != 35)\n throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n }\n });\n return out;\n}\nfunction write_xlmeta_bin() {\n var ba = buf_array();\n write_record(ba, 332);\n write_record(ba, 334, write_UInt32LE(1));\n write_record(ba, 335, write_BrtMdtinfo({\n name: \"XLDAPR\",\n version: 12e4,\n flags: 3496657072\n }));\n write_record(ba, 336);\n write_record(ba, 339, write_BrtBeginEsfmd(1, \"XLDAPR\"));\n write_record(ba, 52);\n write_record(ba, 35, write_UInt32LE(514));\n write_record(ba, 4096, write_UInt32LE(0));\n write_record(ba, 4097, writeuint16(1));\n write_record(ba, 36);\n write_record(ba, 53);\n write_record(ba, 340);\n write_record(ba, 337, write_BrtBeginEsmdb(1, true));\n write_record(ba, 51, write_BrtMdb([[1, 0]]));\n write_record(ba, 338);\n write_record(ba, 333);\n return ba.end();\n}\nfunction parse_xlmeta_xml(data, name, opts) {\n var out = { Types: [], Cell: [], Value: [] };\n if (!data)\n return out;\n var pass = false;\n var metatype = 2;\n var lastmeta;\n data.replace(tagregex, function(x) {\n var y = parsexmltag(x);\n switch (strip_ns(y[0])) {\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n case \"\":\n case \"\":\n break;\n case \"\":\n pass = false;\n break;\n case \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n');\n return o.join(\"\");\n}\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data/*::, name, opts*/)/*:Array*/ {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ']*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId/*:number*/, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = /*::(*/{'color2':\"#BEFF82\", 'type':\"gradient\"}/*:: :any)*/;\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"}/*:any*/);\n\t++_shapeid;\n\n\to = o.concat([\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\nfunction sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell/*:Cell*/;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"}/*:any*/);\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded});\n\t\tif(comment.h) o.h = comment.h;\n\n\t\t/* threaded comments always override */\n\t\tfor(var i = cell.c.length - 1; i >= 0; --i) {\n\t\t\tif(!threaded && cell.c[i].T) return;\n\t\t\tif(threaded && !cell.c[i].T) cell.c.splice(i, 1);\n\t\t}\n\t\tif(threaded && people) for(i = 0; i < people.length; ++i) {\n\t\t\tif(o.a == people[i].id) { o.a = people[i].name || o.a; break; }\n\t\t}\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data/*:string*/, opts)/*:Array*/ {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors/*:Array*/ = [];\n\tvar commentList/*:Array*/ = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment/*:RawComment*/ = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid }/*:any*/);\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = (rt.t||\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nfunction write_comments_xml(data/*::, opts*/) {\n\tvar o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })];\n\n\tvar iauthor/*:Array*/ = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) == -1) {\n\t\t\tiauthor.push(a);\n\t\t\to.push(\"\" + a + \"\");\n\t\t}\n\t\tif(w.T && w.ID && iauthor.indexOf(\"tc=\" + w.ID) == -1) {\n\t\t\tiauthor.push(\"tc=\" + w.ID);\n\t\t\to.push(\"\" + \"tc=\" + w.ID + \"\");\n\t\t}\n\t}); });\n\tif(iauthor.length == 0) { iauthor.push(\"SheetJ5\"); o.push(\"SheetJ5\"); }\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\t/* 18.7.3 CT_Comment */\n\t\tvar lastauthor = 0, ts = [];\n\t\tif(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf(\"tc=\" + d[1][0].ID);\n\t\telse d[1].forEach(function(c) {\n\t\t\tif(c.a) lastauthor = iauthor.indexOf(escapexml(c.a));\n\t\t\tts.push(c.t||\"\");\n\t\t});\n\t\to.push('');\n\t\tif(ts.length <= 1) o.push(writetag(\"t\", escapexml(ts[0]||\"\")));\n\t\telse {\n\t\t\t/* based on Threaded Comments -> Comments projection */\n\t\t\tvar t = \"Comment:\\n \" + (ts[0]) + \"\\n\";\n\t\t\tfor(var i = 1; i < ts.length; ++i) t += \"Reply:\\n \" + ts[i] + \"\\n\";\n\t\t\to.push(writetag(\"t\", escapexml(t)));\n\t\t}\n\t\to.push('');\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.17 */\nfunction parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ {\n\tvar out = [];\n\tvar pass = false, comment = {}, tidx = 0;\n\tdata.replace(tagregex, function xml_tcmnt(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.205 threadedComment CT_ThreadedComment */\n\t\t\tcase '': if(comment.t != null) out.push(comment); break;\n\n\t\t\tcase '': case '': comment.t = data.slice(tidx, idx).replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\"); break;\n\n\t\t\t/* 2.6.206 mentions CT_ThreadedCommentMentions TODO */\n\t\t\tcase '': pass = true; break;\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 2.6.202 mention CT_Mention TODO */\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '
': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\n\nfunction write_tcmnt_xml(comments, people, opts) {\n\tvar o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\\/]>/, \">\")];\n\tcomments.forEach(function(carr) {\n\t\tvar rootid = \"\";\n\t\t(carr[1] || []).forEach(function(c, idx) {\n\t\t\tif(!c.T) { delete c.ID; return; }\n\t\t\tif(c.a && people.indexOf(c.a) == -1) people.push(c.a);\n\t\t\tvar tcopts = {\n\t\t\t\tref: carr[0],\n\t\t\t\tid: \"{54EE7951-7262-4200-6969-\" + (\"000000000000\" + opts.tcid++).slice(-12) + \"}\"\n\t\t\t};\n\t\t\tif(idx == 0) rootid = tcopts.id;\n\t\t\telse tcopts.parentId = rootid;\n\t\t\tc.ID = tcopts.id;\n\t\t\tif(c.a) tcopts.personId = \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + people.indexOf(c.a)).slice(-12) + \"}\";\n\t\t\to.push(writextag('threadedComment', writetag('text', c.t||\"\"), tcopts));\n\t\t});\n\t});\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.18 */\nfunction parse_people_xml(data/*:string*/, opts) {\n\tvar out = [];\n\tvar pass = false;\n\tdata.replace(tagregex, function xml_tcmnt(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.203 person CT_Person TODO: providers */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\nfunction write_people_xml(people/*, opts*/) {\n\tvar o = [XML_HEADER, writextag('personList', null, {\n\t\t'xmlns': XMLNS.TCMNT,\n\t\t'xmlns:x': XMLNS_main[0]\n\t}).replace(/[\\/]>/, \">\")];\n\tpeople.forEach(function(person, idx) {\n\t\to.push(writextag('person', null, {\n\t\t\tdisplayName: person,\n\t\t\tid: \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + idx).slice(-12) + \"}\",\n\t\t\tuserId: person,\n\t\t\tproviderId: \"None\"\n\t\t}));\n\t});\n\to.push(\"\");\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]/*:any*/), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts)/*:Array*/ {\n\tvar out/*:Array*/ = [];\n\tvar authors/*:Array*/ = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c/*:any*/).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data/*::, opts*/) {\n\tvar ba = buf_array();\n\tvar iauthor/*:Array*/ = [];\n\twrite_record(ba, 0x0274 /* BrtBeginComments */);\n\n\twrite_record(ba, 0x0276 /* BrtBeginCommentAuthors */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, 0x0277 /* BrtEndCommentAuthors */);\n\n\twrite_record(ba, 0x0279 /* BrtBeginCommentList */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c));\n\t\t\twrite_record(ba, 0x027C /* BrtEndComment */);\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, 0x027A /* BrtEndCommentList */);\n\n\twrite_record(ba, 0x0275 /* BrtEndComments */);\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n var newcfb = CFB.utils.cfb_new({ root: \"R\" });\n cfb.FullPaths.forEach(function(p, i) {\n if (p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/))\n return;\n var newpath = p.replace(/^[^\\/]*/, \"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n CFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n });\n return CFB.write(newcfb);\n}\nfunction fill_vba_xls(cfb, vba) {\n vba.FullPaths.forEach(function(p, i) {\n if (i == 0)\n return;\n var newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n if (newpath.slice(-1) !== \"/\")\n CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n });\n}\nvar VBAFMTS = [\"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\"];\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ms_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\nfunction parse_ms_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = /*#__PURE__*/(function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase/*:Cell*/ = ({r:0,c:0}/*:any*/);\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr/*:string*/, base/*:Cell*/)/*:string*/ {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc = /*#__PURE__*/(function(){\n\treturn function a1_to_rc(fstr/*:string*/, base/*:CellAddress*/) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f/*:string*/)/*:boolean*/ {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f/*:string*/)/*:string*/ {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob/*::, length, opts*/) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob/*::, length, opts*/) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob/*::, length, opts*/) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts)/*:Array*/ {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o/*:Array*/ = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob/*::, length*/) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff/*:number*/) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o/*:Array>*/ = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob/*::, length, opts*/) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob/*::, length, opts*/) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n\t/*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp },\n\t/*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl },\n\t/*::[*/0x03/*::]*/: { n:'PtgAdd', f:parseread1 },\n\t/*::[*/0x04/*::]*/: { n:'PtgSub', f:parseread1 },\n\t/*::[*/0x05/*::]*/: { n:'PtgMul', f:parseread1 },\n\t/*::[*/0x06/*::]*/: { n:'PtgDiv', f:parseread1 },\n\t/*::[*/0x07/*::]*/: { n:'PtgPower', f:parseread1 },\n\t/*::[*/0x08/*::]*/: { n:'PtgConcat', f:parseread1 },\n\t/*::[*/0x09/*::]*/: { n:'PtgLt', f:parseread1 },\n\t/*::[*/0x0A/*::]*/: { n:'PtgLe', f:parseread1 },\n\t/*::[*/0x0B/*::]*/: { n:'PtgEq', f:parseread1 },\n\t/*::[*/0x0C/*::]*/: { n:'PtgGe', f:parseread1 },\n\t/*::[*/0x0D/*::]*/: { n:'PtgGt', f:parseread1 },\n\t/*::[*/0x0E/*::]*/: { n:'PtgNe', f:parseread1 },\n\t/*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parseread1 },\n\t/*::[*/0x10/*::]*/: { n:'PtgUnion', f:parseread1 },\n\t/*::[*/0x11/*::]*/: { n:'PtgRange', f:parseread1 },\n\t/*::[*/0x12/*::]*/: { n:'PtgUplus', f:parseread1 },\n\t/*::[*/0x13/*::]*/: { n:'PtgUminus', f:parseread1 },\n\t/*::[*/0x14/*::]*/: { n:'PtgPercent', f:parseread1 },\n\t/*::[*/0x15/*::]*/: { n:'PtgParen', f:parseread1 },\n\t/*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parseread1 },\n\t/*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr },\n\t/*::[*/0x1A/*::]*/: { n:'PtgSheet', f:parse_PtgSheet },\n\t/*::[*/0x1B/*::]*/: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n\t/*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr },\n\t/*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool },\n\t/*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt },\n\t/*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum },\n\t/*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray },\n\t/*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc },\n\t/*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n\t/*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName },\n\t/*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef },\n\t/*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea },\n\t/*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea },\n\t/*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr },\n\t/*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n\t/*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n\t/*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr },\n\t/*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n\t/*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN },\n\t/*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN },\n\t/*::[*/0x2E/*::]*/: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n\t/*::[*/0x2F/*::]*/: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n\t/*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX },\n\t/*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d },\n\t/*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d },\n\t/*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n\t/*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n\t/*::[*/0xFF/*::]*/: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n\t/*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20,\n\t/*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21,\n\t/*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22,\n\t/*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23,\n\t/*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24,\n\t/*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25,\n\t/*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26,\n\t/*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27,\n\t/*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28,\n\t/*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29,\n\t/*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A,\n\t/*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B,\n\t/*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C,\n\t/*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D,\n\t/*::[*/0x4E/*::]*/: 0x2E, /*::[*/0x6E/*::]*/: 0x2E,\n\t/*::[*/0x4F/*::]*/: 0x2F, /*::[*/0x6F/*::]*/: 0x2F,\n\t/*::[*/0x58/*::]*/: 0x22, /*::[*/0x78/*::]*/: 0x22,\n\t/*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39,\n\t/*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A,\n\t/*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B,\n\t/*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C,\n\t/*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D\n};\n\nvar Ptg18 = {\n\t/*::[*/0x01/*::]*/: { n:'PtgElfLel', f:parse_PtgElfLel },\n\t/*::[*/0x02/*::]*/: { n:'PtgElfRw', f:parse_PtgElfRw },\n\t/*::[*/0x03/*::]*/: { n:'PtgElfCol', f:parse_PtgElfCol },\n\t/*::[*/0x06/*::]*/: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n\t/*::[*/0x07/*::]*/: { n:'PtgElfColV', f:parse_PtgElfColV },\n\t/*::[*/0x0A/*::]*/: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n\t/*::[*/0x0B/*::]*/: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n\t/*::[*/0x0D/*::]*/: { n:'PtgElfColS', f:parse_PtgElfColS },\n\t/*::[*/0x0F/*::]*/: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n\t/*::[*/0x10/*::]*/: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n\t/*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList },\n\t/*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName },\n\t/*::[*/0xFF/*::]*/: {}\n};\nvar Ptg19 = {\n\t/*::[*/0x00/*::]*/: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n\t/*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n\t/*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n\t/*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n\t/*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n\t/*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n\t/*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x21/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n\t/*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n\t/*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n\t/*::[*/0xFF/*::]*/: {}\n};\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id] || PtgTypes[PtgDupes[id]];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f/*:Array>*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r/*:Array*/ = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\n\t\t\t\t\t/*:: if(typeof y[1] != 'string') throw \"unreachable\"; */\n\t\t\t\t\tr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// List of invalid characters needs to be tested further\nfunction formula_quote_sheet_name(sname/*:string*/, opts)/*:string*/ {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/.test(sname)) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tvar ixtiraw = get_ixti_raw(supbooks, ixti, opts);\n\treturn ixtiraw == \"#REF\" ? ixtiraw : formula_quote_sheet_name(ixtiraw, opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, opts)/*:string*/ {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack/*:Array*/ = [], e1, e2, /*::type,*/ c/*:CellAddress*/, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\n\t\t\t\t/*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\n\t\t\t\t/*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]/*:any*/);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\t/* [MS-XLSB] 2.5.97.10 Ftab -- last verified 20220204 */\n\t\t\t\tif(name && name.slice(0,6) == \"_xlfn.\" && !opts.xlfn) name = name.slice(6);\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = (get_ixti_raw(supbooks, bookidx, opts)||\"\").split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r}/*:any*/);\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t} else {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(/*::String(*/f[1]/*::)*/);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(/*::(*/f[1]/*:: :any)*/) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts/*::, ref*/) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob/*::, length*/) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, os/*:number*/) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\nvar Cetab = {\n 0: \"BEEP\",\n 1: \"OPEN\",\n 2: \"OPEN.LINKS\",\n 3: \"CLOSE.ALL\",\n 4: \"SAVE\",\n 5: \"SAVE.AS\",\n 6: \"FILE.DELETE\",\n 7: \"PAGE.SETUP\",\n 8: \"PRINT\",\n 9: \"PRINTER.SETUP\",\n 10: \"QUIT\",\n 11: \"NEW.WINDOW\",\n 12: \"ARRANGE.ALL\",\n 13: \"WINDOW.SIZE\",\n 14: \"WINDOW.MOVE\",\n 15: \"FULL\",\n 16: \"CLOSE\",\n 17: \"RUN\",\n 22: \"SET.PRINT.AREA\",\n 23: \"SET.PRINT.TITLES\",\n 24: \"SET.PAGE.BREAK\",\n 25: \"REMOVE.PAGE.BREAK\",\n 26: \"FONT\",\n 27: \"DISPLAY\",\n 28: \"PROTECT.DOCUMENT\",\n 29: \"PRECISION\",\n 30: \"A1.R1C1\",\n 31: \"CALCULATE.NOW\",\n 32: \"CALCULATION\",\n 34: \"DATA.FIND\",\n 35: \"EXTRACT\",\n 36: \"DATA.DELETE\",\n 37: \"SET.DATABASE\",\n 38: \"SET.CRITERIA\",\n 39: \"SORT\",\n 40: \"DATA.SERIES\",\n 41: \"TABLE\",\n 42: \"FORMAT.NUMBER\",\n 43: \"ALIGNMENT\",\n 44: \"STYLE\",\n 45: \"BORDER\",\n 46: \"CELL.PROTECTION\",\n 47: \"COLUMN.WIDTH\",\n 48: \"UNDO\",\n 49: \"CUT\",\n 50: \"COPY\",\n 51: \"PASTE\",\n 52: \"CLEAR\",\n 53: \"PASTE.SPECIAL\",\n 54: \"EDIT.DELETE\",\n 55: \"INSERT\",\n 56: \"FILL.RIGHT\",\n 57: \"FILL.DOWN\",\n 61: \"DEFINE.NAME\",\n 62: \"CREATE.NAMES\",\n 63: \"FORMULA.GOTO\",\n 64: \"FORMULA.FIND\",\n 65: \"SELECT.LAST.CELL\",\n 66: \"SHOW.ACTIVE.CELL\",\n 67: \"GALLERY.AREA\",\n 68: \"GALLERY.BAR\",\n 69: \"GALLERY.COLUMN\",\n 70: \"GALLERY.LINE\",\n 71: \"GALLERY.PIE\",\n 72: \"GALLERY.SCATTER\",\n 73: \"COMBINATION\",\n 74: \"PREFERRED\",\n 75: \"ADD.OVERLAY\",\n 76: \"GRIDLINES\",\n 77: \"SET.PREFERRED\",\n 78: \"AXES\",\n 79: \"LEGEND\",\n 80: \"ATTACH.TEXT\",\n 81: \"ADD.ARROW\",\n 82: \"SELECT.CHART\",\n 83: \"SELECT.PLOT.AREA\",\n 84: \"PATTERNS\",\n 85: \"MAIN.CHART\",\n 86: \"OVERLAY\",\n 87: \"SCALE\",\n 88: \"FORMAT.LEGEND\",\n 89: \"FORMAT.TEXT\",\n 90: \"EDIT.REPEAT\",\n 91: \"PARSE\",\n 92: \"JUSTIFY\",\n 93: \"HIDE\",\n 94: \"UNHIDE\",\n 95: \"WORKSPACE\",\n 96: \"FORMULA\",\n 97: \"FORMULA.FILL\",\n 98: \"FORMULA.ARRAY\",\n 99: \"DATA.FIND.NEXT\",\n 100: \"DATA.FIND.PREV\",\n 101: \"FORMULA.FIND.NEXT\",\n 102: \"FORMULA.FIND.PREV\",\n 103: \"ACTIVATE\",\n 104: \"ACTIVATE.NEXT\",\n 105: \"ACTIVATE.PREV\",\n 106: \"UNLOCKED.NEXT\",\n 107: \"UNLOCKED.PREV\",\n 108: \"COPY.PICTURE\",\n 109: \"SELECT\",\n 110: \"DELETE.NAME\",\n 111: \"DELETE.FORMAT\",\n 112: \"VLINE\",\n 113: \"HLINE\",\n 114: \"VPAGE\",\n 115: \"HPAGE\",\n 116: \"VSCROLL\",\n 117: \"HSCROLL\",\n 118: \"ALERT\",\n 119: \"NEW\",\n 120: \"CANCEL.COPY\",\n 121: \"SHOW.CLIPBOARD\",\n 122: \"MESSAGE\",\n 124: \"PASTE.LINK\",\n 125: \"APP.ACTIVATE\",\n 126: \"DELETE.ARROW\",\n 127: \"ROW.HEIGHT\",\n 128: \"FORMAT.MOVE\",\n 129: \"FORMAT.SIZE\",\n 130: \"FORMULA.REPLACE\",\n 131: \"SEND.KEYS\",\n 132: \"SELECT.SPECIAL\",\n 133: \"APPLY.NAMES\",\n 134: \"REPLACE.FONT\",\n 135: \"FREEZE.PANES\",\n 136: \"SHOW.INFO\",\n 137: \"SPLIT\",\n 138: \"ON.WINDOW\",\n 139: \"ON.DATA\",\n 140: \"DISABLE.INPUT\",\n 142: \"OUTLINE\",\n 143: \"LIST.NAMES\",\n 144: \"FILE.CLOSE\",\n 145: \"SAVE.WORKBOOK\",\n 146: \"DATA.FORM\",\n 147: \"COPY.CHART\",\n 148: \"ON.TIME\",\n 149: \"WAIT\",\n 150: \"FORMAT.FONT\",\n 151: \"FILL.UP\",\n 152: \"FILL.LEFT\",\n 153: \"DELETE.OVERLAY\",\n 155: \"SHORT.MENUS\",\n 159: \"SET.UPDATE.STATUS\",\n 161: \"COLOR.PALETTE\",\n 162: \"DELETE.STYLE\",\n 163: \"WINDOW.RESTORE\",\n 164: \"WINDOW.MAXIMIZE\",\n 166: \"CHANGE.LINK\",\n 167: \"CALCULATE.DOCUMENT\",\n 168: \"ON.KEY\",\n 169: \"APP.RESTORE\",\n 170: \"APP.MOVE\",\n 171: \"APP.SIZE\",\n 172: \"APP.MINIMIZE\",\n 173: \"APP.MAXIMIZE\",\n 174: \"BRING.TO.FRONT\",\n 175: \"SEND.TO.BACK\",\n 185: \"MAIN.CHART.TYPE\",\n 186: \"OVERLAY.CHART.TYPE\",\n 187: \"SELECT.END\",\n 188: \"OPEN.MAIL\",\n 189: \"SEND.MAIL\",\n 190: \"STANDARD.FONT\",\n 191: \"CONSOLIDATE\",\n 192: \"SORT.SPECIAL\",\n 193: \"GALLERY.3D.AREA\",\n 194: \"GALLERY.3D.COLUMN\",\n 195: \"GALLERY.3D.LINE\",\n 196: \"GALLERY.3D.PIE\",\n 197: \"VIEW.3D\",\n 198: \"GOAL.SEEK\",\n 199: \"WORKGROUP\",\n 200: \"FILL.GROUP\",\n 201: \"UPDATE.LINK\",\n 202: \"PROMOTE\",\n 203: \"DEMOTE\",\n 204: \"SHOW.DETAIL\",\n 206: \"UNGROUP\",\n 207: \"OBJECT.PROPERTIES\",\n 208: \"SAVE.NEW.OBJECT\",\n 209: \"SHARE\",\n 210: \"SHARE.NAME\",\n 211: \"DUPLICATE\",\n 212: \"APPLY.STYLE\",\n 213: \"ASSIGN.TO.OBJECT\",\n 214: \"OBJECT.PROTECTION\",\n 215: \"HIDE.OBJECT\",\n 216: \"SET.EXTRACT\",\n 217: \"CREATE.PUBLISHER\",\n 218: \"SUBSCRIBE.TO\",\n 219: \"ATTRIBUTES\",\n 220: \"SHOW.TOOLBAR\",\n 222: \"PRINT.PREVIEW\",\n 223: \"EDIT.COLOR\",\n 224: \"SHOW.LEVELS\",\n 225: \"FORMAT.MAIN\",\n 226: \"FORMAT.OVERLAY\",\n 227: \"ON.RECALC\",\n 228: \"EDIT.SERIES\",\n 229: \"DEFINE.STYLE\",\n 240: \"LINE.PRINT\",\n 243: \"ENTER.DATA\",\n 249: \"GALLERY.RADAR\",\n 250: \"MERGE.STYLES\",\n 251: \"EDITION.OPTIONS\",\n 252: \"PASTE.PICTURE\",\n 253: \"PASTE.PICTURE.LINK\",\n 254: \"SPELLING\",\n 256: \"ZOOM\",\n 259: \"INSERT.OBJECT\",\n 260: \"WINDOW.MINIMIZE\",\n 265: \"SOUND.NOTE\",\n 266: \"SOUND.PLAY\",\n 267: \"FORMAT.SHAPE\",\n 268: \"EXTEND.POLYGON\",\n 269: \"FORMAT.AUTO\",\n 272: \"GALLERY.3D.BAR\",\n 273: \"GALLERY.3D.SURFACE\",\n 274: \"FILL.AUTO\",\n 276: \"CUSTOMIZE.TOOLBAR\",\n 277: \"ADD.TOOL\",\n 278: \"EDIT.OBJECT\",\n 279: \"ON.DOUBLECLICK\",\n 280: \"ON.ENTRY\",\n 281: \"WORKBOOK.ADD\",\n 282: \"WORKBOOK.MOVE\",\n 283: \"WORKBOOK.COPY\",\n 284: \"WORKBOOK.OPTIONS\",\n 285: \"SAVE.WORKSPACE\",\n 288: \"CHART.WIZARD\",\n 289: \"DELETE.TOOL\",\n 290: \"MOVE.TOOL\",\n 291: \"WORKBOOK.SELECT\",\n 292: \"WORKBOOK.ACTIVATE\",\n 293: \"ASSIGN.TO.TOOL\",\n 295: \"COPY.TOOL\",\n 296: \"RESET.TOOL\",\n 297: \"CONSTRAIN.NUMERIC\",\n 298: \"PASTE.TOOL\",\n 302: \"WORKBOOK.NEW\",\n 305: \"SCENARIO.CELLS\",\n 306: \"SCENARIO.DELETE\",\n 307: \"SCENARIO.ADD\",\n 308: \"SCENARIO.EDIT\",\n 309: \"SCENARIO.SHOW\",\n 310: \"SCENARIO.SHOW.NEXT\",\n 311: \"SCENARIO.SUMMARY\",\n 312: \"PIVOT.TABLE.WIZARD\",\n 313: \"PIVOT.FIELD.PROPERTIES\",\n 314: \"PIVOT.FIELD\",\n 315: \"PIVOT.ITEM\",\n 316: \"PIVOT.ADD.FIELDS\",\n 318: \"OPTIONS.CALCULATION\",\n 319: \"OPTIONS.EDIT\",\n 320: \"OPTIONS.VIEW\",\n 321: \"ADDIN.MANAGER\",\n 322: \"MENU.EDITOR\",\n 323: \"ATTACH.TOOLBARS\",\n 324: \"VBAActivate\",\n 325: \"OPTIONS.CHART\",\n 328: \"VBA.INSERT.FILE\",\n 330: \"VBA.PROCEDURE.DEFINITION\",\n 336: \"ROUTING.SLIP\",\n 338: \"ROUTE.DOCUMENT\",\n 339: \"MAIL.LOGON\",\n 342: \"INSERT.PICTURE\",\n 343: \"EDIT.TOOL\",\n 344: \"GALLERY.DOUGHNUT\",\n 350: \"CHART.TREND\",\n 352: \"PIVOT.ITEM.PROPERTIES\",\n 354: \"WORKBOOK.INSERT\",\n 355: \"OPTIONS.TRANSITION\",\n 356: \"OPTIONS.GENERAL\",\n 370: \"FILTER.ADVANCED\",\n 373: \"MAIL.ADD.MAILER\",\n 374: \"MAIL.DELETE.MAILER\",\n 375: \"MAIL.REPLY\",\n 376: \"MAIL.REPLY.ALL\",\n 377: \"MAIL.FORWARD\",\n 378: \"MAIL.NEXT.LETTER\",\n 379: \"DATA.LABEL\",\n 380: \"INSERT.TITLE\",\n 381: \"FONT.PROPERTIES\",\n 382: \"MACRO.OPTIONS\",\n 383: \"WORKBOOK.HIDE\",\n 384: \"WORKBOOK.UNHIDE\",\n 385: \"WORKBOOK.DELETE\",\n 386: \"WORKBOOK.NAME\",\n 388: \"GALLERY.CUSTOM\",\n 390: \"ADD.CHART.AUTOFORMAT\",\n 391: \"DELETE.CHART.AUTOFORMAT\",\n 392: \"CHART.ADD.DATA\",\n 393: \"AUTO.OUTLINE\",\n 394: \"TAB.ORDER\",\n 395: \"SHOW.DIALOG\",\n 396: \"SELECT.ALL\",\n 397: \"UNGROUP.SHEETS\",\n 398: \"SUBTOTAL.CREATE\",\n 399: \"SUBTOTAL.REMOVE\",\n 400: \"RENAME.OBJECT\",\n 412: \"WORKBOOK.SCROLL\",\n 413: \"WORKBOOK.NEXT\",\n 414: \"WORKBOOK.PREV\",\n 415: \"WORKBOOK.TAB.SPLIT\",\n 416: \"FULL.SCREEN\",\n 417: \"WORKBOOK.PROTECT\",\n 420: \"SCROLLBAR.PROPERTIES\",\n 421: \"PIVOT.SHOW.PAGES\",\n 422: \"TEXT.TO.COLUMNS\",\n 423: \"FORMAT.CHARTTYPE\",\n 424: \"LINK.FORMAT\",\n 425: \"TRACER.DISPLAY\",\n 430: \"TRACER.NAVIGATE\",\n 431: \"TRACER.CLEAR\",\n 432: \"TRACER.ERROR\",\n 433: \"PIVOT.FIELD.GROUP\",\n 434: \"PIVOT.FIELD.UNGROUP\",\n 435: \"CHECKBOX.PROPERTIES\",\n 436: \"LABEL.PROPERTIES\",\n 437: \"LISTBOX.PROPERTIES\",\n 438: \"EDITBOX.PROPERTIES\",\n 439: \"PIVOT.REFRESH\",\n 440: \"LINK.COMBO\",\n 441: \"OPEN.TEXT\",\n 442: \"HIDE.DIALOG\",\n 443: \"SET.DIALOG.FOCUS\",\n 444: \"ENABLE.OBJECT\",\n 445: \"PUSHBUTTON.PROPERTIES\",\n 446: \"SET.DIALOG.DEFAULT\",\n 447: \"FILTER\",\n 448: \"FILTER.SHOW.ALL\",\n 449: \"CLEAR.OUTLINE\",\n 450: \"FUNCTION.WIZARD\",\n 451: \"ADD.LIST.ITEM\",\n 452: \"SET.LIST.ITEM\",\n 453: \"REMOVE.LIST.ITEM\",\n 454: \"SELECT.LIST.ITEM\",\n 455: \"SET.CONTROL.VALUE\",\n 456: \"SAVE.COPY.AS\",\n 458: \"OPTIONS.LISTS.ADD\",\n 459: \"OPTIONS.LISTS.DELETE\",\n 460: \"SERIES.AXES\",\n 461: \"SERIES.X\",\n 462: \"SERIES.Y\",\n 463: \"ERRORBAR.X\",\n 464: \"ERRORBAR.Y\",\n 465: \"FORMAT.CHART\",\n 466: \"SERIES.ORDER\",\n 467: \"MAIL.LOGOFF\",\n 468: \"CLEAR.ROUTING.SLIP\",\n 469: \"APP.ACTIVATE.MICROSOFT\",\n 470: \"MAIL.EDIT.MAILER\",\n 471: \"ON.SHEET\",\n 472: \"STANDARD.WIDTH\",\n 473: \"SCENARIO.MERGE\",\n 474: \"SUMMARY.INFO\",\n 475: \"FIND.FILE\",\n 476: \"ACTIVE.CELL.FONT\",\n 477: \"ENABLE.TIPWIZARD\",\n 478: \"VBA.MAKE.ADDIN\",\n 480: \"INSERTDATATABLE\",\n 481: \"WORKGROUP.OPTIONS\",\n 482: \"MAIL.SEND.MAILER\",\n 485: \"AUTOCORRECT\",\n 489: \"POST.DOCUMENT\",\n 491: \"PICKLIST\",\n 493: \"VIEW.SHOW\",\n 494: \"VIEW.DEFINE\",\n 495: \"VIEW.DELETE\",\n 509: \"SHEET.BACKGROUND\",\n 510: \"INSERT.MAP.OBJECT\",\n 511: \"OPTIONS.MENONO\",\n 517: \"MSOCHECKS\",\n 518: \"NORMAL\",\n 519: \"LAYOUT\",\n 520: \"RM.PRINT.AREA\",\n 521: \"CLEAR.PRINT.AREA\",\n 522: \"ADD.PRINT.AREA\",\n 523: \"MOVE.BRK\",\n 545: \"HIDECURR.NOTE\",\n 546: \"HIDEALL.NOTES\",\n 547: \"DELETE.NOTE\",\n 548: \"TRAVERSE.NOTES\",\n 549: \"ACTIVATE.NOTES\",\n 620: \"PROTECT.REVISIONS\",\n 621: \"UNPROTECT.REVISIONS\",\n 647: \"OPTIONS.ME\",\n 653: \"WEB.PUBLISH\",\n 667: \"NEWWEBQUERY\",\n 673: \"PIVOT.TABLE.CHART\",\n 753: \"OPTIONS.SAVE\",\n 755: \"OPTIONS.SPELL\",\n 808: \"HIDEALL.INKANNOTS\"\n};\nvar Ftab = {\n 0: \"COUNT\",\n 1: \"IF\",\n 2: \"ISNA\",\n 3: \"ISERROR\",\n 4: \"SUM\",\n 5: \"AVERAGE\",\n 6: \"MIN\",\n 7: \"MAX\",\n 8: \"ROW\",\n 9: \"COLUMN\",\n 10: \"NA\",\n 11: \"NPV\",\n 12: \"STDEV\",\n 13: \"DOLLAR\",\n 14: \"FIXED\",\n 15: \"SIN\",\n 16: \"COS\",\n 17: \"TAN\",\n 18: \"ATAN\",\n 19: \"PI\",\n 20: \"SQRT\",\n 21: \"EXP\",\n 22: \"LN\",\n 23: \"LOG10\",\n 24: \"ABS\",\n 25: \"INT\",\n 26: \"SIGN\",\n 27: \"ROUND\",\n 28: \"LOOKUP\",\n 29: \"INDEX\",\n 30: \"REPT\",\n 31: \"MID\",\n 32: \"LEN\",\n 33: \"VALUE\",\n 34: \"TRUE\",\n 35: \"FALSE\",\n 36: \"AND\",\n 37: \"OR\",\n 38: \"NOT\",\n 39: \"MOD\",\n 40: \"DCOUNT\",\n 41: \"DSUM\",\n 42: \"DAVERAGE\",\n 43: \"DMIN\",\n 44: \"DMAX\",\n 45: \"DSTDEV\",\n 46: \"VAR\",\n 47: \"DVAR\",\n 48: \"TEXT\",\n 49: \"LINEST\",\n 50: \"TREND\",\n 51: \"LOGEST\",\n 52: \"GROWTH\",\n 53: \"GOTO\",\n 54: \"HALT\",\n 55: \"RETURN\",\n 56: \"PV\",\n 57: \"FV\",\n 58: \"NPER\",\n 59: \"PMT\",\n 60: \"RATE\",\n 61: \"MIRR\",\n 62: \"IRR\",\n 63: \"RAND\",\n 64: \"MATCH\",\n 65: \"DATE\",\n 66: \"TIME\",\n 67: \"DAY\",\n 68: \"MONTH\",\n 69: \"YEAR\",\n 70: \"WEEKDAY\",\n 71: \"HOUR\",\n 72: \"MINUTE\",\n 73: \"SECOND\",\n 74: \"NOW\",\n 75: \"AREAS\",\n 76: \"ROWS\",\n 77: \"COLUMNS\",\n 78: \"OFFSET\",\n 79: \"ABSREF\",\n 80: \"RELREF\",\n 81: \"ARGUMENT\",\n 82: \"SEARCH\",\n 83: \"TRANSPOSE\",\n 84: \"ERROR\",\n 85: \"STEP\",\n 86: \"TYPE\",\n 87: \"ECHO\",\n 88: \"SET.NAME\",\n 89: \"CALLER\",\n 90: \"DEREF\",\n 91: \"WINDOWS\",\n 92: \"SERIES\",\n 93: \"DOCUMENTS\",\n 94: \"ACTIVE.CELL\",\n 95: \"SELECTION\",\n 96: \"RESULT\",\n 97: \"ATAN2\",\n 98: \"ASIN\",\n 99: \"ACOS\",\n 100: \"CHOOSE\",\n 101: \"HLOOKUP\",\n 102: \"VLOOKUP\",\n 103: \"LINKS\",\n 104: \"INPUT\",\n 105: \"ISREF\",\n 106: \"GET.FORMULA\",\n 107: \"GET.NAME\",\n 108: \"SET.VALUE\",\n 109: \"LOG\",\n 110: \"EXEC\",\n 111: \"CHAR\",\n 112: \"LOWER\",\n 113: \"UPPER\",\n 114: \"PROPER\",\n 115: \"LEFT\",\n 116: \"RIGHT\",\n 117: \"EXACT\",\n 118: \"TRIM\",\n 119: \"REPLACE\",\n 120: \"SUBSTITUTE\",\n 121: \"CODE\",\n 122: \"NAMES\",\n 123: \"DIRECTORY\",\n 124: \"FIND\",\n 125: \"CELL\",\n 126: \"ISERR\",\n 127: \"ISTEXT\",\n 128: \"ISNUMBER\",\n 129: \"ISBLANK\",\n 130: \"T\",\n 131: \"N\",\n 132: \"FOPEN\",\n 133: \"FCLOSE\",\n 134: \"FSIZE\",\n 135: \"FREADLN\",\n 136: \"FREAD\",\n 137: \"FWRITELN\",\n 138: \"FWRITE\",\n 139: \"FPOS\",\n 140: \"DATEVALUE\",\n 141: \"TIMEVALUE\",\n 142: \"SLN\",\n 143: \"SYD\",\n 144: \"DDB\",\n 145: \"GET.DEF\",\n 146: \"REFTEXT\",\n 147: \"TEXTREF\",\n 148: \"INDIRECT\",\n 149: \"REGISTER\",\n 150: \"CALL\",\n 151: \"ADD.BAR\",\n 152: \"ADD.MENU\",\n 153: \"ADD.COMMAND\",\n 154: \"ENABLE.COMMAND\",\n 155: \"CHECK.COMMAND\",\n 156: \"RENAME.COMMAND\",\n 157: \"SHOW.BAR\",\n 158: \"DELETE.MENU\",\n 159: \"DELETE.COMMAND\",\n 160: \"GET.CHART.ITEM\",\n 161: \"DIALOG.BOX\",\n 162: \"CLEAN\",\n 163: \"MDETERM\",\n 164: \"MINVERSE\",\n 165: \"MMULT\",\n 166: \"FILES\",\n 167: \"IPMT\",\n 168: \"PPMT\",\n 169: \"COUNTA\",\n 170: \"CANCEL.KEY\",\n 171: \"FOR\",\n 172: \"WHILE\",\n 173: \"BREAK\",\n 174: \"NEXT\",\n 175: \"INITIATE\",\n 176: \"REQUEST\",\n 177: \"POKE\",\n 178: \"EXECUTE\",\n 179: \"TERMINATE\",\n 180: \"RESTART\",\n 181: \"HELP\",\n 182: \"GET.BAR\",\n 183: \"PRODUCT\",\n 184: \"FACT\",\n 185: \"GET.CELL\",\n 186: \"GET.WORKSPACE\",\n 187: \"GET.WINDOW\",\n 188: \"GET.DOCUMENT\",\n 189: \"DPRODUCT\",\n 190: \"ISNONTEXT\",\n 191: \"GET.NOTE\",\n 192: \"NOTE\",\n 193: \"STDEVP\",\n 194: \"VARP\",\n 195: \"DSTDEVP\",\n 196: \"DVARP\",\n 197: \"TRUNC\",\n 198: \"ISLOGICAL\",\n 199: \"DCOUNTA\",\n 200: \"DELETE.BAR\",\n 201: \"UNREGISTER\",\n 204: \"USDOLLAR\",\n 205: \"FINDB\",\n 206: \"SEARCHB\",\n 207: \"REPLACEB\",\n 208: \"LEFTB\",\n 209: \"RIGHTB\",\n 210: \"MIDB\",\n 211: \"LENB\",\n 212: \"ROUNDUP\",\n 213: \"ROUNDDOWN\",\n 214: \"ASC\",\n 215: \"DBCS\",\n 216: \"RANK\",\n 219: \"ADDRESS\",\n 220: \"DAYS360\",\n 221: \"TODAY\",\n 222: \"VDB\",\n 223: \"ELSE\",\n 224: \"ELSE.IF\",\n 225: \"END.IF\",\n 226: \"FOR.CELL\",\n 227: \"MEDIAN\",\n 228: \"SUMPRODUCT\",\n 229: \"SINH\",\n 230: \"COSH\",\n 231: \"TANH\",\n 232: \"ASINH\",\n 233: \"ACOSH\",\n 234: \"ATANH\",\n 235: \"DGET\",\n 236: \"CREATE.OBJECT\",\n 237: \"VOLATILE\",\n 238: \"LAST.ERROR\",\n 239: \"CUSTOM.UNDO\",\n 240: \"CUSTOM.REPEAT\",\n 241: \"FORMULA.CONVERT\",\n 242: \"GET.LINK.INFO\",\n 243: \"TEXT.BOX\",\n 244: \"INFO\",\n 245: \"GROUP\",\n 246: \"GET.OBJECT\",\n 247: \"DB\",\n 248: \"PAUSE\",\n 251: \"RESUME\",\n 252: \"FREQUENCY\",\n 253: \"ADD.TOOLBAR\",\n 254: \"DELETE.TOOLBAR\",\n 255: \"User\",\n 256: \"RESET.TOOLBAR\",\n 257: \"EVALUATE\",\n 258: \"GET.TOOLBAR\",\n 259: \"GET.TOOL\",\n 260: \"SPELLING.CHECK\",\n 261: \"ERROR.TYPE\",\n 262: \"APP.TITLE\",\n 263: \"WINDOW.TITLE\",\n 264: \"SAVE.TOOLBAR\",\n 265: \"ENABLE.TOOL\",\n 266: \"PRESS.TOOL\",\n 267: \"REGISTER.ID\",\n 268: \"GET.WORKBOOK\",\n 269: \"AVEDEV\",\n 270: \"BETADIST\",\n 271: \"GAMMALN\",\n 272: \"BETAINV\",\n 273: \"BINOMDIST\",\n 274: \"CHIDIST\",\n 275: \"CHIINV\",\n 276: \"COMBIN\",\n 277: \"CONFIDENCE\",\n 278: \"CRITBINOM\",\n 279: \"EVEN\",\n 280: \"EXPONDIST\",\n 281: \"FDIST\",\n 282: \"FINV\",\n 283: \"FISHER\",\n 284: \"FISHERINV\",\n 285: \"FLOOR\",\n 286: \"GAMMADIST\",\n 287: \"GAMMAINV\",\n 288: \"CEILING\",\n 289: \"HYPGEOMDIST\",\n 290: \"LOGNORMDIST\",\n 291: \"LOGINV\",\n 292: \"NEGBINOMDIST\",\n 293: \"NORMDIST\",\n 294: \"NORMSDIST\",\n 295: \"NORMINV\",\n 296: \"NORMSINV\",\n 297: \"STANDARDIZE\",\n 298: \"ODD\",\n 299: \"PERMUT\",\n 300: \"POISSON\",\n 301: \"TDIST\",\n 302: \"WEIBULL\",\n 303: \"SUMXMY2\",\n 304: \"SUMX2MY2\",\n 305: \"SUMX2PY2\",\n 306: \"CHITEST\",\n 307: \"CORREL\",\n 308: \"COVAR\",\n 309: \"FORECAST\",\n 310: \"FTEST\",\n 311: \"INTERCEPT\",\n 312: \"PEARSON\",\n 313: \"RSQ\",\n 314: \"STEYX\",\n 315: \"SLOPE\",\n 316: \"TTEST\",\n 317: \"PROB\",\n 318: \"DEVSQ\",\n 319: \"GEOMEAN\",\n 320: \"HARMEAN\",\n 321: \"SUMSQ\",\n 322: \"KURT\",\n 323: \"SKEW\",\n 324: \"ZTEST\",\n 325: \"LARGE\",\n 326: \"SMALL\",\n 327: \"QUARTILE\",\n 328: \"PERCENTILE\",\n 329: \"PERCENTRANK\",\n 330: \"MODE\",\n 331: \"TRIMMEAN\",\n 332: \"TINV\",\n 334: \"MOVIE.COMMAND\",\n 335: \"GET.MOVIE\",\n 336: \"CONCATENATE\",\n 337: \"POWER\",\n 338: \"PIVOT.ADD.DATA\",\n 339: \"GET.PIVOT.TABLE\",\n 340: \"GET.PIVOT.FIELD\",\n 341: \"GET.PIVOT.ITEM\",\n 342: \"RADIANS\",\n 343: \"DEGREES\",\n 344: \"SUBTOTAL\",\n 345: \"SUMIF\",\n 346: \"COUNTIF\",\n 347: \"COUNTBLANK\",\n 348: \"SCENARIO.GET\",\n 349: \"OPTIONS.LISTS.GET\",\n 350: \"ISPMT\",\n 351: \"DATEDIF\",\n 352: \"DATESTRING\",\n 353: \"NUMBERSTRING\",\n 354: \"ROMAN\",\n 355: \"OPEN.DIALOG\",\n 356: \"SAVE.DIALOG\",\n 357: \"VIEW.GET\",\n 358: \"GETPIVOTDATA\",\n 359: \"HYPERLINK\",\n 360: \"PHONETIC\",\n 361: \"AVERAGEA\",\n 362: \"MAXA\",\n 363: \"MINA\",\n 364: \"STDEVPA\",\n 365: \"VARPA\",\n 366: \"STDEVA\",\n 367: \"VARA\",\n 368: \"BAHTTEXT\",\n 369: \"THAIDAYOFWEEK\",\n 370: \"THAIDIGIT\",\n 371: \"THAIMONTHOFYEAR\",\n 372: \"THAINUMSOUND\",\n 373: \"THAINUMSTRING\",\n 374: \"THAISTRINGLENGTH\",\n 375: \"ISTHAIDIGIT\",\n 376: \"ROUNDBAHTDOWN\",\n 377: \"ROUNDBAHTUP\",\n 378: \"THAIYEAR\",\n 379: \"RTD\",\n 380: \"CUBEVALUE\",\n 381: \"CUBEMEMBER\",\n 382: \"CUBEMEMBERPROPERTY\",\n 383: \"CUBERANKEDMEMBER\",\n 384: \"HEX2BIN\",\n 385: \"HEX2DEC\",\n 386: \"HEX2OCT\",\n 387: \"DEC2BIN\",\n 388: \"DEC2HEX\",\n 389: \"DEC2OCT\",\n 390: \"OCT2BIN\",\n 391: \"OCT2HEX\",\n 392: \"OCT2DEC\",\n 393: \"BIN2DEC\",\n 394: \"BIN2OCT\",\n 395: \"BIN2HEX\",\n 396: \"IMSUB\",\n 397: \"IMDIV\",\n 398: \"IMPOWER\",\n 399: \"IMABS\",\n 400: \"IMSQRT\",\n 401: \"IMLN\",\n 402: \"IMLOG2\",\n 403: \"IMLOG10\",\n 404: \"IMSIN\",\n 405: \"IMCOS\",\n 406: \"IMEXP\",\n 407: \"IMARGUMENT\",\n 408: \"IMCONJUGATE\",\n 409: \"IMAGINARY\",\n 410: \"IMREAL\",\n 411: \"COMPLEX\",\n 412: \"IMSUM\",\n 413: \"IMPRODUCT\",\n 414: \"SERIESSUM\",\n 415: \"FACTDOUBLE\",\n 416: \"SQRTPI\",\n 417: \"QUOTIENT\",\n 418: \"DELTA\",\n 419: \"GESTEP\",\n 420: \"ISEVEN\",\n 421: \"ISODD\",\n 422: \"MROUND\",\n 423: \"ERF\",\n 424: \"ERFC\",\n 425: \"BESSELJ\",\n 426: \"BESSELK\",\n 427: \"BESSELY\",\n 428: \"BESSELI\",\n 429: \"XIRR\",\n 430: \"XNPV\",\n 431: \"PRICEMAT\",\n 432: \"YIELDMAT\",\n 433: \"INTRATE\",\n 434: \"RECEIVED\",\n 435: \"DISC\",\n 436: \"PRICEDISC\",\n 437: \"YIELDDISC\",\n 438: \"TBILLEQ\",\n 439: \"TBILLPRICE\",\n 440: \"TBILLYIELD\",\n 441: \"PRICE\",\n 442: \"YIELD\",\n 443: \"DOLLARDE\",\n 444: \"DOLLARFR\",\n 445: \"NOMINAL\",\n 446: \"EFFECT\",\n 447: \"CUMPRINC\",\n 448: \"CUMIPMT\",\n 449: \"EDATE\",\n 450: \"EOMONTH\",\n 451: \"YEARFRAC\",\n 452: \"COUPDAYBS\",\n 453: \"COUPDAYS\",\n 454: \"COUPDAYSNC\",\n 455: \"COUPNCD\",\n 456: \"COUPNUM\",\n 457: \"COUPPCD\",\n 458: \"DURATION\",\n 459: \"MDURATION\",\n 460: \"ODDLPRICE\",\n 461: \"ODDLYIELD\",\n 462: \"ODDFPRICE\",\n 463: \"ODDFYIELD\",\n 464: \"RANDBETWEEN\",\n 465: \"WEEKNUM\",\n 466: \"AMORDEGRC\",\n 467: \"AMORLINC\",\n 468: \"CONVERT\",\n 724: \"SHEETJS\",\n 469: \"ACCRINT\",\n 470: \"ACCRINTM\",\n 471: \"WORKDAY\",\n 472: \"NETWORKDAYS\",\n 473: \"GCD\",\n 474: \"MULTINOMIAL\",\n 475: \"LCM\",\n 476: \"FVSCHEDULE\",\n 477: \"CUBEKPIMEMBER\",\n 478: \"CUBESET\",\n 479: \"CUBESETCOUNT\",\n 480: \"IFERROR\",\n 481: \"COUNTIFS\",\n 482: \"SUMIFS\",\n 483: \"AVERAGEIF\",\n 484: \"AVERAGEIFS\"\n};\nvar FtabArgc = {\n 2: 1,\n 3: 1,\n 10: 0,\n 15: 1,\n 16: 1,\n 17: 1,\n 18: 1,\n 19: 0,\n 20: 1,\n 21: 1,\n 22: 1,\n 23: 1,\n 24: 1,\n 25: 1,\n 26: 1,\n 27: 2,\n 30: 2,\n 31: 3,\n 32: 1,\n 33: 1,\n 34: 0,\n 35: 0,\n 38: 1,\n 39: 2,\n 40: 3,\n 41: 3,\n 42: 3,\n 43: 3,\n 44: 3,\n 45: 3,\n 47: 3,\n 48: 2,\n 53: 1,\n 61: 3,\n 63: 0,\n 65: 3,\n 66: 3,\n 67: 1,\n 68: 1,\n 69: 1,\n 70: 1,\n 71: 1,\n 72: 1,\n 73: 1,\n 74: 0,\n 75: 1,\n 76: 1,\n 77: 1,\n 79: 2,\n 80: 2,\n 83: 1,\n 85: 0,\n 86: 1,\n 89: 0,\n 90: 1,\n 94: 0,\n 95: 0,\n 97: 2,\n 98: 1,\n 99: 1,\n 101: 3,\n 102: 3,\n 105: 1,\n 106: 1,\n 108: 2,\n 111: 1,\n 112: 1,\n 113: 1,\n 114: 1,\n 117: 2,\n 118: 1,\n 119: 4,\n 121: 1,\n 126: 1,\n 127: 1,\n 128: 1,\n 129: 1,\n 130: 1,\n 131: 1,\n 133: 1,\n 134: 1,\n 135: 1,\n 136: 2,\n 137: 2,\n 138: 2,\n 140: 1,\n 141: 1,\n 142: 3,\n 143: 4,\n 144: 4,\n 161: 1,\n 162: 1,\n 163: 1,\n 164: 1,\n 165: 2,\n 172: 1,\n 175: 2,\n 176: 2,\n 177: 3,\n 178: 2,\n 179: 1,\n 184: 1,\n 186: 1,\n 189: 3,\n 190: 1,\n 195: 3,\n 196: 3,\n 197: 1,\n 198: 1,\n 199: 3,\n 201: 1,\n 207: 4,\n 210: 3,\n 211: 1,\n 212: 2,\n 213: 2,\n 214: 1,\n 215: 1,\n 225: 0,\n 229: 1,\n 230: 1,\n 231: 1,\n 232: 1,\n 233: 1,\n 234: 1,\n 235: 3,\n 244: 1,\n 247: 4,\n 252: 2,\n 257: 1,\n 261: 1,\n 271: 1,\n 273: 4,\n 274: 2,\n 275: 2,\n 276: 2,\n 277: 3,\n 278: 3,\n 279: 1,\n 280: 3,\n 281: 3,\n 282: 3,\n 283: 1,\n 284: 1,\n 285: 2,\n 286: 4,\n 287: 3,\n 288: 2,\n 289: 4,\n 290: 3,\n 291: 3,\n 292: 3,\n 293: 4,\n 294: 1,\n 295: 3,\n 296: 1,\n 297: 3,\n 298: 1,\n 299: 2,\n 300: 3,\n 301: 3,\n 302: 4,\n 303: 2,\n 304: 2,\n 305: 2,\n 306: 2,\n 307: 2,\n 308: 2,\n 309: 3,\n 310: 2,\n 311: 2,\n 312: 2,\n 313: 2,\n 314: 2,\n 315: 2,\n 316: 4,\n 325: 2,\n 326: 2,\n 327: 2,\n 328: 2,\n 331: 2,\n 332: 2,\n 337: 2,\n 342: 1,\n 343: 1,\n 346: 2,\n 347: 1,\n 350: 4,\n 351: 3,\n 352: 1,\n 353: 2,\n 360: 1,\n 368: 1,\n 369: 1,\n 370: 1,\n 371: 1,\n 372: 1,\n 373: 1,\n 374: 1,\n 375: 1,\n 376: 1,\n 377: 1,\n 378: 1,\n 382: 3,\n 385: 1,\n 392: 1,\n 393: 1,\n 396: 2,\n 397: 2,\n 398: 2,\n 399: 1,\n 400: 1,\n 401: 1,\n 402: 1,\n 403: 1,\n 404: 1,\n 405: 1,\n 406: 1,\n 407: 1,\n 408: 1,\n 409: 1,\n 410: 1,\n 414: 4,\n 415: 1,\n 416: 1,\n 417: 2,\n 420: 1,\n 421: 1,\n 422: 2,\n 424: 1,\n 425: 2,\n 426: 2,\n 427: 2,\n 428: 2,\n 430: 3,\n 438: 3,\n 439: 3,\n 440: 3,\n 443: 2,\n 444: 2,\n 445: 2,\n 446: 2,\n 447: 6,\n 448: 6,\n 449: 2,\n 450: 2,\n 464: 2,\n 468: 3,\n 476: 2,\n 479: 1,\n 480: 2,\n 65535: 0\n};\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f/*:string*/)/*:string*/ {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f/*:string*/)/*:string*/ {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r/*:string*/)/*:string*/ {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst/*:SST*/, str/*:string*/, rev)/*:number*/ {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}/*:any*/); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C/*:number*/, col) {\n\tvar p = ({min:C+1,max:C+1}/*:any*/);\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\tif(col.level != null) { p.outlineLevel = p.level = col.level; }\n\treturn p;\n}\n\nfunction default_margins(margins/*:Margins*/, mode/*:?string*/) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF_load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z' && !opts.cellStyles) return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif((!opts || opts.cellText !== false) && p.t !== 'z') try {\n\t\tif(table_fmt[fmtid] == null) SSF_load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = dd.toString(10);\n\t\t\t\telse p.w = SSF_general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF_general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF_format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws/*:Worksheet*/, sname/*:string*/, i/*:number*/) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws/*:Worksheet*/, s/*:string*/) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar sheetprregex2= /<(?:\\w:)?sheetPr[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetPr)>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tvar refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/);\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch/*:?any*/ = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\telse if((sheetPr = data1.match(sheetprregex2))) parse_ws_xml_sheetpr2(sheetPr[0], sheetPr[1]||\"\", s, wb, idx, styles, themes);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns/*:Array*/ = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges/*:Array*/ = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges/*:Array*/)/*:string*/ {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName));\n}\nfunction parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tparse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(\">\")), s, wb, idx);\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = utf8write(escapexml(cname));\n\t}\n\n\tif(ws && ws[\"!outline\"]) {\n\t\tvar outlineprops = {summaryBelow:1, summaryRight:1};\n\t\tif(ws[\"!outline\"].above) outlineprops.summaryBelow = 0;\n\t\tif(ws[\"!outline\"].left) outlineprops.summaryRight = 0;\n\t\tpayload = (payload||\"\") + writextag('outlinePr', null, outlineprops);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp)/*:string*/ {\n\t// algorithmName, hashValue, saltValue, spinCount\n\tvar o = ({sheet:1}/*:any*/);\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data/*:Array*/, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+unescapexml(val.location);\n\t\t} else {\n\t\t\tval.Target = \"#\" + unescapexml(val.location);\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin)/*:string*/ {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tif(coll.outlineLevel) coll.level = (+coll.outlineLevel || 0);\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols)/*:string*/ {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data/*:string*/) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx)/*:string*/ {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb/*:WBWBProps*/) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r/*:string*/, i/*:number*/) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(+tag.zoomScale) wb.Views[i].zoom = +tag.zoomScale;\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ {\n\tvar sview = ({workbookViewId:\"0\"}/*:any*/);\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ {\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\tif(cell.v === undefined && typeof cell.f !== \"string\" || cell.t === 'z' && !cell.f) return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = table_fmt[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/);\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(cell.v.length > 32767) throw new Error(\"Text length must not exceed 32767 characters\");\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.D) o.cm = 1;\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = /*#__PURE__*/(function() {\n\tvar cellregex = /<(?:\\w+:)?c[ \\/>]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) {\n\tvar ri = 0, x = \"\", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d=\"\", p/*:any*/;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows/*:Array*/ = [], rowobj = {}, rowrite = false;\n\tvar sheetStubs = !!opts.sheetStubs;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tvar rstarti = 0;\n\t\touta: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) {\n\t\t\tcase \">\" /*62*/:\n\t\t\t\tif(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != \"/\") { ++ri; break outa; }\n\t\t\t\tif(opts && opts.cellStyles) {\n\t\t\t\t\t// TODO: avoid duplication\n\t\t\t\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\t\t\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\t\t\t\trowobj = {}; rowrite = false;\n\t\t\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"<\" /*60*/: rstarti = ri; break;\n\t\t}\n\t\tif(rstarti >= ri) break;\n\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"}/*:any*/);\n\n\t\t\tif((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=unescapexml(utf8read(cref[1])).replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\tif(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(tag.cm && opts.xlmeta) {\n\t\t\t\tvar cm = (opts.xlmeta.Cell||[])[+tag.cm-1];\n\t\t\t\tif(cm && cm.type == 'XLDAPR') p.D = true;\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*//*::, rels*/)/*:string*/ {\n\tvar o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr}/*:any*/);\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1}/*:any*/);\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nfunction write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('worksheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(/*::(*/ws['!links']/*::||[])*/.length > 0) {\n\t\to[o.length] = \"\";\n\t\t/*::(*/ws['!links']/*::||[])*/.forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]}/*:any*/);\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({}/*:any*/);\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R/*:number*/, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo(/*::data, length*/) {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\tvar f = data[data.l]; ++data.l;\n\tz.above = !(f & 0x40);\n\tz.left = !(f & 0x80);\n\t/* TODO: pull flags */\n\tdata.l += 18;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, outl, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tvar f = 0xC0;\n\tif(outl) {\n\t\tif(outl.above) f &= ~0x40;\n\t\tif(outl.left) f &= ~0x80;\n\t}\n\to.write_shift(1, f);\n\tfor(var i = 1; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\nfunction parse_BrtShortBlank(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\treturn [cell];\n}\nfunction write_BrtShortBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(4);\n\treturn write_XLSBShortCell(ncell, o);\n}\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\nfunction parse_BrtShortBool(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtShortBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(5);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtCellError(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v);\n\treturn o;\n}\nfunction parse_BrtShortError(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtShortError(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v);\n\to.write_shift(2, 0);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\nfunction parse_BrtShortIsst(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtShortIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortReal(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortRk(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtCellRString */\nfunction parse_BrtCellRString(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RichStr(data);\n\treturn [cell, value, 'is'];\n}\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction parse_BrtShortSt(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtShortSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(8 + 4 * cell.v.length);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length/*::, opts*/) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display}/*:any*/);\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C/*:number*/, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ {\n\tvar margins = ({}/*:any*/);\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins/*:Margins*/, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins/*:any*/)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data/*::, length, opts*/) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\n\t\t/*:: if(o == null) throw \"unreachable\"; */\n\t\tif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s/*:Worksheet*/ = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state/*:Array*/ = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell/*:Cell*/;\n\tvar merges/*:Array*/ = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || /*::(*/wb/*:: :any)*/.supbooks || ([[]]/*:any*/);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtShortReal\", f:parse_BrtShortReal };\n\n\tvar cm, vm;\n\n\trecordhopper(data, function ws_parse(val, RR, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\tcase 0x000D: /* 'BrtShortRk' */\n\t\t\tcase 0x000E: /* 'BrtShortError' */\n\t\t\tcase 0x000F: /* 'BrtShortBool' */\n\t\t\tcase 0x0010: /* 'BrtShortReal' */\n\t\t\tcase 0x0011: /* 'BrtShortSt' */\n\t\t\tcase 0x0012: /* 'BrtShortIsst' */\n\t\t\tcase 0x003E: /* 'BrtCellRString' */\n\t\t\t\tp = ({t:val[2]}/*:any*/);\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t\tcase 'is': p.t = 's'; p.v = val[1].t; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\tcase 0x000C: /* 'BrtShortBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:void 0}/*:any*/);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x0031: { /* 'BrtCellMeta' */\n\t\t\t\tcm = ((opts.xlmeta||{}).Cell||[])[val-1];\n\t\t\t} break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr])/*:any*/);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tif(val.above || val.left) s['!outline'] = { above: val.above, left: val.left };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(RR.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ {\n\tif(cell.v === undefined) return false;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || table_fmt[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o/*:any*/ = ({r:R, c:C}/*:any*/);\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v/*:any*/), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\tif(last_seen) write_record(ba, 0x0012 /* BrtShortIsst */, write_BrtShortIsst(cell, o));\n\t\t\t\telse write_record(ba, 0x0007 /* BrtCellIsst */, write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\tif(last_seen) write_record(ba, 0x0011 /* BrtShortSt */, write_BrtShortSt(cell, o));\n\t\t\t\telse write_record(ba, 0x0006 /* BrtCellSt */, write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn true;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) {\n\t\t\t\tif(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o));\n\t\t\t\telse write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o));\n\t\t\t} else {\n\t\t\t\tif(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o));\n\t\t\t\telse write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o));\n\t\t\t} return true;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\tif(last_seen) write_record(ba, 0x000F /* BrtShortBool */, write_BrtShortBool(cell, o));\n\t\t\telse write_record(ba, 0x0004 /* BrtCellBool */, write_BrtCellBool(cell, o));\n\t\t\treturn true;\n\t\tcase 'e':\n\t\t\to.t = \"e\";\n\t\t\tif(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError(cell, o));\n\t\t\telse write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError(cell, o));\n\t\t\treturn true;\n\t}\n\tif(last_seen) write_record(ba, 0x000C /* BrtShortBlank */, write_BrtShortBlank(cell, o));\n\telse write_record(ba, 0x0001 /* BrtCellBlank */, write_BrtCellBlank(cell, o));\n\treturn true;\n}\n\nfunction write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols/*:Array*/ = [];\n\twrite_record(ba, 0x0091 /* BrtBeginSheetData */);\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tvar last_seen = false;\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) { last_seen = false; continue; }\n\t\t\t/* write cell */\n\t\t\tlast_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen);\n\t\t}\n\t}\n\twrite_record(ba, 0x0092 /* BrtEndSheetData */);\n}\n\nfunction write_MERGECELLS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 0x00B0 /* BrtMergeCell */, write_BrtMergeCell(m)); });\n\twrite_record(ba, 0x00B2 /* BrtEndMergeCells */);\n}\n\nfunction write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook*/) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 0x0186 /* BrtBeginColInfos */);\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 0x003C /* 'BrtColInfo' */, write_BrtColInfo(i, m)); });\n\twrite_record(ba, 0x0187 /* BrtEndColInfos */);\n}\n\nfunction write_IGNOREECS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 0x0288 /* BrtBeginCellIgnoreECs */);\n\twrite_record(ba, 0x0289 /* BrtCellIgnoreEC */, write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 0x028A /* BrtEndCellIgnoreECs */);\n}\n\nfunction write_HLINKS(ba, ws/*:Worksheet*/, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, 0x01EE /* BrtHLink */, write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, 0x0227 /* BrtLegacyDrawing */, write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, 0x00A1 /* BrtBeginAFilter */, write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, 0x00A2 /* BrtEndAFilter */);\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, 0x0085 /* BrtBeginWsViews */);\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, 0x0089 /* BrtBeginWsView */, write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, 0x008A /* BrtEndWsView */);\n\t}\n\t/* *FRT */\n\twrite_record(ba, 0x0086 /* BrtEndWsViews */);\n}\n\nfunction write_WSFMTINFO(/*::ba, ws*/) {\n\t/* [ACWSFMTINFO] */\n\t// write_record(ba, 0x01E5 /* BrtWsFmtInfo */, write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, 0x0217 /* BrtSheetProtection */, write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c/*:string*/ = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\tif(wb.vbaraw || ws['!outline']) write_record(ba, 0x0093 /* BrtWsProp */, write_BrtWsProp(c, ws['!outline']));\n\twrite_record(ba, 0x0094 /* BrtWsDim */, write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, 0x01DC /* BrtMargins */, write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\nfunction parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ {\n\tvar col/*:Array*/ = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) {\n\tvar cs/*:Worksheet*/ = ((csheet || {\"!type\":\"chart\"})/*:any*/);\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"}/*:any*/);\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('chartsheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length/*:number*/) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin(/*::idx:number, opts, wb:Workbook, rels*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb/*:Workbook*/)/*:string*/ {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = /*#__PURE__*/\"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts)/*:WorkbookFile*/ {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = /*::(*/{ AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" }/*::)*/;\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr/*:any*/ = ({codeName:\"ThisWorkbook\"}/*:any*/);\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\n\t\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]/*:any*/);\n\t\t});\n\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\tif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '';\n\t\to[o.length] = \"\";\n\t}\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))}/*:any*/);\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d/*:any*/ = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length/*:number*/) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length)/*:WBProps*/ {\n\tvar o/*:WBProps*/ = ({}/*:any*/);\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data/*:?WBProps*/, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula}/*:any*/);\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts)/*:WorkbookFile*/ {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]/*:any*/);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ };\n\n\trecordhopper(data, function hopper_wb(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x008F: /* 'BrtBeginBundleShs' */\n\t\t\tcase 0x0298: /* 'BrtBeginFnGroup' */\n\t\t\tcase 0x0161: /* 'BrtBeginExternals' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.length-1] != 0x0023 /* BrtFRTBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb/*:any*/).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb/*::, opts*/) {\n\twrite_record(ba, 0x008F /* BrtBeginBundleShs */);\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, 0x009C /* BrtBundleSh */, write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, 0x0090 /* BrtEndBundleShs */);\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb/*::, opts*/) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, 0x0087 /* BrtBeginBookViews */);\n\twrite_record(ba, 0x009E /* BrtBookView */, write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, 0x0088 /* BrtEndBookViews */);\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0083 /* BrtBeginBook */);\n\twrite_record(ba, 0x0080 /* BrtFileVersion */, write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, 0x0099 /* BrtWbProp */, write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, 0x009D BrtCalcProp, write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, 0x009B BrtFileRecover, write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, 0x0084 /* BrtEndBook */);\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name/*:string*/, opts)/*:WorkbookFile*/ {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data/*:any*/), opts);\n\treturn parse_wb_xml((data/*:any*/), opts);\n}\n\nfunction parse_ws(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name/*:string*/, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data/*:any*/), themes, opts);\n\treturn parse_sty_xml((data/*:any*/), themes, opts);\n}\n\nfunction parse_theme(data/*:string*/, name/*:string*/, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name/*:string*/, opts)/*:SST*/ {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data/*:any*/), opts);\n\treturn parse_sst_xml((data/*:any*/), opts);\n}\n\nfunction parse_cmnt(data, name/*:string*/, opts)/*:Array*/ {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data/*:any*/), opts);\n\treturn parse_comments_xml((data/*:any*/), opts);\n}\n\nfunction parse_cc(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data/*:any*/), name, opts);\n\treturn parse_cc_xml((data/*:any*/), name, opts);\n}\n\nfunction parse_xlink(data, rel, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data/*:any*/), rel, name, opts);\n\treturn parse_xlink_xml((data/*:any*/), rel, name, opts);\n}\n\nfunction parse_xlmeta(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlmeta_bin((data/*:any*/), name, opts);\n\treturn parse_xlmeta_xml((data/*:any*/), name, opts);\n}\n\nfunction write_wb(wb, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data/*:SST*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data/*:Array*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\n\nfunction write_xlmeta(name/*:string*/) {\n\treturn (name.slice(-4)===\".bin\" ? write_xlmeta_bin : write_xlmeta_xml)();\n}\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag/*:string*/, skip_root/*:?boolean*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z/*:any*/ = ([]/*:any*/); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag/*:string*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*: {[string]:string}*/;\n\nfunction xlml_format(format, value)/*:string*/ {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF_general(value);\n\treturn SSF_format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val/*:string*/) {\n\tvar oval/*:any*/ = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell/*:Cell*/, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = cell.v.toString(10);\n\t\t\t\telse cell.w = SSF_general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF_general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && fmt_is_date(z)) {\n\t\t\tvar _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment/*:any*/) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\n/* TODO: Everything */\nfunction parse_xlml_xml(d, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tmake_ssf();\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof $cptable !== 'undefined') str = $cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\topening = opening.replace(/\".*?\"/g, \"\");\n\tif((opening.indexOf(\">\") & 1023) > Math.min((opening.indexOf(\",\") & 1023), (opening.indexOf(\";\")&1023))) { var _o = dup(opts); _o.type = \"string\"; return PRN.to_workbook(str, _o); }\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return html_to_workbook(str, opts);\n\n\tXLMLFormatMap = ({\n\t\t\"General Number\": \"General\",\n\t\t\"General Date\": table_fmt[22],\n\t\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\t\"Medium Date\": table_fmt[15],\n\t\t\"Short Date\": table_fmt[14],\n\t\t\"Long Time\": table_fmt[19],\n\t\t\"Medium Time\": table_fmt[18],\n\t\t\"Short Time\": table_fmt[20],\n\t\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\t\"Fixed\": table_fmt[2],\n\t\t\"Standard\": table_fmt[4],\n\t\t\"Percent\": table_fmt[10],\n\t\t\"Scientific\": table_fmt[11],\n\t\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n\t}/*:any*/);\n\n\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges/*:Array*/ = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar rowinfo/*:Array*/ = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false} }/*:any*/), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:unescapexml(cell.HRef)}/*:any*/);\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\t/*:: if(!cc) cc = 0; if(!rr) rr = 0; */\n\t\t\t\t\tfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == null) { SSF_load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName/*:DefinedName*/ = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t}/*:any*/);\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\n\t\t\t/*:: if(Workbook.Names) */Workbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author}/*:any*/);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tcase 'null' /*case 'Null'*/: break;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\n\t\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\t\tWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].header = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].footer = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Top)) cursheet['!margins'].top = +pagemargins.Top;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Left)) cursheet['!margins'].left = +pagemargins.Left;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Right)) cursheet['!margins'].right = +pagemargins.Right;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Bottom)) cursheet['!margins'].bottom = +pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'printerrors' /*case 'PrintErrors'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].above = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].left = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = dup(table_fmt);\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data/*:RawBytes|string*/, opts)/*:Workbook*/ {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64_decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n\t/*:: throw new Error(\"unsupported type \" + opts.type); */\n}\n\n/* TODO */\nfunction write_props_xlml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml(/*::wb, opts*/)/*:string*/ {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts)/*:string*/ {\n\t/* Styles */\n\tvar styles/*:Array*/ = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload/*:Array*/ = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(table_fmt[xf.numFmtId])}));\n\n\t\tvar o = /*::(*/{\"ss:ID\": \"s\" + (21+id)}/*:: :any)*/;\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb/*::, opts*/)/*:string*/ {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tvar o/*:Array*/ = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments/*:Array*/)/*:string*/ {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R/*:number*/, row)/*:string*/ {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws['!ref']) return \"\";\n\tvar range/*:Range*/ = safe_decode_range(ws['!ref']);\n\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\tvar o/*:Array*/ = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"
\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts)/*:string*/ {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d/*:Array*/ = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj/*:CFBEntry*/) {\n\tvar v = {};\n\tvar o = obj.content;\n\t/*:: if(o == null) return; */\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m/*:number*/ = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue 0x003c\n\t- 2.4.59 ContinueBigName 0x043c\n\t- 2.4.60 ContinueFrt 0x0812\n\t- 2.4.61 ContinueFrt11 0x0875\n\t- 2.4.62 ContinueFrt12 0x087f\n*/\nvar CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ];\nfunction slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {\n\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */:\n\t\tbreak;\n\tcase 0x0085 /* BoundSheet8 */:\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt];\n\tvar start = 0;\n\twhile(next != null && CONTINUE_RT.indexOf(nextrt) > -1) {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(nextrt == 0x0812 /* ContinueFrt */) start += 4;\n\t\telse if(nextrt == 0x0875 || nextrt == 0x087f) {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs)/*:any*/);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record 0x\" + RecordType.toString(16) + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF_general(p.v);\n\t\t}\n\t\telse p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t)/*:Cell*/ {\n\treturn ({v:val, ixfe:ixfe, t:t}/*:any*/);\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {\n\tvar wb = ({opts:{}}/*:any*/);\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out/*:Worksheet*/ = ((options.dense ? [] : {})/*:any*/);\n\tvar Directory = {};\n\tvar range/*:Range*/ = ({}/*:any*/);\n\tvar last_formula = null;\n\tvar sst/*:SST*/ = ([]/*:any*/);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc/*:Cell*/, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar temp_val/*:Cell*/;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette/*:Array<[number, number, number]>*/ = [];\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {};\n\tvar get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line/*:any*/, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({}/*:any*/);\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t}/*:any*/);\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges/*:Array*/ = [];\n\tvar objects = [];\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\tvar supbooks = ([]/*:any*/); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_RT = 0;\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl/*:?DefinedName*/;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_RT === 0x000a /* EOF */) break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;\n\t\t\t}\n\t\t\tlast_RT = RecordType;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val/*:any*/ = ({}/*:any*/);\n\t\t\tif(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;\n\t\t\telse val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;\n\t\t\t/*:: val = (val:any); */\n\t\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue;\n\t\t\tswitch(RecordType) {\n\t\t\t\tcase 0x0022 /* Date1904 */:\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\twb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 0x002f /* FilePass */:\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x005c /* WriteAccess */: opts.lastuser = val; break;\n\t\t\t\tcase 0x0042 /* CodePage */:\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x013d /* RRTabId */: opts.rrtabid = val; break;\n\t\t\t\tcase 0x0019 /* WinProtect */: opts.winlocked = val; break;\n\t\t\t\tcase 0x01b7 /* RefreshAll */: wb.opts[\"RefreshAll\"] = val; break;\n\t\t\t\tcase 0x000c /* CalcCount */: wb.opts[\"CalcCount\"] = val; break;\n\t\t\t\tcase 0x0010 /* CalcDelta */: wb.opts[\"CalcDelta\"] = val; break;\n\t\t\t\tcase 0x0011 /* CalcIter */: wb.opts[\"CalcIter\"] = val; break;\n\t\t\t\tcase 0x000d /* CalcMode */: wb.opts[\"CalcMode\"] = val; break;\n\t\t\t\tcase 0x000e /* CalcPrecision */: wb.opts[\"CalcPrecision\"] = val; break;\n\t\t\t\tcase 0x005f /* CalcSaveRecalc */: wb.opts[\"CalcSaveRecalc\"] = val; break;\n\t\t\t\tcase 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;\n\t\t\t\tcase 0x0081 /* WsBool */:\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 0x00e0 /* XF */:\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 0x01ae /* SupBook */:\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0023: case 0x0223 /* ExternName */:\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0018: case 0x0218 /* Lbl */:\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t}/*:DefinedName*/);\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0016 /* ExternCount */: opts.ExternCount = val; break;\n\t\t\t\tcase 0x0017 /* ExternSheet */:\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 0x0894 /* NameCmt */:\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0012 /* Protect */: out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 0x0085 /* BoundSheet8 */: {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 0x000a /* EOF */: {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n\t\t\t\t\t\t/*::[*/0x0009/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0209/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0409/*::]*/:4\n\t\t\t\t\t}[RecordType] || {\n\t\t\t\t\t\t/*::[*/0x0200/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0300/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0400/*::]*/:4,\n\t\t\t\t\t\t/*::[*/0x0500/*::]*/:5,\n\t\t\t\t\t\t/*::[*/0x0600/*::]*/:8,\n\t\t\t\t\t\t/*::[*/0x0002/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0007/*::]*/:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\n\t\t\t\t\tif(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\t\t\t\tcase 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0005: case 0x0205 /* BoolErr */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x027e /* RK */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00bd /* MulRk */: {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0006: case 0x0206: case 0x0406 /* Formula */: {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x0007: case 0x0207 /* String */: {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 0x0021: case 0x0221 /* Array */: {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x04bc /* ShrFmla */: {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fd /* LabelSst */:\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0201 /* Blank */: if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00be /* MulBlank */: if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00d6 /* RString */:\n\t\t\t\tcase 0x0204 /* Label */: case 0x0004 /* BIFF2STR */:\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 0x0000: case 0x0200 /* Dimensions */: {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fc /* SST */: {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x041e /* Format */: { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF_load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF_load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 0x001e /* BIFF2FORMAT */: {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF_load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x00e5 /* MergeCells */: merges = merges.concat(val); break;\n\n\t\t\t\tcase 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;\n\t\t\t\tcase 0x007f /* ImData */: opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 0x01b8 /* HLink */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0800 /* HLinkTooltip */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x001c /* Note */: {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\t\t\t\tcase 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;\n\t\t\t\tcase 0x007d /* ColInfo */: {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0208 /* Row */: {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0026 /* LeftMargin */:\n\t\t\t\tcase 0x0027 /* RightMargin */:\n\t\t\t\tcase 0x0028 /* TopMargin */:\n\t\t\t\tcase 0x0029 /* BottomMargin */:\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][({0x26: \"left\", 0x27:\"right\", 0x28:\"top\", 0x29:\"bottom\"})[RecordType]] = val;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x00a1 /* Setup */: // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x023e /* Window2 */: // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0092 /* Palette */: palette = val; break;\n\t\t\t\tcase 0x0896 /* Theme */: themes = val; break;\n\t\t\t\tcase 0x008c /* Country */: country = val; break;\n\t\t\t\tcase 0x01ba /* CodeName */: {\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\tif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t}\n\t\t} else {\n\t\t\tif(!R) console.error(\"Missing Info for XLS Record 0x\" + RecordType.toString(16));\n\t\t\tblob.l += length;\n\t\t}\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = dup(table_fmt);\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb/*:CFBContainer*/, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '/!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '/!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tvar DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, \"n\");\n\tvar SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, \"n\");\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj/*:?CFBEntry*/, WB/*:?any*/;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64_decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb}/*:any*/);\n}\nvar /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */;\n\nvar _data/*:?any*/;\nif(CompObj) /*::CompObjP = */parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/);\nelse/*:: if(cfb instanceof CFBContainer) */ {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t/*::[*/0x0000/*::]*/: { /* n:\"BrtRowHdr\", */ f:parse_BrtRowHdr },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BrtCellBlank\", */ f:parse_BrtCellBlank },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BrtCellRk\", */ f:parse_BrtCellRk },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BrtCellError\", */ f:parse_BrtCellError },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BrtCellBool\", */ f:parse_BrtCellBool },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BrtCellReal\", */ f:parse_BrtCellReal },\n\t/*::[*/0x0006/*::]*/: { /* n:\"BrtCellSt\", */ f:parse_BrtCellSt },\n\t/*::[*/0x0007/*::]*/: { /* n:\"BrtCellIsst\", */ f:parse_BrtCellIsst },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BrtFmlaString\", */ f:parse_BrtFmlaString },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BrtFmlaNum\", */ f:parse_BrtFmlaNum },\n\t/*::[*/0x000A/*::]*/: { /* n:\"BrtFmlaBool\", */ f:parse_BrtFmlaBool },\n\t/*::[*/0x000B/*::]*/: { /* n:\"BrtFmlaError\", */ f:parse_BrtFmlaError },\n\t/*::[*/0x000C/*::]*/: { /* n:\"BrtShortBlank\", */ f:parse_BrtShortBlank },\n\t/*::[*/0x000D/*::]*/: { /* n:\"BrtShortRk\", */ f:parse_BrtShortRk },\n\t/*::[*/0x000E/*::]*/: { /* n:\"BrtShortError\", */ f:parse_BrtShortError },\n\t/*::[*/0x000F/*::]*/: { /* n:\"BrtShortBool\", */ f:parse_BrtShortBool },\n\t/*::[*/0x0010/*::]*/: { /* n:\"BrtShortReal\", */ f:parse_BrtShortReal },\n\t/*::[*/0x0011/*::]*/: { /* n:\"BrtShortSt\", */ f:parse_BrtShortSt },\n\t/*::[*/0x0012/*::]*/: { /* n:\"BrtShortIsst\", */ f:parse_BrtShortIsst },\n\t/*::[*/0x0013/*::]*/: { /* n:\"BrtSSTItem\", */ f:parse_RichStr },\n\t/*::[*/0x0014/*::]*/: { /* n:\"BrtPCDIMissing\" */ },\n\t/*::[*/0x0015/*::]*/: { /* n:\"BrtPCDINumber\" */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"BrtPCDIBoolean\" */ },\n\t/*::[*/0x0017/*::]*/: { /* n:\"BrtPCDIError\" */ },\n\t/*::[*/0x0018/*::]*/: { /* n:\"BrtPCDIString\" */ },\n\t/*::[*/0x0019/*::]*/: { /* n:\"BrtPCDIDatetime\" */ },\n\t/*::[*/0x001A/*::]*/: { /* n:\"BrtPCDIIndex\" */ },\n\t/*::[*/0x001B/*::]*/: { /* n:\"BrtPCDIAMissing\" */ },\n\t/*::[*/0x001C/*::]*/: { /* n:\"BrtPCDIANumber\" */ },\n\t/*::[*/0x001D/*::]*/: { /* n:\"BrtPCDIABoolean\" */ },\n\t/*::[*/0x001E/*::]*/: { /* n:\"BrtPCDIAError\" */ },\n\t/*::[*/0x001F/*::]*/: { /* n:\"BrtPCDIAString\" */ },\n\t/*::[*/0x0020/*::]*/: { /* n:\"BrtPCDIADatetime\" */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"BrtPCRRecord\" */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"BrtPCRRecordDt\" */ },\n\t/*::[*/0x0023/*::]*/: { /* n:\"BrtFRTBegin\", */ T:1 },\n\t/*::[*/0x0024/*::]*/: { /* n:\"BrtFRTEnd\", */ T:-1 },\n\t/*::[*/0x0025/*::]*/: { /* n:\"BrtACBegin\", */ T:1 },\n\t/*::[*/0x0026/*::]*/: { /* n:\"BrtACEnd\", */ T:-1 },\n\t/*::[*/0x0027/*::]*/: { /* n:\"BrtName\", */ f:parse_BrtName },\n\t/*::[*/0x0028/*::]*/: { /* n:\"BrtIndexRowBlock\" */ },\n\t/*::[*/0x002A/*::]*/: { /* n:\"BrtIndexBlock\" */ },\n\t/*::[*/0x002B/*::]*/: { /* n:\"BrtFont\", */ f:parse_BrtFont },\n\t/*::[*/0x002C/*::]*/: { /* n:\"BrtFmt\", */ f:parse_BrtFmt },\n\t/*::[*/0x002D/*::]*/: { /* n:\"BrtFill\", */ f:parse_BrtFill },\n\t/*::[*/0x002E/*::]*/: { /* n:\"BrtBorder\", */ f:parse_BrtBorder },\n\t/*::[*/0x002F/*::]*/: { /* n:\"BrtXF\", */ f:parse_BrtXF },\n\t/*::[*/0x0030/*::]*/: { /* n:\"BrtStyle\" */ },\n\t/*::[*/0x0031/*::]*/: { /* n:\"BrtCellMeta\", */ f:parse_Int32LE },\n\t/*::[*/0x0032/*::]*/: { /* n:\"BrtValueMeta\" */ },\n\t/*::[*/0x0033/*::]*/: { /* n:\"BrtMdb\" */ f:parse_BrtMdb },\n\t/*::[*/0x0034/*::]*/: { /* n:\"BrtBeginFmd\", */ T:1 },\n\t/*::[*/0x0035/*::]*/: { /* n:\"BrtEndFmd\", */ T:-1 },\n\t/*::[*/0x0036/*::]*/: { /* n:\"BrtBeginMdx\", */ T:1 },\n\t/*::[*/0x0037/*::]*/: { /* n:\"BrtEndMdx\", */ T:-1 },\n\t/*::[*/0x0038/*::]*/: { /* n:\"BrtBeginMdxTuple\", */ T:1 },\n\t/*::[*/0x0039/*::]*/: { /* n:\"BrtEndMdxTuple\", */ T:-1 },\n\t/*::[*/0x003A/*::]*/: { /* n:\"BrtMdxMbrIstr\" */ },\n\t/*::[*/0x003B/*::]*/: { /* n:\"BrtStr\" */ },\n\t/*::[*/0x003C/*::]*/: { /* n:\"BrtColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x003E/*::]*/: { /* n:\"BrtCellRString\", */ f:parse_BrtCellRString },\n\t/*::[*/0x003F/*::]*/: { /* n:\"BrtCalcChainItem$\", */ f:parse_BrtCalcChainItem$ },\n\t/*::[*/0x0040/*::]*/: { /* n:\"BrtDVal\", */ f:parse_BrtDVal },\n\t/*::[*/0x0041/*::]*/: { /* n:\"BrtSxvcellNum\" */ },\n\t/*::[*/0x0042/*::]*/: { /* n:\"BrtSxvcellStr\" */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BrtSxvcellBool\" */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BrtSxvcellErr\" */ },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BrtSxvcellDate\" */ },\n\t/*::[*/0x0046/*::]*/: { /* n:\"BrtSxvcellNil\" */ },\n\t/*::[*/0x0080/*::]*/: { /* n:\"BrtFileVersion\" */ },\n\t/*::[*/0x0081/*::]*/: { /* n:\"BrtBeginSheet\", */ T:1 },\n\t/*::[*/0x0082/*::]*/: { /* n:\"BrtEndSheet\", */ T:-1 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"BrtBeginBook\", */ T:1, f:parsenoop, p:0 },\n\t/*::[*/0x0084/*::]*/: { /* n:\"BrtEndBook\", */ T:-1 },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BrtBeginWsViews\", */ T:1 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"BrtEndWsViews\", */ T:-1 },\n\t/*::[*/0x0087/*::]*/: { /* n:\"BrtBeginBookViews\", */ T:1 },\n\t/*::[*/0x0088/*::]*/: { /* n:\"BrtEndBookViews\", */ T:-1 },\n\t/*::[*/0x0089/*::]*/: { /* n:\"BrtBeginWsView\", */ T:1, f:parse_BrtBeginWsView },\n\t/*::[*/0x008A/*::]*/: { /* n:\"BrtEndWsView\", */ T:-1 },\n\t/*::[*/0x008B/*::]*/: { /* n:\"BrtBeginCsViews\", */ T:1 },\n\t/*::[*/0x008C/*::]*/: { /* n:\"BrtEndCsViews\", */ T:-1 },\n\t/*::[*/0x008D/*::]*/: { /* n:\"BrtBeginCsView\", */ T:1 },\n\t/*::[*/0x008E/*::]*/: { /* n:\"BrtEndCsView\", */ T:-1 },\n\t/*::[*/0x008F/*::]*/: { /* n:\"BrtBeginBundleShs\", */ T:1 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"BrtEndBundleShs\", */ T:-1 },\n\t/*::[*/0x0091/*::]*/: { /* n:\"BrtBeginSheetData\", */ T:1 },\n\t/*::[*/0x0092/*::]*/: { /* n:\"BrtEndSheetData\", */ T:-1 },\n\t/*::[*/0x0093/*::]*/: { /* n:\"BrtWsProp\", */ f:parse_BrtWsProp },\n\t/*::[*/0x0094/*::]*/: { /* n:\"BrtWsDim\", */ f:parse_BrtWsDim, p:16 },\n\t/*::[*/0x0097/*::]*/: { /* n:\"BrtPane\", */ f:parse_BrtPane },\n\t/*::[*/0x0098/*::]*/: { /* n:\"BrtSel\" */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"BrtWbProp\", */ f:parse_BrtWbProp },\n\t/*::[*/0x009A/*::]*/: { /* n:\"BrtWbFactoid\" */ },\n\t/*::[*/0x009B/*::]*/: { /* n:\"BrtFileRecover\" */ },\n\t/*::[*/0x009C/*::]*/: { /* n:\"BrtBundleSh\", */ f:parse_BrtBundleSh },\n\t/*::[*/0x009D/*::]*/: { /* n:\"BrtCalcProp\" */ },\n\t/*::[*/0x009E/*::]*/: { /* n:\"BrtBookView\" */ },\n\t/*::[*/0x009F/*::]*/: { /* n:\"BrtBeginSst\", */ T:1, f:parse_BrtBeginSst },\n\t/*::[*/0x00A0/*::]*/: { /* n:\"BrtEndSst\", */ T:-1 },\n\t/*::[*/0x00A1/*::]*/: { /* n:\"BrtBeginAFilter\", */ T:1, f:parse_UncheckedRfX },\n\t/*::[*/0x00A2/*::]*/: { /* n:\"BrtEndAFilter\", */ T:-1 },\n\t/*::[*/0x00A3/*::]*/: { /* n:\"BrtBeginFilterColumn\", */ T:1 },\n\t/*::[*/0x00A4/*::]*/: { /* n:\"BrtEndFilterColumn\", */ T:-1 },\n\t/*::[*/0x00A5/*::]*/: { /* n:\"BrtBeginFilters\", */ T:1 },\n\t/*::[*/0x00A6/*::]*/: { /* n:\"BrtEndFilters\", */ T:-1 },\n\t/*::[*/0x00A7/*::]*/: { /* n:\"BrtFilter\" */ },\n\t/*::[*/0x00A8/*::]*/: { /* n:\"BrtColorFilter\" */ },\n\t/*::[*/0x00A9/*::]*/: { /* n:\"BrtIconFilter\" */ },\n\t/*::[*/0x00AA/*::]*/: { /* n:\"BrtTop10Filter\" */ },\n\t/*::[*/0x00AB/*::]*/: { /* n:\"BrtDynamicFilter\" */ },\n\t/*::[*/0x00AC/*::]*/: { /* n:\"BrtBeginCustomFilters\", */ T:1 },\n\t/*::[*/0x00AD/*::]*/: { /* n:\"BrtEndCustomFilters\", */ T:-1 },\n\t/*::[*/0x00AE/*::]*/: { /* n:\"BrtCustomFilter\" */ },\n\t/*::[*/0x00AF/*::]*/: { /* n:\"BrtAFilterDateGroupItem\" */ },\n\t/*::[*/0x00B0/*::]*/: { /* n:\"BrtMergeCell\", */ f:parse_BrtMergeCell },\n\t/*::[*/0x00B1/*::]*/: { /* n:\"BrtBeginMergeCells\", */ T:1 },\n\t/*::[*/0x00B2/*::]*/: { /* n:\"BrtEndMergeCells\", */ T:-1 },\n\t/*::[*/0x00B3/*::]*/: { /* n:\"BrtBeginPivotCacheDef\", */ T:1 },\n\t/*::[*/0x00B4/*::]*/: { /* n:\"BrtEndPivotCacheDef\", */ T:-1 },\n\t/*::[*/0x00B5/*::]*/: { /* n:\"BrtBeginPCDFields\", */ T:1 },\n\t/*::[*/0x00B6/*::]*/: { /* n:\"BrtEndPCDFields\", */ T:-1 },\n\t/*::[*/0x00B7/*::]*/: { /* n:\"BrtBeginPCDField\", */ T:1 },\n\t/*::[*/0x00B8/*::]*/: { /* n:\"BrtEndPCDField\", */ T:-1 },\n\t/*::[*/0x00B9/*::]*/: { /* n:\"BrtBeginPCDSource\", */ T:1 },\n\t/*::[*/0x00BA/*::]*/: { /* n:\"BrtEndPCDSource\", */ T:-1 },\n\t/*::[*/0x00BB/*::]*/: { /* n:\"BrtBeginPCDSRange\", */ T:1 },\n\t/*::[*/0x00BC/*::]*/: { /* n:\"BrtEndPCDSRange\", */ T:-1 },\n\t/*::[*/0x00BD/*::]*/: { /* n:\"BrtBeginPCDFAtbl\", */ T:1 },\n\t/*::[*/0x00BE/*::]*/: { /* n:\"BrtEndPCDFAtbl\", */ T:-1 },\n\t/*::[*/0x00BF/*::]*/: { /* n:\"BrtBeginPCDIRun\", */ T:1 },\n\t/*::[*/0x00C0/*::]*/: { /* n:\"BrtEndPCDIRun\", */ T:-1 },\n\t/*::[*/0x00C1/*::]*/: { /* n:\"BrtBeginPivotCacheRecords\", */ T:1 },\n\t/*::[*/0x00C2/*::]*/: { /* n:\"BrtEndPivotCacheRecords\", */ T:-1 },\n\t/*::[*/0x00C3/*::]*/: { /* n:\"BrtBeginPCDHierarchies\", */ T:1 },\n\t/*::[*/0x00C4/*::]*/: { /* n:\"BrtEndPCDHierarchies\", */ T:-1 },\n\t/*::[*/0x00C5/*::]*/: { /* n:\"BrtBeginPCDHierarchy\", */ T:1 },\n\t/*::[*/0x00C6/*::]*/: { /* n:\"BrtEndPCDHierarchy\", */ T:-1 },\n\t/*::[*/0x00C7/*::]*/: { /* n:\"BrtBeginPCDHFieldsUsage\", */ T:1 },\n\t/*::[*/0x00C8/*::]*/: { /* n:\"BrtEndPCDHFieldsUsage\", */ T:-1 },\n\t/*::[*/0x00C9/*::]*/: { /* n:\"BrtBeginExtConnection\", */ T:1 },\n\t/*::[*/0x00CA/*::]*/: { /* n:\"BrtEndExtConnection\", */ T:-1 },\n\t/*::[*/0x00CB/*::]*/: { /* n:\"BrtBeginECDbProps\", */ T:1 },\n\t/*::[*/0x00CC/*::]*/: { /* n:\"BrtEndECDbProps\", */ T:-1 },\n\t/*::[*/0x00CD/*::]*/: { /* n:\"BrtBeginECOlapProps\", */ T:1 },\n\t/*::[*/0x00CE/*::]*/: { /* n:\"BrtEndECOlapProps\", */ T:-1 },\n\t/*::[*/0x00CF/*::]*/: { /* n:\"BrtBeginPCDSConsol\", */ T:1 },\n\t/*::[*/0x00D0/*::]*/: { /* n:\"BrtEndPCDSConsol\", */ T:-1 },\n\t/*::[*/0x00D1/*::]*/: { /* n:\"BrtBeginPCDSCPages\", */ T:1 },\n\t/*::[*/0x00D2/*::]*/: { /* n:\"BrtEndPCDSCPages\", */ T:-1 },\n\t/*::[*/0x00D3/*::]*/: { /* n:\"BrtBeginPCDSCPage\", */ T:1 },\n\t/*::[*/0x00D4/*::]*/: { /* n:\"BrtEndPCDSCPage\", */ T:-1 },\n\t/*::[*/0x00D5/*::]*/: { /* n:\"BrtBeginPCDSCPItem\", */ T:1 },\n\t/*::[*/0x00D6/*::]*/: { /* n:\"BrtEndPCDSCPItem\", */ T:-1 },\n\t/*::[*/0x00D7/*::]*/: { /* n:\"BrtBeginPCDSCSets\", */ T:1 },\n\t/*::[*/0x00D8/*::]*/: { /* n:\"BrtEndPCDSCSets\", */ T:-1 },\n\t/*::[*/0x00D9/*::]*/: { /* n:\"BrtBeginPCDSCSet\", */ T:1 },\n\t/*::[*/0x00DA/*::]*/: { /* n:\"BrtEndPCDSCSet\", */ T:-1 },\n\t/*::[*/0x00DB/*::]*/: { /* n:\"BrtBeginPCDFGroup\", */ T:1 },\n\t/*::[*/0x00DC/*::]*/: { /* n:\"BrtEndPCDFGroup\", */ T:-1 },\n\t/*::[*/0x00DD/*::]*/: { /* n:\"BrtBeginPCDFGItems\", */ T:1 },\n\t/*::[*/0x00DE/*::]*/: { /* n:\"BrtEndPCDFGItems\", */ T:-1 },\n\t/*::[*/0x00DF/*::]*/: { /* n:\"BrtBeginPCDFGRange\", */ T:1 },\n\t/*::[*/0x00E0/*::]*/: { /* n:\"BrtEndPCDFGRange\", */ T:-1 },\n\t/*::[*/0x00E1/*::]*/: { /* n:\"BrtBeginPCDFGDiscrete\", */ T:1 },\n\t/*::[*/0x00E2/*::]*/: { /* n:\"BrtEndPCDFGDiscrete\", */ T:-1 },\n\t/*::[*/0x00E3/*::]*/: { /* n:\"BrtBeginPCDSDTupleCache\", */ T:1 },\n\t/*::[*/0x00E4/*::]*/: { /* n:\"BrtEndPCDSDTupleCache\", */ T:-1 },\n\t/*::[*/0x00E5/*::]*/: { /* n:\"BrtBeginPCDSDTCEntries\", */ T:1 },\n\t/*::[*/0x00E6/*::]*/: { /* n:\"BrtEndPCDSDTCEntries\", */ T:-1 },\n\t/*::[*/0x00E7/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembers\", */ T:1 },\n\t/*::[*/0x00E8/*::]*/: { /* n:\"BrtEndPCDSDTCEMembers\", */ T:-1 },\n\t/*::[*/0x00E9/*::]*/: { /* n:\"BrtBeginPCDSDTCEMember\", */ T:1 },\n\t/*::[*/0x00EA/*::]*/: { /* n:\"BrtEndPCDSDTCEMember\", */ T:-1 },\n\t/*::[*/0x00EB/*::]*/: { /* n:\"BrtBeginPCDSDTCQueries\", */ T:1 },\n\t/*::[*/0x00EC/*::]*/: { /* n:\"BrtEndPCDSDTCQueries\", */ T:-1 },\n\t/*::[*/0x00ED/*::]*/: { /* n:\"BrtBeginPCDSDTCQuery\", */ T:1 },\n\t/*::[*/0x00EE/*::]*/: { /* n:\"BrtEndPCDSDTCQuery\", */ T:-1 },\n\t/*::[*/0x00EF/*::]*/: { /* n:\"BrtBeginPCDSDTCSets\", */ T:1 },\n\t/*::[*/0x00F0/*::]*/: { /* n:\"BrtEndPCDSDTCSets\", */ T:-1 },\n\t/*::[*/0x00F1/*::]*/: { /* n:\"BrtBeginPCDSDTCSet\", */ T:1 },\n\t/*::[*/0x00F2/*::]*/: { /* n:\"BrtEndPCDSDTCSet\", */ T:-1 },\n\t/*::[*/0x00F3/*::]*/: { /* n:\"BrtBeginPCDCalcItems\", */ T:1 },\n\t/*::[*/0x00F4/*::]*/: { /* n:\"BrtEndPCDCalcItems\", */ T:-1 },\n\t/*::[*/0x00F5/*::]*/: { /* n:\"BrtBeginPCDCalcItem\", */ T:1 },\n\t/*::[*/0x00F6/*::]*/: { /* n:\"BrtEndPCDCalcItem\", */ T:-1 },\n\t/*::[*/0x00F7/*::]*/: { /* n:\"BrtBeginPRule\", */ T:1 },\n\t/*::[*/0x00F8/*::]*/: { /* n:\"BrtEndPRule\", */ T:-1 },\n\t/*::[*/0x00F9/*::]*/: { /* n:\"BrtBeginPRFilters\", */ T:1 },\n\t/*::[*/0x00FA/*::]*/: { /* n:\"BrtEndPRFilters\", */ T:-1 },\n\t/*::[*/0x00FB/*::]*/: { /* n:\"BrtBeginPRFilter\", */ T:1 },\n\t/*::[*/0x00FC/*::]*/: { /* n:\"BrtEndPRFilter\", */ T:-1 },\n\t/*::[*/0x00FD/*::]*/: { /* n:\"BrtBeginPNames\", */ T:1 },\n\t/*::[*/0x00FE/*::]*/: { /* n:\"BrtEndPNames\", */ T:-1 },\n\t/*::[*/0x00FF/*::]*/: { /* n:\"BrtBeginPName\", */ T:1 },\n\t/*::[*/0x0100/*::]*/: { /* n:\"BrtEndPName\", */ T:-1 },\n\t/*::[*/0x0101/*::]*/: { /* n:\"BrtBeginPNPairs\", */ T:1 },\n\t/*::[*/0x0102/*::]*/: { /* n:\"BrtEndPNPairs\", */ T:-1 },\n\t/*::[*/0x0103/*::]*/: { /* n:\"BrtBeginPNPair\", */ T:1 },\n\t/*::[*/0x0104/*::]*/: { /* n:\"BrtEndPNPair\", */ T:-1 },\n\t/*::[*/0x0105/*::]*/: { /* n:\"BrtBeginECWebProps\", */ T:1 },\n\t/*::[*/0x0106/*::]*/: { /* n:\"BrtEndECWebProps\", */ T:-1 },\n\t/*::[*/0x0107/*::]*/: { /* n:\"BrtBeginEcWpTables\", */ T:1 },\n\t/*::[*/0x0108/*::]*/: { /* n:\"BrtEndECWPTables\", */ T:-1 },\n\t/*::[*/0x0109/*::]*/: { /* n:\"BrtBeginECParams\", */ T:1 },\n\t/*::[*/0x010A/*::]*/: { /* n:\"BrtEndECParams\", */ T:-1 },\n\t/*::[*/0x010B/*::]*/: { /* n:\"BrtBeginECParam\", */ T:1 },\n\t/*::[*/0x010C/*::]*/: { /* n:\"BrtEndECParam\", */ T:-1 },\n\t/*::[*/0x010D/*::]*/: { /* n:\"BrtBeginPCDKPIs\", */ T:1 },\n\t/*::[*/0x010E/*::]*/: { /* n:\"BrtEndPCDKPIs\", */ T:-1 },\n\t/*::[*/0x010F/*::]*/: { /* n:\"BrtBeginPCDKPI\", */ T:1 },\n\t/*::[*/0x0110/*::]*/: { /* n:\"BrtEndPCDKPI\", */ T:-1 },\n\t/*::[*/0x0111/*::]*/: { /* n:\"BrtBeginDims\", */ T:1 },\n\t/*::[*/0x0112/*::]*/: { /* n:\"BrtEndDims\", */ T:-1 },\n\t/*::[*/0x0113/*::]*/: { /* n:\"BrtBeginDim\", */ T:1 },\n\t/*::[*/0x0114/*::]*/: { /* n:\"BrtEndDim\", */ T:-1 },\n\t/*::[*/0x0115/*::]*/: { /* n:\"BrtIndexPartEnd\" */ },\n\t/*::[*/0x0116/*::]*/: { /* n:\"BrtBeginStyleSheet\", */ T:1 },\n\t/*::[*/0x0117/*::]*/: { /* n:\"BrtEndStyleSheet\", */ T:-1 },\n\t/*::[*/0x0118/*::]*/: { /* n:\"BrtBeginSXView\", */ T:1 },\n\t/*::[*/0x0119/*::]*/: { /* n:\"BrtEndSXVI\", */ T:-1 },\n\t/*::[*/0x011A/*::]*/: { /* n:\"BrtBeginSXVI\", */ T:1 },\n\t/*::[*/0x011B/*::]*/: { /* n:\"BrtBeginSXVIs\", */ T:1 },\n\t/*::[*/0x011C/*::]*/: { /* n:\"BrtEndSXVIs\", */ T:-1 },\n\t/*::[*/0x011D/*::]*/: { /* n:\"BrtBeginSXVD\", */ T:1 },\n\t/*::[*/0x011E/*::]*/: { /* n:\"BrtEndSXVD\", */ T:-1 },\n\t/*::[*/0x011F/*::]*/: { /* n:\"BrtBeginSXVDs\", */ T:1 },\n\t/*::[*/0x0120/*::]*/: { /* n:\"BrtEndSXVDs\", */ T:-1 },\n\t/*::[*/0x0121/*::]*/: { /* n:\"BrtBeginSXPI\", */ T:1 },\n\t/*::[*/0x0122/*::]*/: { /* n:\"BrtEndSXPI\", */ T:-1 },\n\t/*::[*/0x0123/*::]*/: { /* n:\"BrtBeginSXPIs\", */ T:1 },\n\t/*::[*/0x0124/*::]*/: { /* n:\"BrtEndSXPIs\", */ T:-1 },\n\t/*::[*/0x0125/*::]*/: { /* n:\"BrtBeginSXDI\", */ T:1 },\n\t/*::[*/0x0126/*::]*/: { /* n:\"BrtEndSXDI\", */ T:-1 },\n\t/*::[*/0x0127/*::]*/: { /* n:\"BrtBeginSXDIs\", */ T:1 },\n\t/*::[*/0x0128/*::]*/: { /* n:\"BrtEndSXDIs\", */ T:-1 },\n\t/*::[*/0x0129/*::]*/: { /* n:\"BrtBeginSXLI\", */ T:1 },\n\t/*::[*/0x012A/*::]*/: { /* n:\"BrtEndSXLI\", */ T:-1 },\n\t/*::[*/0x012B/*::]*/: { /* n:\"BrtBeginSXLIRws\", */ T:1 },\n\t/*::[*/0x012C/*::]*/: { /* n:\"BrtEndSXLIRws\", */ T:-1 },\n\t/*::[*/0x012D/*::]*/: { /* n:\"BrtBeginSXLICols\", */ T:1 },\n\t/*::[*/0x012E/*::]*/: { /* n:\"BrtEndSXLICols\", */ T:-1 },\n\t/*::[*/0x012F/*::]*/: { /* n:\"BrtBeginSXFormat\", */ T:1 },\n\t/*::[*/0x0130/*::]*/: { /* n:\"BrtEndSXFormat\", */ T:-1 },\n\t/*::[*/0x0131/*::]*/: { /* n:\"BrtBeginSXFormats\", */ T:1 },\n\t/*::[*/0x0132/*::]*/: { /* n:\"BrtEndSxFormats\", */ T:-1 },\n\t/*::[*/0x0133/*::]*/: { /* n:\"BrtBeginSxSelect\", */ T:1 },\n\t/*::[*/0x0134/*::]*/: { /* n:\"BrtEndSxSelect\", */ T:-1 },\n\t/*::[*/0x0135/*::]*/: { /* n:\"BrtBeginISXVDRws\", */ T:1 },\n\t/*::[*/0x0136/*::]*/: { /* n:\"BrtEndISXVDRws\", */ T:-1 },\n\t/*::[*/0x0137/*::]*/: { /* n:\"BrtBeginISXVDCols\", */ T:1 },\n\t/*::[*/0x0138/*::]*/: { /* n:\"BrtEndISXVDCols\", */ T:-1 },\n\t/*::[*/0x0139/*::]*/: { /* n:\"BrtEndSXLocation\", */ T:-1 },\n\t/*::[*/0x013A/*::]*/: { /* n:\"BrtBeginSXLocation\", */ T:1 },\n\t/*::[*/0x013B/*::]*/: { /* n:\"BrtEndSXView\", */ T:-1 },\n\t/*::[*/0x013C/*::]*/: { /* n:\"BrtBeginSXTHs\", */ T:1 },\n\t/*::[*/0x013D/*::]*/: { /* n:\"BrtEndSXTHs\", */ T:-1 },\n\t/*::[*/0x013E/*::]*/: { /* n:\"BrtBeginSXTH\", */ T:1 },\n\t/*::[*/0x013F/*::]*/: { /* n:\"BrtEndSXTH\", */ T:-1 },\n\t/*::[*/0x0140/*::]*/: { /* n:\"BrtBeginISXTHRws\", */ T:1 },\n\t/*::[*/0x0141/*::]*/: { /* n:\"BrtEndISXTHRws\", */ T:-1 },\n\t/*::[*/0x0142/*::]*/: { /* n:\"BrtBeginISXTHCols\", */ T:1 },\n\t/*::[*/0x0143/*::]*/: { /* n:\"BrtEndISXTHCols\", */ T:-1 },\n\t/*::[*/0x0144/*::]*/: { /* n:\"BrtBeginSXTDMPS\", */ T:1 },\n\t/*::[*/0x0145/*::]*/: { /* n:\"BrtEndSXTDMPs\", */ T:-1 },\n\t/*::[*/0x0146/*::]*/: { /* n:\"BrtBeginSXTDMP\", */ T:1 },\n\t/*::[*/0x0147/*::]*/: { /* n:\"BrtEndSXTDMP\", */ T:-1 },\n\t/*::[*/0x0148/*::]*/: { /* n:\"BrtBeginSXTHItems\", */ T:1 },\n\t/*::[*/0x0149/*::]*/: { /* n:\"BrtEndSXTHItems\", */ T:-1 },\n\t/*::[*/0x014A/*::]*/: { /* n:\"BrtBeginSXTHItem\", */ T:1 },\n\t/*::[*/0x014B/*::]*/: { /* n:\"BrtEndSXTHItem\", */ T:-1 },\n\t/*::[*/0x014C/*::]*/: { /* n:\"BrtBeginMetadata\", */ T:1 },\n\t/*::[*/0x014D/*::]*/: { /* n:\"BrtEndMetadata\", */ T:-1 },\n\t/*::[*/0x014E/*::]*/: { /* n:\"BrtBeginEsmdtinfo\", */ T:1 },\n\t/*::[*/0x014F/*::]*/: { /* n:\"BrtMdtinfo\", */ f:parse_BrtMdtinfo },\n\t/*::[*/0x0150/*::]*/: { /* n:\"BrtEndEsmdtinfo\", */ T:-1 },\n\t/*::[*/0x0151/*::]*/: { /* n:\"BrtBeginEsmdb\", */ f:parse_BrtBeginEsmdb, T:1 },\n\t/*::[*/0x0152/*::]*/: { /* n:\"BrtEndEsmdb\", */ T:-1 },\n\t/*::[*/0x0153/*::]*/: { /* n:\"BrtBeginEsfmd\", */ T:1 },\n\t/*::[*/0x0154/*::]*/: { /* n:\"BrtEndEsfmd\", */ T:-1 },\n\t/*::[*/0x0155/*::]*/: { /* n:\"BrtBeginSingleCells\", */ T:1 },\n\t/*::[*/0x0156/*::]*/: { /* n:\"BrtEndSingleCells\", */ T:-1 },\n\t/*::[*/0x0157/*::]*/: { /* n:\"BrtBeginList\", */ T:1 },\n\t/*::[*/0x0158/*::]*/: { /* n:\"BrtEndList\", */ T:-1 },\n\t/*::[*/0x0159/*::]*/: { /* n:\"BrtBeginListCols\", */ T:1 },\n\t/*::[*/0x015A/*::]*/: { /* n:\"BrtEndListCols\", */ T:-1 },\n\t/*::[*/0x015B/*::]*/: { /* n:\"BrtBeginListCol\", */ T:1 },\n\t/*::[*/0x015C/*::]*/: { /* n:\"BrtEndListCol\", */ T:-1 },\n\t/*::[*/0x015D/*::]*/: { /* n:\"BrtBeginListXmlCPr\", */ T:1 },\n\t/*::[*/0x015E/*::]*/: { /* n:\"BrtEndListXmlCPr\", */ T:-1 },\n\t/*::[*/0x015F/*::]*/: { /* n:\"BrtListCCFmla\" */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"BrtListTrFmla\" */ },\n\t/*::[*/0x0161/*::]*/: { /* n:\"BrtBeginExternals\", */ T:1 },\n\t/*::[*/0x0162/*::]*/: { /* n:\"BrtEndExternals\", */ T:-1 },\n\t/*::[*/0x0163/*::]*/: { /* n:\"BrtSupBookSrc\", */ f:parse_RelID},\n\t/*::[*/0x0165/*::]*/: { /* n:\"BrtSupSelf\" */ },\n\t/*::[*/0x0166/*::]*/: { /* n:\"BrtSupSame\" */ },\n\t/*::[*/0x0167/*::]*/: { /* n:\"BrtSupTabs\" */ },\n\t/*::[*/0x0168/*::]*/: { /* n:\"BrtBeginSupBook\", */ T:1 },\n\t/*::[*/0x0169/*::]*/: { /* n:\"BrtPlaceholderName\" */ },\n\t/*::[*/0x016A/*::]*/: { /* n:\"BrtExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x016B/*::]*/: { /* n:\"BrtExternTableStart\" */ },\n\t/*::[*/0x016C/*::]*/: { /* n:\"BrtExternTableEnd\" */ },\n\t/*::[*/0x016E/*::]*/: { /* n:\"BrtExternRowHdr\" */ },\n\t/*::[*/0x016F/*::]*/: { /* n:\"BrtExternCellBlank\" */ },\n\t/*::[*/0x0170/*::]*/: { /* n:\"BrtExternCellReal\" */ },\n\t/*::[*/0x0171/*::]*/: { /* n:\"BrtExternCellBool\" */ },\n\t/*::[*/0x0172/*::]*/: { /* n:\"BrtExternCellError\" */ },\n\t/*::[*/0x0173/*::]*/: { /* n:\"BrtExternCellString\" */ },\n\t/*::[*/0x0174/*::]*/: { /* n:\"BrtBeginEsmdx\", */ T:1 },\n\t/*::[*/0x0175/*::]*/: { /* n:\"BrtEndEsmdx\", */ T:-1 },\n\t/*::[*/0x0176/*::]*/: { /* n:\"BrtBeginMdxSet\", */ T:1 },\n\t/*::[*/0x0177/*::]*/: { /* n:\"BrtEndMdxSet\", */ T:-1 },\n\t/*::[*/0x0178/*::]*/: { /* n:\"BrtBeginMdxMbrProp\", */ T:1 },\n\t/*::[*/0x0179/*::]*/: { /* n:\"BrtEndMdxMbrProp\", */ T:-1 },\n\t/*::[*/0x017A/*::]*/: { /* n:\"BrtBeginMdxKPI\", */ T:1 },\n\t/*::[*/0x017B/*::]*/: { /* n:\"BrtEndMdxKPI\", */ T:-1 },\n\t/*::[*/0x017C/*::]*/: { /* n:\"BrtBeginEsstr\", */ T:1 },\n\t/*::[*/0x017D/*::]*/: { /* n:\"BrtEndEsstr\", */ T:-1 },\n\t/*::[*/0x017E/*::]*/: { /* n:\"BrtBeginPRFItem\", */ T:1 },\n\t/*::[*/0x017F/*::]*/: { /* n:\"BrtEndPRFItem\", */ T:-1 },\n\t/*::[*/0x0180/*::]*/: { /* n:\"BrtBeginPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0181/*::]*/: { /* n:\"BrtEndPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0182/*::]*/: { /* n:\"BrtBeginPivotCacheID\", */ T:1 },\n\t/*::[*/0x0183/*::]*/: { /* n:\"BrtEndPivotCacheID\", */ T:-1 },\n\t/*::[*/0x0184/*::]*/: { /* n:\"BrtBeginISXVIs\", */ T:1 },\n\t/*::[*/0x0185/*::]*/: { /* n:\"BrtEndISXVIs\", */ T:-1 },\n\t/*::[*/0x0186/*::]*/: { /* n:\"BrtBeginColInfos\", */ T:1 },\n\t/*::[*/0x0187/*::]*/: { /* n:\"BrtEndColInfos\", */ T:-1 },\n\t/*::[*/0x0188/*::]*/: { /* n:\"BrtBeginRwBrk\", */ T:1 },\n\t/*::[*/0x0189/*::]*/: { /* n:\"BrtEndRwBrk\", */ T:-1 },\n\t/*::[*/0x018A/*::]*/: { /* n:\"BrtBeginColBrk\", */ T:1 },\n\t/*::[*/0x018B/*::]*/: { /* n:\"BrtEndColBrk\", */ T:-1 },\n\t/*::[*/0x018C/*::]*/: { /* n:\"BrtBrk\" */ },\n\t/*::[*/0x018D/*::]*/: { /* n:\"BrtUserBookView\" */ },\n\t/*::[*/0x018E/*::]*/: { /* n:\"BrtInfo\" */ },\n\t/*::[*/0x018F/*::]*/: { /* n:\"BrtCUsr\" */ },\n\t/*::[*/0x0190/*::]*/: { /* n:\"BrtUsr\" */ },\n\t/*::[*/0x0191/*::]*/: { /* n:\"BrtBeginUsers\", */ T:1 },\n\t/*::[*/0x0193/*::]*/: { /* n:\"BrtEOF\" */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"BrtUCR\" */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"BrtRRInsDel\" */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"BrtRREndInsDel\" */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BrtRRMove\" */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"BrtRREndMove\" */ },\n\t/*::[*/0x0199/*::]*/: { /* n:\"BrtRRChgCell\" */ },\n\t/*::[*/0x019A/*::]*/: { /* n:\"BrtRREndChgCell\" */ },\n\t/*::[*/0x019B/*::]*/: { /* n:\"BrtRRHeader\" */ },\n\t/*::[*/0x019C/*::]*/: { /* n:\"BrtRRUserView\" */ },\n\t/*::[*/0x019D/*::]*/: { /* n:\"BrtRRRenSheet\" */ },\n\t/*::[*/0x019E/*::]*/: { /* n:\"BrtRRInsertSh\" */ },\n\t/*::[*/0x019F/*::]*/: { /* n:\"BrtRRDefName\" */ },\n\t/*::[*/0x01A0/*::]*/: { /* n:\"BrtRRNote\" */ },\n\t/*::[*/0x01A1/*::]*/: { /* n:\"BrtRRConflict\" */ },\n\t/*::[*/0x01A2/*::]*/: { /* n:\"BrtRRTQSIF\" */ },\n\t/*::[*/0x01A3/*::]*/: { /* n:\"BrtRRFormat\" */ },\n\t/*::[*/0x01A4/*::]*/: { /* n:\"BrtRREndFormat\" */ },\n\t/*::[*/0x01A5/*::]*/: { /* n:\"BrtRRAutoFmt\" */ },\n\t/*::[*/0x01A6/*::]*/: { /* n:\"BrtBeginUserShViews\", */ T:1 },\n\t/*::[*/0x01A7/*::]*/: { /* n:\"BrtBeginUserShView\", */ T:1 },\n\t/*::[*/0x01A8/*::]*/: { /* n:\"BrtEndUserShView\", */ T:-1 },\n\t/*::[*/0x01A9/*::]*/: { /* n:\"BrtEndUserShViews\", */ T:-1 },\n\t/*::[*/0x01AA/*::]*/: { /* n:\"BrtArrFmla\", */ f:parse_BrtArrFmla },\n\t/*::[*/0x01AB/*::]*/: { /* n:\"BrtShrFmla\", */ f:parse_BrtShrFmla },\n\t/*::[*/0x01AC/*::]*/: { /* n:\"BrtTable\" */ },\n\t/*::[*/0x01AD/*::]*/: { /* n:\"BrtBeginExtConnections\", */ T:1 },\n\t/*::[*/0x01AE/*::]*/: { /* n:\"BrtEndExtConnections\", */ T:-1 },\n\t/*::[*/0x01AF/*::]*/: { /* n:\"BrtBeginPCDCalcMems\", */ T:1 },\n\t/*::[*/0x01B0/*::]*/: { /* n:\"BrtEndPCDCalcMems\", */ T:-1 },\n\t/*::[*/0x01B1/*::]*/: { /* n:\"BrtBeginPCDCalcMem\", */ T:1 },\n\t/*::[*/0x01B2/*::]*/: { /* n:\"BrtEndPCDCalcMem\", */ T:-1 },\n\t/*::[*/0x01B3/*::]*/: { /* n:\"BrtBeginPCDHGLevels\", */ T:1 },\n\t/*::[*/0x01B4/*::]*/: { /* n:\"BrtEndPCDHGLevels\", */ T:-1 },\n\t/*::[*/0x01B5/*::]*/: { /* n:\"BrtBeginPCDHGLevel\", */ T:1 },\n\t/*::[*/0x01B6/*::]*/: { /* n:\"BrtEndPCDHGLevel\", */ T:-1 },\n\t/*::[*/0x01B7/*::]*/: { /* n:\"BrtBeginPCDHGLGroups\", */ T:1 },\n\t/*::[*/0x01B8/*::]*/: { /* n:\"BrtEndPCDHGLGroups\", */ T:-1 },\n\t/*::[*/0x01B9/*::]*/: { /* n:\"BrtBeginPCDHGLGroup\", */ T:1 },\n\t/*::[*/0x01BA/*::]*/: { /* n:\"BrtEndPCDHGLGroup\", */ T:-1 },\n\t/*::[*/0x01BB/*::]*/: { /* n:\"BrtBeginPCDHGLGMembers\", */ T:1 },\n\t/*::[*/0x01BC/*::]*/: { /* n:\"BrtEndPCDHGLGMembers\", */ T:-1 },\n\t/*::[*/0x01BD/*::]*/: { /* n:\"BrtBeginPCDHGLGMember\", */ T:1 },\n\t/*::[*/0x01BE/*::]*/: { /* n:\"BrtEndPCDHGLGMember\", */ T:-1 },\n\t/*::[*/0x01BF/*::]*/: { /* n:\"BrtBeginQSI\", */ T:1 },\n\t/*::[*/0x01C0/*::]*/: { /* n:\"BrtEndQSI\", */ T:-1 },\n\t/*::[*/0x01C1/*::]*/: { /* n:\"BrtBeginQSIR\", */ T:1 },\n\t/*::[*/0x01C2/*::]*/: { /* n:\"BrtEndQSIR\", */ T:-1 },\n\t/*::[*/0x01C3/*::]*/: { /* n:\"BrtBeginDeletedNames\", */ T:1 },\n\t/*::[*/0x01C4/*::]*/: { /* n:\"BrtEndDeletedNames\", */ T:-1 },\n\t/*::[*/0x01C5/*::]*/: { /* n:\"BrtBeginDeletedName\", */ T:1 },\n\t/*::[*/0x01C6/*::]*/: { /* n:\"BrtEndDeletedName\", */ T:-1 },\n\t/*::[*/0x01C7/*::]*/: { /* n:\"BrtBeginQSIFs\", */ T:1 },\n\t/*::[*/0x01C8/*::]*/: { /* n:\"BrtEndQSIFs\", */ T:-1 },\n\t/*::[*/0x01C9/*::]*/: { /* n:\"BrtBeginQSIF\", */ T:1 },\n\t/*::[*/0x01CA/*::]*/: { /* n:\"BrtEndQSIF\", */ T:-1 },\n\t/*::[*/0x01CB/*::]*/: { /* n:\"BrtBeginAutoSortScope\", */ T:1 },\n\t/*::[*/0x01CC/*::]*/: { /* n:\"BrtEndAutoSortScope\", */ T:-1 },\n\t/*::[*/0x01CD/*::]*/: { /* n:\"BrtBeginConditionalFormatting\", */ T:1 },\n\t/*::[*/0x01CE/*::]*/: { /* n:\"BrtEndConditionalFormatting\", */ T:-1 },\n\t/*::[*/0x01CF/*::]*/: { /* n:\"BrtBeginCFRule\", */ T:1 },\n\t/*::[*/0x01D0/*::]*/: { /* n:\"BrtEndCFRule\", */ T:-1 },\n\t/*::[*/0x01D1/*::]*/: { /* n:\"BrtBeginIconSet\", */ T:1 },\n\t/*::[*/0x01D2/*::]*/: { /* n:\"BrtEndIconSet\", */ T:-1 },\n\t/*::[*/0x01D3/*::]*/: { /* n:\"BrtBeginDatabar\", */ T:1 },\n\t/*::[*/0x01D4/*::]*/: { /* n:\"BrtEndDatabar\", */ T:-1 },\n\t/*::[*/0x01D5/*::]*/: { /* n:\"BrtBeginColorScale\", */ T:1 },\n\t/*::[*/0x01D6/*::]*/: { /* n:\"BrtEndColorScale\", */ T:-1 },\n\t/*::[*/0x01D7/*::]*/: { /* n:\"BrtCFVO\" */ },\n\t/*::[*/0x01D8/*::]*/: { /* n:\"BrtExternValueMeta\" */ },\n\t/*::[*/0x01D9/*::]*/: { /* n:\"BrtBeginColorPalette\", */ T:1 },\n\t/*::[*/0x01DA/*::]*/: { /* n:\"BrtEndColorPalette\", */ T:-1 },\n\t/*::[*/0x01DB/*::]*/: { /* n:\"BrtIndexedColor\" */ },\n\t/*::[*/0x01DC/*::]*/: { /* n:\"BrtMargins\", */ f:parse_BrtMargins },\n\t/*::[*/0x01DD/*::]*/: { /* n:\"BrtPrintOptions\" */ },\n\t/*::[*/0x01DE/*::]*/: { /* n:\"BrtPageSetup\" */ },\n\t/*::[*/0x01DF/*::]*/: { /* n:\"BrtBeginHeaderFooter\", */ T:1 },\n\t/*::[*/0x01E0/*::]*/: { /* n:\"BrtEndHeaderFooter\", */ T:-1 },\n\t/*::[*/0x01E1/*::]*/: { /* n:\"BrtBeginSXCrtFormat\", */ T:1 },\n\t/*::[*/0x01E2/*::]*/: { /* n:\"BrtEndSXCrtFormat\", */ T:-1 },\n\t/*::[*/0x01E3/*::]*/: { /* n:\"BrtBeginSXCrtFormats\", */ T:1 },\n\t/*::[*/0x01E4/*::]*/: { /* n:\"BrtEndSXCrtFormats\", */ T:-1 },\n\t/*::[*/0x01E5/*::]*/: { /* n:\"BrtWsFmtInfo\", */ f:parse_BrtWsFmtInfo },\n\t/*::[*/0x01E6/*::]*/: { /* n:\"BrtBeginMgs\", */ T:1 },\n\t/*::[*/0x01E7/*::]*/: { /* n:\"BrtEndMGs\", */ T:-1 },\n\t/*::[*/0x01E8/*::]*/: { /* n:\"BrtBeginMGMaps\", */ T:1 },\n\t/*::[*/0x01E9/*::]*/: { /* n:\"BrtEndMGMaps\", */ T:-1 },\n\t/*::[*/0x01EA/*::]*/: { /* n:\"BrtBeginMG\", */ T:1 },\n\t/*::[*/0x01EB/*::]*/: { /* n:\"BrtEndMG\", */ T:-1 },\n\t/*::[*/0x01EC/*::]*/: { /* n:\"BrtBeginMap\", */ T:1 },\n\t/*::[*/0x01ED/*::]*/: { /* n:\"BrtEndMap\", */ T:-1 },\n\t/*::[*/0x01EE/*::]*/: { /* n:\"BrtHLink\", */ f:parse_BrtHLink },\n\t/*::[*/0x01EF/*::]*/: { /* n:\"BrtBeginDCon\", */ T:1 },\n\t/*::[*/0x01F0/*::]*/: { /* n:\"BrtEndDCon\", */ T:-1 },\n\t/*::[*/0x01F1/*::]*/: { /* n:\"BrtBeginDRefs\", */ T:1 },\n\t/*::[*/0x01F2/*::]*/: { /* n:\"BrtEndDRefs\", */ T:-1 },\n\t/*::[*/0x01F3/*::]*/: { /* n:\"BrtDRef\" */ },\n\t/*::[*/0x01F4/*::]*/: { /* n:\"BrtBeginScenMan\", */ T:1 },\n\t/*::[*/0x01F5/*::]*/: { /* n:\"BrtEndScenMan\", */ T:-1 },\n\t/*::[*/0x01F6/*::]*/: { /* n:\"BrtBeginSct\", */ T:1 },\n\t/*::[*/0x01F7/*::]*/: { /* n:\"BrtEndSct\", */ T:-1 },\n\t/*::[*/0x01F8/*::]*/: { /* n:\"BrtSlc\" */ },\n\t/*::[*/0x01F9/*::]*/: { /* n:\"BrtBeginDXFs\", */ T:1 },\n\t/*::[*/0x01FA/*::]*/: { /* n:\"BrtEndDXFs\", */ T:-1 },\n\t/*::[*/0x01FB/*::]*/: { /* n:\"BrtDXF\" */ },\n\t/*::[*/0x01FC/*::]*/: { /* n:\"BrtBeginTableStyles\", */ T:1 },\n\t/*::[*/0x01FD/*::]*/: { /* n:\"BrtEndTableStyles\", */ T:-1 },\n\t/*::[*/0x01FE/*::]*/: { /* n:\"BrtBeginTableStyle\", */ T:1 },\n\t/*::[*/0x01FF/*::]*/: { /* n:\"BrtEndTableStyle\", */ T:-1 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"BrtTableStyleElement\" */ },\n\t/*::[*/0x0201/*::]*/: { /* n:\"BrtTableStyleClient\" */ },\n\t/*::[*/0x0202/*::]*/: { /* n:\"BrtBeginVolDeps\", */ T:1 },\n\t/*::[*/0x0203/*::]*/: { /* n:\"BrtEndVolDeps\", */ T:-1 },\n\t/*::[*/0x0204/*::]*/: { /* n:\"BrtBeginVolType\", */ T:1 },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BrtEndVolType\", */ T:-1 },\n\t/*::[*/0x0206/*::]*/: { /* n:\"BrtBeginVolMain\", */ T:1 },\n\t/*::[*/0x0207/*::]*/: { /* n:\"BrtEndVolMain\", */ T:-1 },\n\t/*::[*/0x0208/*::]*/: { /* n:\"BrtBeginVolTopic\", */ T:1 },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BrtEndVolTopic\", */ T:-1 },\n\t/*::[*/0x020A/*::]*/: { /* n:\"BrtVolSubtopic\" */ },\n\t/*::[*/0x020B/*::]*/: { /* n:\"BrtVolRef\" */ },\n\t/*::[*/0x020C/*::]*/: { /* n:\"BrtVolNum\" */ },\n\t/*::[*/0x020D/*::]*/: { /* n:\"BrtVolErr\" */ },\n\t/*::[*/0x020E/*::]*/: { /* n:\"BrtVolStr\" */ },\n\t/*::[*/0x020F/*::]*/: { /* n:\"BrtVolBool\" */ },\n\t/*::[*/0x0210/*::]*/: { /* n:\"BrtBeginCalcChain$\", */ T:1 },\n\t/*::[*/0x0211/*::]*/: { /* n:\"BrtEndCalcChain$\", */ T:-1 },\n\t/*::[*/0x0212/*::]*/: { /* n:\"BrtBeginSortState\", */ T:1 },\n\t/*::[*/0x0213/*::]*/: { /* n:\"BrtEndSortState\", */ T:-1 },\n\t/*::[*/0x0214/*::]*/: { /* n:\"BrtBeginSortCond\", */ T:1 },\n\t/*::[*/0x0215/*::]*/: { /* n:\"BrtEndSortCond\", */ T:-1 },\n\t/*::[*/0x0216/*::]*/: { /* n:\"BrtBookProtection\" */ },\n\t/*::[*/0x0217/*::]*/: { /* n:\"BrtSheetProtection\" */ },\n\t/*::[*/0x0218/*::]*/: { /* n:\"BrtRangeProtection\" */ },\n\t/*::[*/0x0219/*::]*/: { /* n:\"BrtPhoneticInfo\" */ },\n\t/*::[*/0x021A/*::]*/: { /* n:\"BrtBeginECTxtWiz\", */ T:1 },\n\t/*::[*/0x021B/*::]*/: { /* n:\"BrtEndECTxtWiz\", */ T:-1 },\n\t/*::[*/0x021C/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst\", */ T:1 },\n\t/*::[*/0x021D/*::]*/: { /* n:\"BrtEndECTWFldInfoLst\", */ T:-1 },\n\t/*::[*/0x021E/*::]*/: { /* n:\"BrtBeginECTwFldInfo\", */ T:1 },\n\t/*::[*/0x0224/*::]*/: { /* n:\"BrtFileSharing\" */ },\n\t/*::[*/0x0225/*::]*/: { /* n:\"BrtOleSize\" */ },\n\t/*::[*/0x0226/*::]*/: { /* n:\"BrtDrawing\", */ f:parse_RelID },\n\t/*::[*/0x0227/*::]*/: { /* n:\"BrtLegacyDrawing\" */ },\n\t/*::[*/0x0228/*::]*/: { /* n:\"BrtLegacyDrawingHF\" */ },\n\t/*::[*/0x0229/*::]*/: { /* n:\"BrtWebOpt\" */ },\n\t/*::[*/0x022A/*::]*/: { /* n:\"BrtBeginWebPubItems\", */ T:1 },\n\t/*::[*/0x022B/*::]*/: { /* n:\"BrtEndWebPubItems\", */ T:-1 },\n\t/*::[*/0x022C/*::]*/: { /* n:\"BrtBeginWebPubItem\", */ T:1 },\n\t/*::[*/0x022D/*::]*/: { /* n:\"BrtEndWebPubItem\", */ T:-1 },\n\t/*::[*/0x022E/*::]*/: { /* n:\"BrtBeginSXCondFmt\", */ T:1 },\n\t/*::[*/0x022F/*::]*/: { /* n:\"BrtEndSXCondFmt\", */ T:-1 },\n\t/*::[*/0x0230/*::]*/: { /* n:\"BrtBeginSXCondFmts\", */ T:1 },\n\t/*::[*/0x0231/*::]*/: { /* n:\"BrtEndSXCondFmts\", */ T:-1 },\n\t/*::[*/0x0232/*::]*/: { /* n:\"BrtBkHim\" */ },\n\t/*::[*/0x0234/*::]*/: { /* n:\"BrtColor\" */ },\n\t/*::[*/0x0235/*::]*/: { /* n:\"BrtBeginIndexedColors\", */ T:1 },\n\t/*::[*/0x0236/*::]*/: { /* n:\"BrtEndIndexedColors\", */ T:-1 },\n\t/*::[*/0x0239/*::]*/: { /* n:\"BrtBeginMRUColors\", */ T:1 },\n\t/*::[*/0x023A/*::]*/: { /* n:\"BrtEndMRUColors\", */ T:-1 },\n\t/*::[*/0x023C/*::]*/: { /* n:\"BrtMRUColor\" */ },\n\t/*::[*/0x023D/*::]*/: { /* n:\"BrtBeginDVals\", */ T:1 },\n\t/*::[*/0x023E/*::]*/: { /* n:\"BrtEndDVals\", */ T:-1 },\n\t/*::[*/0x0241/*::]*/: { /* n:\"BrtSupNameStart\" */ },\n\t/*::[*/0x0242/*::]*/: { /* n:\"BrtSupNameValueStart\" */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BrtSupNameValueEnd\" */ },\n\t/*::[*/0x0244/*::]*/: { /* n:\"BrtSupNameNum\" */ },\n\t/*::[*/0x0245/*::]*/: { /* n:\"BrtSupNameErr\" */ },\n\t/*::[*/0x0246/*::]*/: { /* n:\"BrtSupNameSt\" */ },\n\t/*::[*/0x0247/*::]*/: { /* n:\"BrtSupNameNil\" */ },\n\t/*::[*/0x0248/*::]*/: { /* n:\"BrtSupNameBool\" */ },\n\t/*::[*/0x0249/*::]*/: { /* n:\"BrtSupNameFmla\" */ },\n\t/*::[*/0x024A/*::]*/: { /* n:\"BrtSupNameBits\" */ },\n\t/*::[*/0x024B/*::]*/: { /* n:\"BrtSupNameEnd\" */ },\n\t/*::[*/0x024C/*::]*/: { /* n:\"BrtEndSupBook\", */ T:-1 },\n\t/*::[*/0x024D/*::]*/: { /* n:\"BrtCellSmartTagProperty\" */ },\n\t/*::[*/0x024E/*::]*/: { /* n:\"BrtBeginCellSmartTag\", */ T:1 },\n\t/*::[*/0x024F/*::]*/: { /* n:\"BrtEndCellSmartTag\", */ T:-1 },\n\t/*::[*/0x0250/*::]*/: { /* n:\"BrtBeginCellSmartTags\", */ T:1 },\n\t/*::[*/0x0251/*::]*/: { /* n:\"BrtEndCellSmartTags\", */ T:-1 },\n\t/*::[*/0x0252/*::]*/: { /* n:\"BrtBeginSmartTags\", */ T:1 },\n\t/*::[*/0x0253/*::]*/: { /* n:\"BrtEndSmartTags\", */ T:-1 },\n\t/*::[*/0x0254/*::]*/: { /* n:\"BrtSmartTagType\" */ },\n\t/*::[*/0x0255/*::]*/: { /* n:\"BrtBeginSmartTagTypes\", */ T:1 },\n\t/*::[*/0x0256/*::]*/: { /* n:\"BrtEndSmartTagTypes\", */ T:-1 },\n\t/*::[*/0x0257/*::]*/: { /* n:\"BrtBeginSXFilters\", */ T:1 },\n\t/*::[*/0x0258/*::]*/: { /* n:\"BrtEndSXFilters\", */ T:-1 },\n\t/*::[*/0x0259/*::]*/: { /* n:\"BrtBeginSXFILTER\", */ T:1 },\n\t/*::[*/0x025A/*::]*/: { /* n:\"BrtEndSXFilter\", */ T:-1 },\n\t/*::[*/0x025B/*::]*/: { /* n:\"BrtBeginFills\", */ T:1 },\n\t/*::[*/0x025C/*::]*/: { /* n:\"BrtEndFills\", */ T:-1 },\n\t/*::[*/0x025D/*::]*/: { /* n:\"BrtBeginCellWatches\", */ T:1 },\n\t/*::[*/0x025E/*::]*/: { /* n:\"BrtEndCellWatches\", */ T:-1 },\n\t/*::[*/0x025F/*::]*/: { /* n:\"BrtCellWatch\" */ },\n\t/*::[*/0x0260/*::]*/: { /* n:\"BrtBeginCRErrs\", */ T:1 },\n\t/*::[*/0x0261/*::]*/: { /* n:\"BrtEndCRErrs\", */ T:-1 },\n\t/*::[*/0x0262/*::]*/: { /* n:\"BrtCrashRecErr\" */ },\n\t/*::[*/0x0263/*::]*/: { /* n:\"BrtBeginFonts\", */ T:1 },\n\t/*::[*/0x0264/*::]*/: { /* n:\"BrtEndFonts\", */ T:-1 },\n\t/*::[*/0x0265/*::]*/: { /* n:\"BrtBeginBorders\", */ T:1 },\n\t/*::[*/0x0266/*::]*/: { /* n:\"BrtEndBorders\", */ T:-1 },\n\t/*::[*/0x0267/*::]*/: { /* n:\"BrtBeginFmts\", */ T:1 },\n\t/*::[*/0x0268/*::]*/: { /* n:\"BrtEndFmts\", */ T:-1 },\n\t/*::[*/0x0269/*::]*/: { /* n:\"BrtBeginCellXFs\", */ T:1 },\n\t/*::[*/0x026A/*::]*/: { /* n:\"BrtEndCellXFs\", */ T:-1 },\n\t/*::[*/0x026B/*::]*/: { /* n:\"BrtBeginStyles\", */ T:1 },\n\t/*::[*/0x026C/*::]*/: { /* n:\"BrtEndStyles\", */ T:-1 },\n\t/*::[*/0x0271/*::]*/: { /* n:\"BrtBigName\" */ },\n\t/*::[*/0x0272/*::]*/: { /* n:\"BrtBeginCellStyleXFs\", */ T:1 },\n\t/*::[*/0x0273/*::]*/: { /* n:\"BrtEndCellStyleXFs\", */ T:-1 },\n\t/*::[*/0x0274/*::]*/: { /* n:\"BrtBeginComments\", */ T:1 },\n\t/*::[*/0x0275/*::]*/: { /* n:\"BrtEndComments\", */ T:-1 },\n\t/*::[*/0x0276/*::]*/: { /* n:\"BrtBeginCommentAuthors\", */ T:1 },\n\t/*::[*/0x0277/*::]*/: { /* n:\"BrtEndCommentAuthors\", */ T:-1 },\n\t/*::[*/0x0278/*::]*/: { /* n:\"BrtCommentAuthor\", */ f:parse_BrtCommentAuthor },\n\t/*::[*/0x0279/*::]*/: { /* n:\"BrtBeginCommentList\", */ T:1 },\n\t/*::[*/0x027A/*::]*/: { /* n:\"BrtEndCommentList\", */ T:-1 },\n\t/*::[*/0x027B/*::]*/: { /* n:\"BrtBeginComment\", */ T:1, f:parse_BrtBeginComment},\n\t/*::[*/0x027C/*::]*/: { /* n:\"BrtEndComment\", */ T:-1 },\n\t/*::[*/0x027D/*::]*/: { /* n:\"BrtCommentText\", */ f:parse_BrtCommentText },\n\t/*::[*/0x027E/*::]*/: { /* n:\"BrtBeginOleObjects\", */ T:1 },\n\t/*::[*/0x027F/*::]*/: { /* n:\"BrtOleObject\" */ },\n\t/*::[*/0x0280/*::]*/: { /* n:\"BrtEndOleObjects\", */ T:-1 },\n\t/*::[*/0x0281/*::]*/: { /* n:\"BrtBeginSxrules\", */ T:1 },\n\t/*::[*/0x0282/*::]*/: { /* n:\"BrtEndSxRules\", */ T:-1 },\n\t/*::[*/0x0283/*::]*/: { /* n:\"BrtBeginActiveXControls\", */ T:1 },\n\t/*::[*/0x0284/*::]*/: { /* n:\"BrtActiveX\" */ },\n\t/*::[*/0x0285/*::]*/: { /* n:\"BrtEndActiveXControls\", */ T:-1 },\n\t/*::[*/0x0286/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembersSortBy\", */ T:1 },\n\t/*::[*/0x0288/*::]*/: { /* n:\"BrtBeginCellIgnoreECs\", */ T:1 },\n\t/*::[*/0x0289/*::]*/: { /* n:\"BrtCellIgnoreEC\" */ },\n\t/*::[*/0x028A/*::]*/: { /* n:\"BrtEndCellIgnoreECs\", */ T:-1 },\n\t/*::[*/0x028B/*::]*/: { /* n:\"BrtCsProp\", */ f:parse_BrtCsProp },\n\t/*::[*/0x028C/*::]*/: { /* n:\"BrtCsPageSetup\" */ },\n\t/*::[*/0x028D/*::]*/: { /* n:\"BrtBeginUserCsViews\", */ T:1 },\n\t/*::[*/0x028E/*::]*/: { /* n:\"BrtEndUserCsViews\", */ T:-1 },\n\t/*::[*/0x028F/*::]*/: { /* n:\"BrtBeginUserCsView\", */ T:1 },\n\t/*::[*/0x0290/*::]*/: { /* n:\"BrtEndUserCsView\", */ T:-1 },\n\t/*::[*/0x0291/*::]*/: { /* n:\"BrtBeginPcdSFCIEntries\", */ T:1 },\n\t/*::[*/0x0292/*::]*/: { /* n:\"BrtEndPCDSFCIEntries\", */ T:-1 },\n\t/*::[*/0x0293/*::]*/: { /* n:\"BrtPCDSFCIEntry\" */ },\n\t/*::[*/0x0294/*::]*/: { /* n:\"BrtBeginListParts\", */ T:1 },\n\t/*::[*/0x0295/*::]*/: { /* n:\"BrtListPart\" */ },\n\t/*::[*/0x0296/*::]*/: { /* n:\"BrtEndListParts\", */ T:-1 },\n\t/*::[*/0x0297/*::]*/: { /* n:\"BrtSheetCalcProp\" */ },\n\t/*::[*/0x0298/*::]*/: { /* n:\"BrtBeginFnGroup\", */ T:1 },\n\t/*::[*/0x0299/*::]*/: { /* n:\"BrtFnGroup\" */ },\n\t/*::[*/0x029A/*::]*/: { /* n:\"BrtEndFnGroup\", */ T:-1 },\n\t/*::[*/0x029B/*::]*/: { /* n:\"BrtSupAddin\" */ },\n\t/*::[*/0x029C/*::]*/: { /* n:\"BrtSXTDMPOrder\" */ },\n\t/*::[*/0x029D/*::]*/: { /* n:\"BrtCsProtection\" */ },\n\t/*::[*/0x029F/*::]*/: { /* n:\"BrtBeginWsSortMap\", */ T:1 },\n\t/*::[*/0x02A0/*::]*/: { /* n:\"BrtEndWsSortMap\", */ T:-1 },\n\t/*::[*/0x02A1/*::]*/: { /* n:\"BrtBeginRRSort\", */ T:1 },\n\t/*::[*/0x02A2/*::]*/: { /* n:\"BrtEndRRSort\", */ T:-1 },\n\t/*::[*/0x02A3/*::]*/: { /* n:\"BrtRRSortItem\" */ },\n\t/*::[*/0x02A4/*::]*/: { /* n:\"BrtFileSharingIso\" */ },\n\t/*::[*/0x02A5/*::]*/: { /* n:\"BrtBookProtectionIso\" */ },\n\t/*::[*/0x02A6/*::]*/: { /* n:\"BrtSheetProtectionIso\" */ },\n\t/*::[*/0x02A7/*::]*/: { /* n:\"BrtCsProtectionIso\" */ },\n\t/*::[*/0x02A8/*::]*/: { /* n:\"BrtRangeProtectionIso\" */ },\n\t/*::[*/0x02A9/*::]*/: { /* n:\"BrtDValList\" */ },\n\t/*::[*/0x0400/*::]*/: { /* n:\"BrtRwDescent\" */ },\n\t/*::[*/0x0401/*::]*/: { /* n:\"BrtKnownFonts\" */ },\n\t/*::[*/0x0402/*::]*/: { /* n:\"BrtBeginSXTupleSet\", */ T:1 },\n\t/*::[*/0x0403/*::]*/: { /* n:\"BrtEndSXTupleSet\", */ T:-1 },\n\t/*::[*/0x0404/*::]*/: { /* n:\"BrtBeginSXTupleSetHeader\", */ T:1 },\n\t/*::[*/0x0405/*::]*/: { /* n:\"BrtEndSXTupleSetHeader\", */ T:-1 },\n\t/*::[*/0x0406/*::]*/: { /* n:\"BrtSXTupleSetHeaderItem\" */ },\n\t/*::[*/0x0407/*::]*/: { /* n:\"BrtBeginSXTupleSetData\", */ T:1 },\n\t/*::[*/0x0408/*::]*/: { /* n:\"BrtEndSXTupleSetData\", */ T:-1 },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BrtBeginSXTupleSetRow\", */ T:1 },\n\t/*::[*/0x040A/*::]*/: { /* n:\"BrtEndSXTupleSetRow\", */ T:-1 },\n\t/*::[*/0x040B/*::]*/: { /* n:\"BrtSXTupleSetRowItem\" */ },\n\t/*::[*/0x040C/*::]*/: { /* n:\"BrtNameExt\" */ },\n\t/*::[*/0x040D/*::]*/: { /* n:\"BrtPCDH14\" */ },\n\t/*::[*/0x040E/*::]*/: { /* n:\"BrtBeginPCDCalcMem14\", */ T:1 },\n\t/*::[*/0x040F/*::]*/: { /* n:\"BrtEndPCDCalcMem14\", */ T:-1 },\n\t/*::[*/0x0410/*::]*/: { /* n:\"BrtSXTH14\" */ },\n\t/*::[*/0x0411/*::]*/: { /* n:\"BrtBeginSparklineGroup\", */ T:1 },\n\t/*::[*/0x0412/*::]*/: { /* n:\"BrtEndSparklineGroup\", */ T:-1 },\n\t/*::[*/0x0413/*::]*/: { /* n:\"BrtSparkline\" */ },\n\t/*::[*/0x0414/*::]*/: { /* n:\"BrtSXDI14\" */ },\n\t/*::[*/0x0415/*::]*/: { /* n:\"BrtWsFmtInfoEx14\" */ },\n\t/*::[*/0x0416/*::]*/: { /* n:\"BrtBeginConditionalFormatting14\", */ T:1 },\n\t/*::[*/0x0417/*::]*/: { /* n:\"BrtEndConditionalFormatting14\", */ T:-1 },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BrtBeginCFRule14\", */ T:1 },\n\t/*::[*/0x0419/*::]*/: { /* n:\"BrtEndCFRule14\", */ T:-1 },\n\t/*::[*/0x041A/*::]*/: { /* n:\"BrtCFVO14\" */ },\n\t/*::[*/0x041B/*::]*/: { /* n:\"BrtBeginDatabar14\", */ T:1 },\n\t/*::[*/0x041C/*::]*/: { /* n:\"BrtBeginIconSet14\", */ T:1 },\n\t/*::[*/0x041D/*::]*/: { /* n:\"BrtDVal14\", */ f: parse_BrtDVal14 },\n\t/*::[*/0x041E/*::]*/: { /* n:\"BrtBeginDVals14\", */ T:1 },\n\t/*::[*/0x041F/*::]*/: { /* n:\"BrtColor14\" */ },\n\t/*::[*/0x0420/*::]*/: { /* n:\"BrtBeginSparklines\", */ T:1 },\n\t/*::[*/0x0421/*::]*/: { /* n:\"BrtEndSparklines\", */ T:-1 },\n\t/*::[*/0x0422/*::]*/: { /* n:\"BrtBeginSparklineGroups\", */ T:1 },\n\t/*::[*/0x0423/*::]*/: { /* n:\"BrtEndSparklineGroups\", */ T:-1 },\n\t/*::[*/0x0425/*::]*/: { /* n:\"BrtSXVD14\" */ },\n\t/*::[*/0x0426/*::]*/: { /* n:\"BrtBeginSXView14\", */ T:1 },\n\t/*::[*/0x0427/*::]*/: { /* n:\"BrtEndSXView14\", */ T:-1 },\n\t/*::[*/0x0428/*::]*/: { /* n:\"BrtBeginSXView16\", */ T:1 },\n\t/*::[*/0x0429/*::]*/: { /* n:\"BrtEndSXView16\", */ T:-1 },\n\t/*::[*/0x042A/*::]*/: { /* n:\"BrtBeginPCD14\", */ T:1 },\n\t/*::[*/0x042B/*::]*/: { /* n:\"BrtEndPCD14\", */ T:-1 },\n\t/*::[*/0x042C/*::]*/: { /* n:\"BrtBeginExtConn14\", */ T:1 },\n\t/*::[*/0x042D/*::]*/: { /* n:\"BrtEndExtConn14\", */ T:-1 },\n\t/*::[*/0x042E/*::]*/: { /* n:\"BrtBeginSlicerCacheIDs\", */ T:1 },\n\t/*::[*/0x042F/*::]*/: { /* n:\"BrtEndSlicerCacheIDs\", */ T:-1 },\n\t/*::[*/0x0430/*::]*/: { /* n:\"BrtBeginSlicerCacheID\", */ T:1 },\n\t/*::[*/0x0431/*::]*/: { /* n:\"BrtEndSlicerCacheID\", */ T:-1 },\n\t/*::[*/0x0433/*::]*/: { /* n:\"BrtBeginSlicerCache\", */ T:1 },\n\t/*::[*/0x0434/*::]*/: { /* n:\"BrtEndSlicerCache\", */ T:-1 },\n\t/*::[*/0x0435/*::]*/: { /* n:\"BrtBeginSlicerCacheDef\", */ T:1 },\n\t/*::[*/0x0436/*::]*/: { /* n:\"BrtEndSlicerCacheDef\", */ T:-1 },\n\t/*::[*/0x0437/*::]*/: { /* n:\"BrtBeginSlicersEx\", */ T:1 },\n\t/*::[*/0x0438/*::]*/: { /* n:\"BrtEndSlicersEx\", */ T:-1 },\n\t/*::[*/0x0439/*::]*/: { /* n:\"BrtBeginSlicerEx\", */ T:1 },\n\t/*::[*/0x043A/*::]*/: { /* n:\"BrtEndSlicerEx\", */ T:-1 },\n\t/*::[*/0x043B/*::]*/: { /* n:\"BrtBeginSlicer\", */ T:1 },\n\t/*::[*/0x043C/*::]*/: { /* n:\"BrtEndSlicer\", */ T:-1 },\n\t/*::[*/0x043D/*::]*/: { /* n:\"BrtSlicerCachePivotTables\" */ },\n\t/*::[*/0x043E/*::]*/: { /* n:\"BrtBeginSlicerCacheOlapImpl\", */ T:1 },\n\t/*::[*/0x043F/*::]*/: { /* n:\"BrtEndSlicerCacheOlapImpl\", */ T:-1 },\n\t/*::[*/0x0440/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelsData\", */ T:1 },\n\t/*::[*/0x0441/*::]*/: { /* n:\"BrtEndSlicerCacheLevelsData\", */ T:-1 },\n\t/*::[*/0x0442/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelData\", */ T:1 },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BrtEndSlicerCacheLevelData\", */ T:-1 },\n\t/*::[*/0x0444/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRanges\", */ T:1 },\n\t/*::[*/0x0445/*::]*/: { /* n:\"BrtEndSlicerCacheSiRanges\", */ T:-1 },\n\t/*::[*/0x0446/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRange\", */ T:1 },\n\t/*::[*/0x0447/*::]*/: { /* n:\"BrtEndSlicerCacheSiRange\", */ T:-1 },\n\t/*::[*/0x0448/*::]*/: { /* n:\"BrtSlicerCacheOlapItem\" */ },\n\t/*::[*/0x0449/*::]*/: { /* n:\"BrtBeginSlicerCacheSelections\", */ T:1 },\n\t/*::[*/0x044A/*::]*/: { /* n:\"BrtSlicerCacheSelection\" */ },\n\t/*::[*/0x044B/*::]*/: { /* n:\"BrtEndSlicerCacheSelections\", */ T:-1 },\n\t/*::[*/0x044C/*::]*/: { /* n:\"BrtBeginSlicerCacheNative\", */ T:1 },\n\t/*::[*/0x044D/*::]*/: { /* n:\"BrtEndSlicerCacheNative\", */ T:-1 },\n\t/*::[*/0x044E/*::]*/: { /* n:\"BrtSlicerCacheNativeItem\" */ },\n\t/*::[*/0x044F/*::]*/: { /* n:\"BrtRangeProtection14\" */ },\n\t/*::[*/0x0450/*::]*/: { /* n:\"BrtRangeProtectionIso14\" */ },\n\t/*::[*/0x0451/*::]*/: { /* n:\"BrtCellIgnoreEC14\" */ },\n\t/*::[*/0x0457/*::]*/: { /* n:\"BrtList14\" */ },\n\t/*::[*/0x0458/*::]*/: { /* n:\"BrtCFIcon\" */ },\n\t/*::[*/0x0459/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x045A/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x045B/*::]*/: { /* n:\"BrtBeginSlicers\", */ T:1 },\n\t/*::[*/0x045C/*::]*/: { /* n:\"BrtEndSlicers\", */ T:-1 },\n\t/*::[*/0x045D/*::]*/: { /* n:\"BrtWbProp14\" */ },\n\t/*::[*/0x045E/*::]*/: { /* n:\"BrtBeginSXEdit\", */ T:1 },\n\t/*::[*/0x045F/*::]*/: { /* n:\"BrtEndSXEdit\", */ T:-1 },\n\t/*::[*/0x0460/*::]*/: { /* n:\"BrtBeginSXEdits\", */ T:1 },\n\t/*::[*/0x0461/*::]*/: { /* n:\"BrtEndSXEdits\", */ T:-1 },\n\t/*::[*/0x0462/*::]*/: { /* n:\"BrtBeginSXChange\", */ T:1 },\n\t/*::[*/0x0463/*::]*/: { /* n:\"BrtEndSXChange\", */ T:-1 },\n\t/*::[*/0x0464/*::]*/: { /* n:\"BrtBeginSXChanges\", */ T:1 },\n\t/*::[*/0x0465/*::]*/: { /* n:\"BrtEndSXChanges\", */ T:-1 },\n\t/*::[*/0x0466/*::]*/: { /* n:\"BrtSXTupleItems\" */ },\n\t/*::[*/0x0468/*::]*/: { /* n:\"BrtBeginSlicerStyle\", */ T:1 },\n\t/*::[*/0x0469/*::]*/: { /* n:\"BrtEndSlicerStyle\", */ T:-1 },\n\t/*::[*/0x046A/*::]*/: { /* n:\"BrtSlicerStyleElement\" */ },\n\t/*::[*/0x046B/*::]*/: { /* n:\"BrtBeginStyleSheetExt14\", */ T:1 },\n\t/*::[*/0x046C/*::]*/: { /* n:\"BrtEndStyleSheetExt14\", */ T:-1 },\n\t/*::[*/0x046D/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheID\", */ T:1 },\n\t/*::[*/0x046E/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheID\", */ T:-1 },\n\t/*::[*/0x046F/*::]*/: { /* n:\"BrtBeginConditionalFormattings\", */ T:1 },\n\t/*::[*/0x0470/*::]*/: { /* n:\"BrtEndConditionalFormattings\", */ T:-1 },\n\t/*::[*/0x0471/*::]*/: { /* n:\"BrtBeginPCDCalcMemExt\", */ T:1 },\n\t/*::[*/0x0472/*::]*/: { /* n:\"BrtEndPCDCalcMemExt\", */ T:-1 },\n\t/*::[*/0x0473/*::]*/: { /* n:\"BrtBeginPCDCalcMemsExt\", */ T:1 },\n\t/*::[*/0x0474/*::]*/: { /* n:\"BrtEndPCDCalcMemsExt\", */ T:-1 },\n\t/*::[*/0x0475/*::]*/: { /* n:\"BrtPCDField14\" */ },\n\t/*::[*/0x0476/*::]*/: { /* n:\"BrtBeginSlicerStyles\", */ T:1 },\n\t/*::[*/0x0477/*::]*/: { /* n:\"BrtEndSlicerStyles\", */ T:-1 },\n\t/*::[*/0x0478/*::]*/: { /* n:\"BrtBeginSlicerStyleElements\", */ T:1 },\n\t/*::[*/0x0479/*::]*/: { /* n:\"BrtEndSlicerStyleElements\", */ T:-1 },\n\t/*::[*/0x047A/*::]*/: { /* n:\"BrtCFRuleExt\" */ },\n\t/*::[*/0x047B/*::]*/: { /* n:\"BrtBeginSXCondFmt14\", */ T:1 },\n\t/*::[*/0x047C/*::]*/: { /* n:\"BrtEndSXCondFmt14\", */ T:-1 },\n\t/*::[*/0x047D/*::]*/: { /* n:\"BrtBeginSXCondFmts14\", */ T:1 },\n\t/*::[*/0x047E/*::]*/: { /* n:\"BrtEndSXCondFmts14\", */ T:-1 },\n\t/*::[*/0x0480/*::]*/: { /* n:\"BrtBeginSortCond14\", */ T:1 },\n\t/*::[*/0x0481/*::]*/: { /* n:\"BrtEndSortCond14\", */ T:-1 },\n\t/*::[*/0x0482/*::]*/: { /* n:\"BrtEndDVals14\", */ T:-1 },\n\t/*::[*/0x0483/*::]*/: { /* n:\"BrtEndIconSet14\", */ T:-1 },\n\t/*::[*/0x0484/*::]*/: { /* n:\"BrtEndDatabar14\", */ T:-1 },\n\t/*::[*/0x0485/*::]*/: { /* n:\"BrtBeginColorScale14\", */ T:1 },\n\t/*::[*/0x0486/*::]*/: { /* n:\"BrtEndColorScale14\", */ T:-1 },\n\t/*::[*/0x0487/*::]*/: { /* n:\"BrtBeginSxrules14\", */ T:1 },\n\t/*::[*/0x0488/*::]*/: { /* n:\"BrtEndSxrules14\", */ T:-1 },\n\t/*::[*/0x0489/*::]*/: { /* n:\"BrtBeginPRule14\", */ T:1 },\n\t/*::[*/0x048A/*::]*/: { /* n:\"BrtEndPRule14\", */ T:-1 },\n\t/*::[*/0x048B/*::]*/: { /* n:\"BrtBeginPRFilters14\", */ T:1 },\n\t/*::[*/0x048C/*::]*/: { /* n:\"BrtEndPRFilters14\", */ T:-1 },\n\t/*::[*/0x048D/*::]*/: { /* n:\"BrtBeginPRFilter14\", */ T:1 },\n\t/*::[*/0x048E/*::]*/: { /* n:\"BrtEndPRFilter14\", */ T:-1 },\n\t/*::[*/0x048F/*::]*/: { /* n:\"BrtBeginPRFItem14\", */ T:1 },\n\t/*::[*/0x0490/*::]*/: { /* n:\"BrtEndPRFItem14\", */ T:-1 },\n\t/*::[*/0x0491/*::]*/: { /* n:\"BrtBeginCellIgnoreECs14\", */ T:1 },\n\t/*::[*/0x0492/*::]*/: { /* n:\"BrtEndCellIgnoreECs14\", */ T:-1 },\n\t/*::[*/0x0493/*::]*/: { /* n:\"BrtDxf14\" */ },\n\t/*::[*/0x0494/*::]*/: { /* n:\"BrtBeginDxF14s\", */ T:1 },\n\t/*::[*/0x0495/*::]*/: { /* n:\"BrtEndDxf14s\", */ T:-1 },\n\t/*::[*/0x0499/*::]*/: { /* n:\"BrtFilter14\" */ },\n\t/*::[*/0x049A/*::]*/: { /* n:\"BrtBeginCustomFilters14\", */ T:1 },\n\t/*::[*/0x049C/*::]*/: { /* n:\"BrtCustomFilter14\" */ },\n\t/*::[*/0x049D/*::]*/: { /* n:\"BrtIconFilter14\" */ },\n\t/*::[*/0x049E/*::]*/: { /* n:\"BrtPivotCacheConnectionName\" */ },\n\t/*::[*/0x0800/*::]*/: { /* n:\"BrtBeginDecoupledPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0801/*::]*/: { /* n:\"BrtEndDecoupledPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0802/*::]*/: { /* n:\"BrtDecoupledPivotCacheID\" */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"BrtBeginPivotTableRefs\", */ T:1 },\n\t/*::[*/0x0804/*::]*/: { /* n:\"BrtEndPivotTableRefs\", */ T:-1 },\n\t/*::[*/0x0805/*::]*/: { /* n:\"BrtPivotTableRef\" */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"BrtSlicerCacheBookPivotTables\" */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"BrtBeginSxvcells\", */ T:1 },\n\t/*::[*/0x0808/*::]*/: { /* n:\"BrtEndSxvcells\", */ T:-1 },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BrtBeginSxRow\", */ T:1 },\n\t/*::[*/0x080A/*::]*/: { /* n:\"BrtEndSxRow\", */ T:-1 },\n\t/*::[*/0x080C/*::]*/: { /* n:\"BrtPcdCalcMem15\" */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"BrtQsi15\" */ },\n\t/*::[*/0x0814/*::]*/: { /* n:\"BrtBeginWebExtensions\", */ T:1 },\n\t/*::[*/0x0815/*::]*/: { /* n:\"BrtEndWebExtensions\", */ T:-1 },\n\t/*::[*/0x0816/*::]*/: { /* n:\"BrtWebExtension\" */ },\n\t/*::[*/0x0817/*::]*/: { /* n:\"BrtAbsPath15\" */ },\n\t/*::[*/0x0818/*::]*/: { /* n:\"BrtBeginPivotTableUISettings\", */ T:1 },\n\t/*::[*/0x0819/*::]*/: { /* n:\"BrtEndPivotTableUISettings\", */ T:-1 },\n\t/*::[*/0x081B/*::]*/: { /* n:\"BrtTableSlicerCacheIDs\" */ },\n\t/*::[*/0x081C/*::]*/: { /* n:\"BrtTableSlicerCacheID\" */ },\n\t/*::[*/0x081D/*::]*/: { /* n:\"BrtBeginTableSlicerCache\", */ T:1 },\n\t/*::[*/0x081E/*::]*/: { /* n:\"BrtEndTableSlicerCache\", */ T:-1 },\n\t/*::[*/0x081F/*::]*/: { /* n:\"BrtSxFilter15\" */ },\n\t/*::[*/0x0820/*::]*/: { /* n:\"BrtBeginTimelineCachePivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0821/*::]*/: { /* n:\"BrtEndTimelineCachePivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0822/*::]*/: { /* n:\"BrtTimelineCachePivotCacheID\" */ },\n\t/*::[*/0x0823/*::]*/: { /* n:\"BrtBeginTimelineCacheIDs\", */ T:1 },\n\t/*::[*/0x0824/*::]*/: { /* n:\"BrtEndTimelineCacheIDs\", */ T:-1 },\n\t/*::[*/0x0825/*::]*/: { /* n:\"BrtBeginTimelineCacheID\", */ T:1 },\n\t/*::[*/0x0826/*::]*/: { /* n:\"BrtEndTimelineCacheID\", */ T:-1 },\n\t/*::[*/0x0827/*::]*/: { /* n:\"BrtBeginTimelinesEx\", */ T:1 },\n\t/*::[*/0x0828/*::]*/: { /* n:\"BrtEndTimelinesEx\", */ T:-1 },\n\t/*::[*/0x0829/*::]*/: { /* n:\"BrtBeginTimelineEx\", */ T:1 },\n\t/*::[*/0x082A/*::]*/: { /* n:\"BrtEndTimelineEx\", */ T:-1 },\n\t/*::[*/0x082B/*::]*/: { /* n:\"BrtWorkBookPr15\" */ },\n\t/*::[*/0x082C/*::]*/: { /* n:\"BrtPCDH15\" */ },\n\t/*::[*/0x082D/*::]*/: { /* n:\"BrtBeginTimelineStyle\", */ T:1 },\n\t/*::[*/0x082E/*::]*/: { /* n:\"BrtEndTimelineStyle\", */ T:-1 },\n\t/*::[*/0x082F/*::]*/: { /* n:\"BrtTimelineStyleElement\" */ },\n\t/*::[*/0x0830/*::]*/: { /* n:\"BrtBeginTimelineStylesheetExt15\", */ T:1 },\n\t/*::[*/0x0831/*::]*/: { /* n:\"BrtEndTimelineStylesheetExt15\", */ T:-1 },\n\t/*::[*/0x0832/*::]*/: { /* n:\"BrtBeginTimelineStyles\", */ T:1 },\n\t/*::[*/0x0833/*::]*/: { /* n:\"BrtEndTimelineStyles\", */ T:-1 },\n\t/*::[*/0x0834/*::]*/: { /* n:\"BrtBeginTimelineStyleElements\", */ T:1 },\n\t/*::[*/0x0835/*::]*/: { /* n:\"BrtEndTimelineStyleElements\", */ T:-1 },\n\t/*::[*/0x0836/*::]*/: { /* n:\"BrtDxf15\" */ },\n\t/*::[*/0x0837/*::]*/: { /* n:\"BrtBeginDxfs15\", */ T:1 },\n\t/*::[*/0x0838/*::]*/: { /* n:\"BrtEndDxfs15\", */ T:-1 },\n\t/*::[*/0x0839/*::]*/: { /* n:\"BrtSlicerCacheHideItemsWithNoData\" */ },\n\t/*::[*/0x083A/*::]*/: { /* n:\"BrtBeginItemUniqueNames\", */ T:1 },\n\t/*::[*/0x083B/*::]*/: { /* n:\"BrtEndItemUniqueNames\", */ T:-1 },\n\t/*::[*/0x083C/*::]*/: { /* n:\"BrtItemUniqueName\" */ },\n\t/*::[*/0x083D/*::]*/: { /* n:\"BrtBeginExtConn15\", */ T:1 },\n\t/*::[*/0x083E/*::]*/: { /* n:\"BrtEndExtConn15\", */ T:-1 },\n\t/*::[*/0x083F/*::]*/: { /* n:\"BrtBeginOledbPr15\", */ T:1 },\n\t/*::[*/0x0840/*::]*/: { /* n:\"BrtEndOledbPr15\", */ T:-1 },\n\t/*::[*/0x0841/*::]*/: { /* n:\"BrtBeginDataFeedPr15\", */ T:1 },\n\t/*::[*/0x0842/*::]*/: { /* n:\"BrtEndDataFeedPr15\", */ T:-1 },\n\t/*::[*/0x0843/*::]*/: { /* n:\"BrtTextPr15\" */ },\n\t/*::[*/0x0844/*::]*/: { /* n:\"BrtRangePr15\" */ },\n\t/*::[*/0x0845/*::]*/: { /* n:\"BrtDbCommand15\" */ },\n\t/*::[*/0x0846/*::]*/: { /* n:\"BrtBeginDbTables15\", */ T:1 },\n\t/*::[*/0x0847/*::]*/: { /* n:\"BrtEndDbTables15\", */ T:-1 },\n\t/*::[*/0x0848/*::]*/: { /* n:\"BrtDbTable15\" */ },\n\t/*::[*/0x0849/*::]*/: { /* n:\"BrtBeginDataModel\", */ T:1 },\n\t/*::[*/0x084A/*::]*/: { /* n:\"BrtEndDataModel\", */ T:-1 },\n\t/*::[*/0x084B/*::]*/: { /* n:\"BrtBeginModelTables\", */ T:1 },\n\t/*::[*/0x084C/*::]*/: { /* n:\"BrtEndModelTables\", */ T:-1 },\n\t/*::[*/0x084D/*::]*/: { /* n:\"BrtModelTable\" */ },\n\t/*::[*/0x084E/*::]*/: { /* n:\"BrtBeginModelRelationships\", */ T:1 },\n\t/*::[*/0x084F/*::]*/: { /* n:\"BrtEndModelRelationships\", */ T:-1 },\n\t/*::[*/0x0850/*::]*/: { /* n:\"BrtModelRelationship\" */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"BrtBeginECTxtWiz15\", */ T:1 },\n\t/*::[*/0x0852/*::]*/: { /* n:\"BrtEndECTxtWiz15\", */ T:-1 },\n\t/*::[*/0x0853/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst15\", */ T:1 },\n\t/*::[*/0x0854/*::]*/: { /* n:\"BrtEndECTWFldInfoLst15\", */ T:-1 },\n\t/*::[*/0x0855/*::]*/: { /* n:\"BrtBeginECTWFldInfo15\", */ T:1 },\n\t/*::[*/0x0856/*::]*/: { /* n:\"BrtFieldListActiveItem\" */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"BrtPivotCacheIdVersion\" */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"BrtSXDI15\" */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"BrtBeginModelTimeGroupings\", */ T:1 },\n\t/*::[*/0x085A/*::]*/: { /* n:\"BrtEndModelTimeGroupings\", */ T:-1 },\n\t/*::[*/0x085B/*::]*/: { /* n:\"BrtBeginModelTimeGrouping\", */ T:1 },\n\t/*::[*/0x085C/*::]*/: { /* n:\"BrtEndModelTimeGrouping\", */ T:-1 },\n\t/*::[*/0x085D/*::]*/: { /* n:\"BrtModelTimeGroupingCalcCol\" */ },\n\t/*::[*/0x0C00/*::]*/: { /* n:\"BrtUid\" */ },\n\t/*::[*/0x0C01/*::]*/: { /* n:\"BrtRevisionPtr\" */ },\n\t/*::[*/0x1000/*::]*/: { /* n:\"BrtBeginDynamicArrayPr\", */ T:1 },\n\t/*::[*/0x1001/*::]*/: { /* n:\"BrtEndDynamicArrayPr\", */ T:-1 },\n\t/*::[*/0x138A/*::]*/: { /* n:\"BrtBeginRichValueBlock\", */ T:1 },\n\t/*::[*/0x138B/*::]*/: { /* n:\"BrtEndRichValueBlock\", */ T:-1 },\n\t/*::[*/0x13D9/*::]*/: { /* n:\"BrtBeginRichFilters\", */ T:1 },\n\t/*::[*/0x13DA/*::]*/: { /* n:\"BrtEndRichFilters\", */ T:-1 },\n\t/*::[*/0x13DB/*::]*/: { /* n:\"BrtRichFilter\" */ },\n\t/*::[*/0x13DC/*::]*/: { /* n:\"BrtBeginRichFilterColumn\", */ T:1 },\n\t/*::[*/0x13DD/*::]*/: { /* n:\"BrtEndRichFilterColumn\", */ T:-1 },\n\t/*::[*/0x13DE/*::]*/: { /* n:\"BrtBeginCustomRichFilters\", */ T:1 },\n\t/*::[*/0x13DF/*::]*/: { /* n:\"BrtEndCustomRichFilters\", */ T:-1 },\n\t/*::[*/0x13E0/*::]*/: { /* n:\"BrtCustomRichFilter\" */ },\n\t/*::[*/0x13E1/*::]*/: { /* n:\"BrtTop10RichFilter\" */ },\n\t/*::[*/0x13E2/*::]*/: { /* n:\"BrtDynamicRichFilter\" */ },\n\t/*::[*/0x13E4/*::]*/: { /* n:\"BrtBeginRichSortCondition\", */ T:1 },\n\t/*::[*/0x13E5/*::]*/: { /* n:\"BrtEndRichSortCondition\", */ T:-1 },\n\t/*::[*/0x13E6/*::]*/: { /* n:\"BrtRichFilterDateGroupItem\" */ },\n\t/*::[*/0x13E7/*::]*/: { /* n:\"BrtBeginCalcFeatures\", */ T:1 },\n\t/*::[*/0x13E8/*::]*/: { /* n:\"BrtEndCalcFeatures\", */ T:-1 },\n\t/*::[*/0x13E9/*::]*/: { /* n:\"BrtCalcFeature\" */ },\n\t/*::[*/0x13EB/*::]*/: { /* n:\"BrtExternalLinksPr\" */ },\n\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n};\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n\t/*::[*/0x0006/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x000a/*::]*/: { /* n:\"EOF\", */ f:parsenoop2 },\n\t/*::[*/0x000c/*::]*/: { /* n:\"CalcCount\", */ f:parseuint16 }, //\n\t/*::[*/0x000d/*::]*/: { /* n:\"CalcMode\", */ f:parseuint16 }, //\n\t/*::[*/0x000e/*::]*/: { /* n:\"CalcPrecision\", */ f:parsebool }, //\n\t/*::[*/0x000f/*::]*/: { /* n:\"CalcRefMode\", */ f:parsebool }, //\n\t/*::[*/0x0010/*::]*/: { /* n:\"CalcDelta\", */ f:parse_Xnum }, //\n\t/*::[*/0x0011/*::]*/: { /* n:\"CalcIter\", */ f:parsebool }, //\n\t/*::[*/0x0012/*::]*/: { /* n:\"Protect\", */ f:parsebool },\n\t/*::[*/0x0013/*::]*/: { /* n:\"Password\", */ f:parseuint16 },\n\t/*::[*/0x0014/*::]*/: { /* n:\"Header\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0015/*::]*/: { /* n:\"Footer\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0017/*::]*/: { /* n:\"ExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x0018/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0019/*::]*/: { /* n:\"WinProtect\", */ f:parsebool },\n\t/*::[*/0x001a/*::]*/: { /* n:\"VerticalPageBreaks\", */ },\n\t/*::[*/0x001b/*::]*/: { /* n:\"HorizontalPageBreaks\", */ },\n\t/*::[*/0x001c/*::]*/: { /* n:\"Note\", */ f:parse_Note },\n\t/*::[*/0x001d/*::]*/: { /* n:\"Selection\", */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"Date1904\", */ f:parsebool },\n\t/*::[*/0x0023/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0026/*::]*/: { /* n:\"LeftMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0027/*::]*/: { /* n:\"RightMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0028/*::]*/: { /* n:\"TopMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0029/*::]*/: { /* n:\"BottomMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x002a/*::]*/: { /* n:\"PrintRowCol\", */ f:parsebool },\n\t/*::[*/0x002b/*::]*/: { /* n:\"PrintGrid\", */ f:parsebool },\n\t/*::[*/0x002f/*::]*/: { /* n:\"FilePass\", */ f:parse_FilePass },\n\t/*::[*/0x0031/*::]*/: { /* n:\"Font\", */ f:parse_Font },\n\t/*::[*/0x0033/*::]*/: { /* n:\"PrintSize\", */ f:parseuint16 },\n\t/*::[*/0x003c/*::]*/: { /* n:\"Continue\", */ },\n\t/*::[*/0x003d/*::]*/: { /* n:\"Window1\", */ f:parse_Window1 },\n\t/*::[*/0x0040/*::]*/: { /* n:\"Backup\", */ f:parsebool },\n\t/*::[*/0x0041/*::]*/: { /* n:\"Pane\", */ f:parse_Pane },\n\t/*::[*/0x0042/*::]*/: { /* n:\"CodePage\", */ f:parseuint16 },\n\t/*::[*/0x004d/*::]*/: { /* n:\"Pls\", */ },\n\t/*::[*/0x0050/*::]*/: { /* n:\"DCon\", */ },\n\t/*::[*/0x0051/*::]*/: { /* n:\"DConRef\", */ },\n\t/*::[*/0x0052/*::]*/: { /* n:\"DConName\", */ },\n\t/*::[*/0x0055/*::]*/: { /* n:\"DefColWidth\", */ f:parseuint16 },\n\t/*::[*/0x0059/*::]*/: { /* n:\"XCT\", */ },\n\t/*::[*/0x005a/*::]*/: { /* n:\"CRN\", */ },\n\t/*::[*/0x005b/*::]*/: { /* n:\"FileSharing\", */ },\n\t/*::[*/0x005c/*::]*/: { /* n:\"WriteAccess\", */ f:parse_WriteAccess },\n\t/*::[*/0x005d/*::]*/: { /* n:\"Obj\", */ f:parse_Obj },\n\t/*::[*/0x005e/*::]*/: { /* n:\"Uncalced\", */ },\n\t/*::[*/0x005f/*::]*/: { /* n:\"CalcSaveRecalc\", */ f:parsebool }, //\n\t/*::[*/0x0060/*::]*/: { /* n:\"Template\", */ },\n\t/*::[*/0x0061/*::]*/: { /* n:\"Intl\", */ },\n\t/*::[*/0x0063/*::]*/: { /* n:\"ObjProtect\", */ f:parsebool },\n\t/*::[*/0x007d/*::]*/: { /* n:\"ColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x0080/*::]*/: { /* n:\"Guts\", */ f:parse_Guts },\n\t/*::[*/0x0081/*::]*/: { /* n:\"WsBool\", */ f:parse_WsBool },\n\t/*::[*/0x0082/*::]*/: { /* n:\"GridSet\", */ f:parseuint16 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"HCenter\", */ f:parsebool },\n\t/*::[*/0x0084/*::]*/: { /* n:\"VCenter\", */ f:parsebool },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BoundSheet8\", */ f:parse_BoundSheet8 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"WriteProtect\", */ },\n\t/*::[*/0x008c/*::]*/: { /* n:\"Country\", */ f:parse_Country },\n\t/*::[*/0x008d/*::]*/: { /* n:\"HideObj\", */ f:parseuint16 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"Sort\", */ },\n\t/*::[*/0x0092/*::]*/: { /* n:\"Palette\", */ f:parse_Palette },\n\t/*::[*/0x0097/*::]*/: { /* n:\"Sync\", */ },\n\t/*::[*/0x0098/*::]*/: { /* n:\"LPr\", */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"DxGCol\", */ },\n\t/*::[*/0x009a/*::]*/: { /* n:\"FnGroupName\", */ },\n\t/*::[*/0x009b/*::]*/: { /* n:\"FilterMode\", */ },\n\t/*::[*/0x009c/*::]*/: { /* n:\"BuiltInFnGroupCount\", */ f:parseuint16 },\n\t/*::[*/0x009d/*::]*/: { /* n:\"AutoFilterInfo\", */ },\n\t/*::[*/0x009e/*::]*/: { /* n:\"AutoFilter\", */ },\n\t/*::[*/0x00a0/*::]*/: { /* n:\"Scl\", */ f:parse_Scl },\n\t/*::[*/0x00a1/*::]*/: { /* n:\"Setup\", */ f:parse_Setup },\n\t/*::[*/0x00ae/*::]*/: { /* n:\"ScenMan\", */ },\n\t/*::[*/0x00af/*::]*/: { /* n:\"SCENARIO\", */ },\n\t/*::[*/0x00b0/*::]*/: { /* n:\"SxView\", */ },\n\t/*::[*/0x00b1/*::]*/: { /* n:\"Sxvd\", */ },\n\t/*::[*/0x00b2/*::]*/: { /* n:\"SXVI\", */ },\n\t/*::[*/0x00b4/*::]*/: { /* n:\"SxIvd\", */ },\n\t/*::[*/0x00b5/*::]*/: { /* n:\"SXLI\", */ },\n\t/*::[*/0x00b6/*::]*/: { /* n:\"SXPI\", */ },\n\t/*::[*/0x00b8/*::]*/: { /* n:\"DocRoute\", */ },\n\t/*::[*/0x00b9/*::]*/: { /* n:\"RecipName\", */ },\n\t/*::[*/0x00bd/*::]*/: { /* n:\"MulRk\", */ f:parse_MulRk },\n\t/*::[*/0x00be/*::]*/: { /* n:\"MulBlank\", */ f:parse_MulBlank },\n\t/*::[*/0x00c1/*::]*/: { /* n:\"Mms\", */ f:parsenoop2 },\n\t/*::[*/0x00c5/*::]*/: { /* n:\"SXDI\", */ },\n\t/*::[*/0x00c6/*::]*/: { /* n:\"SXDB\", */ },\n\t/*::[*/0x00c7/*::]*/: { /* n:\"SXFDB\", */ },\n\t/*::[*/0x00c8/*::]*/: { /* n:\"SXDBB\", */ },\n\t/*::[*/0x00c9/*::]*/: { /* n:\"SXNum\", */ },\n\t/*::[*/0x00ca/*::]*/: { /* n:\"SxBool\", */ f:parsebool },\n\t/*::[*/0x00cb/*::]*/: { /* n:\"SxErr\", */ },\n\t/*::[*/0x00cc/*::]*/: { /* n:\"SXInt\", */ },\n\t/*::[*/0x00cd/*::]*/: { /* n:\"SXString\", */ },\n\t/*::[*/0x00ce/*::]*/: { /* n:\"SXDtr\", */ },\n\t/*::[*/0x00cf/*::]*/: { /* n:\"SxNil\", */ },\n\t/*::[*/0x00d0/*::]*/: { /* n:\"SXTbl\", */ },\n\t/*::[*/0x00d1/*::]*/: { /* n:\"SXTBRGIITM\", */ },\n\t/*::[*/0x00d2/*::]*/: { /* n:\"SxTbpg\", */ },\n\t/*::[*/0x00d3/*::]*/: { /* n:\"ObProj\", */ },\n\t/*::[*/0x00d5/*::]*/: { /* n:\"SXStreamID\", */ },\n\t/*::[*/0x00d7/*::]*/: { /* n:\"DBCell\", */ },\n\t/*::[*/0x00d8/*::]*/: { /* n:\"SXRng\", */ },\n\t/*::[*/0x00d9/*::]*/: { /* n:\"SxIsxoper\", */ },\n\t/*::[*/0x00da/*::]*/: { /* n:\"BookBool\", */ f:parseuint16 },\n\t/*::[*/0x00dc/*::]*/: { /* n:\"DbOrParamQry\", */ },\n\t/*::[*/0x00dd/*::]*/: { /* n:\"ScenarioProtect\", */ f:parsebool },\n\t/*::[*/0x00de/*::]*/: { /* n:\"OleObjectSize\", */ },\n\t/*::[*/0x00e0/*::]*/: { /* n:\"XF\", */ f:parse_XF },\n\t/*::[*/0x00e1/*::]*/: { /* n:\"InterfaceHdr\", */ f:parse_InterfaceHdr },\n\t/*::[*/0x00e2/*::]*/: { /* n:\"InterfaceEnd\", */ f:parsenoop2 },\n\t/*::[*/0x00e3/*::]*/: { /* n:\"SXVS\", */ },\n\t/*::[*/0x00e5/*::]*/: { /* n:\"MergeCells\", */ f:parse_MergeCells },\n\t/*::[*/0x00e9/*::]*/: { /* n:\"BkHim\", */ },\n\t/*::[*/0x00eb/*::]*/: { /* n:\"MsoDrawingGroup\", */ },\n\t/*::[*/0x00ec/*::]*/: { /* n:\"MsoDrawing\", */ },\n\t/*::[*/0x00ed/*::]*/: { /* n:\"MsoDrawingSelection\", */ },\n\t/*::[*/0x00ef/*::]*/: { /* n:\"PhoneticInfo\", */ },\n\t/*::[*/0x00f0/*::]*/: { /* n:\"SxRule\", */ },\n\t/*::[*/0x00f1/*::]*/: { /* n:\"SXEx\", */ },\n\t/*::[*/0x00f2/*::]*/: { /* n:\"SxFilt\", */ },\n\t/*::[*/0x00f4/*::]*/: { /* n:\"SxDXF\", */ },\n\t/*::[*/0x00f5/*::]*/: { /* n:\"SxItm\", */ },\n\t/*::[*/0x00f6/*::]*/: { /* n:\"SxName\", */ },\n\t/*::[*/0x00f7/*::]*/: { /* n:\"SxSelect\", */ },\n\t/*::[*/0x00f8/*::]*/: { /* n:\"SXPair\", */ },\n\t/*::[*/0x00f9/*::]*/: { /* n:\"SxFmla\", */ },\n\t/*::[*/0x00fb/*::]*/: { /* n:\"SxFormat\", */ },\n\t/*::[*/0x00fc/*::]*/: { /* n:\"SST\", */ f:parse_SST },\n\t/*::[*/0x00fd/*::]*/: { /* n:\"LabelSst\", */ f:parse_LabelSst },\n\t/*::[*/0x00ff/*::]*/: { /* n:\"ExtSST\", */ f:parse_ExtSST },\n\t/*::[*/0x0100/*::]*/: { /* n:\"SXVDEx\", */ },\n\t/*::[*/0x0103/*::]*/: { /* n:\"SXFormula\", */ },\n\t/*::[*/0x0122/*::]*/: { /* n:\"SXDBEx\", */ },\n\t/*::[*/0x0137/*::]*/: { /* n:\"RRDInsDel\", */ },\n\t/*::[*/0x0138/*::]*/: { /* n:\"RRDHead\", */ },\n\t/*::[*/0x013b/*::]*/: { /* n:\"RRDChgCell\", */ },\n\t/*::[*/0x013d/*::]*/: { /* n:\"RRTabId\", */ f:parseuint16a },\n\t/*::[*/0x013e/*::]*/: { /* n:\"RRDRenSheet\", */ },\n\t/*::[*/0x013f/*::]*/: { /* n:\"RRSort\", */ },\n\t/*::[*/0x0140/*::]*/: { /* n:\"RRDMove\", */ },\n\t/*::[*/0x014a/*::]*/: { /* n:\"RRFormat\", */ },\n\t/*::[*/0x014b/*::]*/: { /* n:\"RRAutoFmt\", */ },\n\t/*::[*/0x014d/*::]*/: { /* n:\"RRInsertSh\", */ },\n\t/*::[*/0x014e/*::]*/: { /* n:\"RRDMoveBegin\", */ },\n\t/*::[*/0x014f/*::]*/: { /* n:\"RRDMoveEnd\", */ },\n\t/*::[*/0x0150/*::]*/: { /* n:\"RRDInsDelBegin\", */ },\n\t/*::[*/0x0151/*::]*/: { /* n:\"RRDInsDelEnd\", */ },\n\t/*::[*/0x0152/*::]*/: { /* n:\"RRDConflict\", */ },\n\t/*::[*/0x0153/*::]*/: { /* n:\"RRDDefName\", */ },\n\t/*::[*/0x0154/*::]*/: { /* n:\"RRDRstEtxp\", */ },\n\t/*::[*/0x015f/*::]*/: { /* n:\"LRng\", */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"UsesELFs\", */ f:parsebool },\n\t/*::[*/0x0161/*::]*/: { /* n:\"DSF\", */ f:parsenoop2 },\n\t/*::[*/0x0191/*::]*/: { /* n:\"CUsr\", */ },\n\t/*::[*/0x0192/*::]*/: { /* n:\"CbUsr\", */ },\n\t/*::[*/0x0193/*::]*/: { /* n:\"UsrInfo\", */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"UsrExcl\", */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"FileLock\", */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"RRDInfo\", */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BCUsrs\", */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"UsrChk\", */ },\n\t/*::[*/0x01a9/*::]*/: { /* n:\"UserBView\", */ },\n\t/*::[*/0x01aa/*::]*/: { /* n:\"UserSViewBegin\", */ },\n\t/*::[*/0x01ab/*::]*/: { /* n:\"UserSViewEnd\", */ },\n\t/*::[*/0x01ac/*::]*/: { /* n:\"RRDUserView\", */ },\n\t/*::[*/0x01ad/*::]*/: { /* n:\"Qsi\", */ },\n\t/*::[*/0x01ae/*::]*/: { /* n:\"SupBook\", */ f:parse_SupBook },\n\t/*::[*/0x01af/*::]*/: { /* n:\"Prot4Rev\", */ f:parsebool },\n\t/*::[*/0x01b0/*::]*/: { /* n:\"CondFmt\", */ },\n\t/*::[*/0x01b1/*::]*/: { /* n:\"CF\", */ },\n\t/*::[*/0x01b2/*::]*/: { /* n:\"DVal\", */ },\n\t/*::[*/0x01b5/*::]*/: { /* n:\"DConBin\", */ },\n\t/*::[*/0x01b6/*::]*/: { /* n:\"TxO\", */ f:parse_TxO },\n\t/*::[*/0x01b7/*::]*/: { /* n:\"RefreshAll\", */ f:parsebool }, //\n\t/*::[*/0x01b8/*::]*/: { /* n:\"HLink\", */ f:parse_HLink },\n\t/*::[*/0x01b9/*::]*/: { /* n:\"Lel\", */ },\n\t/*::[*/0x01ba/*::]*/: { /* n:\"CodeName\", */ f:parse_XLUnicodeString },\n\t/*::[*/0x01bb/*::]*/: { /* n:\"SXFDBType\", */ },\n\t/*::[*/0x01bc/*::]*/: { /* n:\"Prot4RevPass\", */ f:parseuint16 },\n\t/*::[*/0x01bd/*::]*/: { /* n:\"ObNoMacros\", */ },\n\t/*::[*/0x01be/*::]*/: { /* n:\"Dv\", */ },\n\t/*::[*/0x01c0/*::]*/: { /* n:\"Excel9File\", */ f:parsenoop2 },\n\t/*::[*/0x01c1/*::]*/: { /* n:\"RecalcId\", */ f:parse_RecalcId, r:2},\n\t/*::[*/0x01c2/*::]*/: { /* n:\"EntExU2\", */ f:parsenoop2 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0201/*::]*/: { /* n:\"Blank\", */ f:parse_Blank },\n\t/*::[*/0x0203/*::]*/: { /* n:\"Number\", */ f:parse_Number },\n\t/*::[*/0x0204/*::]*/: { /* n:\"Label\", */ f:parse_Label },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0207/*::]*/: { /* n:\"String\", */ f:parse_String },\n\t/*::[*/0x0208/*::]*/: { /* n:\"Row\", */ f:parse_Row },\n\t/*::[*/0x020b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0221/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0225/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t/*::[*/0x0236/*::]*/: { /* n:\"Table\", */ },\n\t/*::[*/0x023e/*::]*/: { /* n:\"Window2\", */ f:parse_Window2 },\n\t/*::[*/0x027e/*::]*/: { /* n:\"RK\", */ f:parse_RK },\n\t/*::[*/0x0293/*::]*/: { /* n:\"Style\", */ },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BigName\", */ },\n\t/*::[*/0x041e/*::]*/: { /* n:\"Format\", */ f:parse_Format },\n\t/*::[*/0x043c/*::]*/: { /* n:\"ContinueBigName\", */ },\n\t/*::[*/0x04bc/*::]*/: { /* n:\"ShrFmla\", */ f:parse_ShrFmla },\n\t/*::[*/0x0800/*::]*/: { /* n:\"HLinkTooltip\", */ f:parse_HLinkTooltip },\n\t/*::[*/0x0801/*::]*/: { /* n:\"WebPub\", */ },\n\t/*::[*/0x0802/*::]*/: { /* n:\"QsiSXTag\", */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"DBQueryExt\", */ },\n\t/*::[*/0x0804/*::]*/: { /* n:\"ExtString\", */ },\n\t/*::[*/0x0805/*::]*/: { /* n:\"TxtQry\", */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"Qsir\", */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"Qsif\", */ },\n\t/*::[*/0x0808/*::]*/: { /* n:\"RRDTQSIF\", */ },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x080a/*::]*/: { /* n:\"OleDbConn\", */ },\n\t/*::[*/0x080b/*::]*/: { /* n:\"WOpt\", */ },\n\t/*::[*/0x080c/*::]*/: { /* n:\"SXViewEx\", */ },\n\t/*::[*/0x080d/*::]*/: { /* n:\"SXTH\", */ },\n\t/*::[*/0x080e/*::]*/: { /* n:\"SXPIEx\", */ },\n\t/*::[*/0x080f/*::]*/: { /* n:\"SXVDTEx\", */ },\n\t/*::[*/0x0810/*::]*/: { /* n:\"SXViewEx9\", */ },\n\t/*::[*/0x0812/*::]*/: { /* n:\"ContinueFrt\", */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"RealTimeData\", */ },\n\t/*::[*/0x0850/*::]*/: { /* n:\"ChartFrtInfo\", */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"FrtWrapper\", */ },\n\t/*::[*/0x0852/*::]*/: { /* n:\"StartBlock\", */ },\n\t/*::[*/0x0853/*::]*/: { /* n:\"EndBlock\", */ },\n\t/*::[*/0x0854/*::]*/: { /* n:\"StartObject\", */ },\n\t/*::[*/0x0855/*::]*/: { /* n:\"EndObject\", */ },\n\t/*::[*/0x0856/*::]*/: { /* n:\"CatLab\", */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"YMult\", */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"SXViewLink\", */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"PivotChartBits\", */ },\n\t/*::[*/0x085a/*::]*/: { /* n:\"FrtFontList\", */ },\n\t/*::[*/0x0862/*::]*/: { /* n:\"SheetExt\", */ },\n\t/*::[*/0x0863/*::]*/: { /* n:\"BookExt\", */ r:12},\n\t/*::[*/0x0864/*::]*/: { /* n:\"SXAddl\", */ },\n\t/*::[*/0x0865/*::]*/: { /* n:\"CrErr\", */ },\n\t/*::[*/0x0866/*::]*/: { /* n:\"HFPicture\", */ },\n\t/*::[*/0x0867/*::]*/: { /* n:\"FeatHdr\", */ f:parsenoop2 },\n\t/*::[*/0x0868/*::]*/: { /* n:\"Feat\", */ },\n\t/*::[*/0x086a/*::]*/: { /* n:\"DataLabExt\", */ },\n\t/*::[*/0x086b/*::]*/: { /* n:\"DataLabExtContents\", */ },\n\t/*::[*/0x086c/*::]*/: { /* n:\"CellWatch\", */ },\n\t/*::[*/0x0871/*::]*/: { /* n:\"FeatHdr11\", */ },\n\t/*::[*/0x0872/*::]*/: { /* n:\"Feature11\", */ },\n\t/*::[*/0x0874/*::]*/: { /* n:\"DropDownObjIds\", */ },\n\t/*::[*/0x0875/*::]*/: { /* n:\"ContinueFrt11\", */ },\n\t/*::[*/0x0876/*::]*/: { /* n:\"DConn\", */ },\n\t/*::[*/0x0877/*::]*/: { /* n:\"List12\", */ },\n\t/*::[*/0x0878/*::]*/: { /* n:\"Feature12\", */ },\n\t/*::[*/0x0879/*::]*/: { /* n:\"CondFmt12\", */ },\n\t/*::[*/0x087a/*::]*/: { /* n:\"CF12\", */ },\n\t/*::[*/0x087b/*::]*/: { /* n:\"CFEx\", */ },\n\t/*::[*/0x087c/*::]*/: { /* n:\"XFCRC\", */ f:parse_XFCRC, r:12 },\n\t/*::[*/0x087d/*::]*/: { /* n:\"XFExt\", */ f:parse_XFExt, r:12 },\n\t/*::[*/0x087e/*::]*/: { /* n:\"AutoFilter12\", */ },\n\t/*::[*/0x087f/*::]*/: { /* n:\"ContinueFrt12\", */ },\n\t/*::[*/0x0884/*::]*/: { /* n:\"MDTInfo\", */ },\n\t/*::[*/0x0885/*::]*/: { /* n:\"MDXStr\", */ },\n\t/*::[*/0x0886/*::]*/: { /* n:\"MDXTuple\", */ },\n\t/*::[*/0x0887/*::]*/: { /* n:\"MDXSet\", */ },\n\t/*::[*/0x0888/*::]*/: { /* n:\"MDXProp\", */ },\n\t/*::[*/0x0889/*::]*/: { /* n:\"MDXKPI\", */ },\n\t/*::[*/0x088a/*::]*/: { /* n:\"MDB\", */ },\n\t/*::[*/0x088b/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x088c/*::]*/: { /* n:\"Compat12\", */ f:parsebool, r:12 },\n\t/*::[*/0x088d/*::]*/: { /* n:\"DXF\", */ },\n\t/*::[*/0x088e/*::]*/: { /* n:\"TableStyles\", */ r:12 },\n\t/*::[*/0x088f/*::]*/: { /* n:\"TableStyle\", */ },\n\t/*::[*/0x0890/*::]*/: { /* n:\"TableStyleElement\", */ },\n\t/*::[*/0x0892/*::]*/: { /* n:\"StyleExt\", */ },\n\t/*::[*/0x0893/*::]*/: { /* n:\"NamePublish\", */ },\n\t/*::[*/0x0894/*::]*/: { /* n:\"NameCmt\", */ f:parse_NameCmt, r:12 },\n\t/*::[*/0x0895/*::]*/: { /* n:\"SortData\", */ },\n\t/*::[*/0x0896/*::]*/: { /* n:\"Theme\", */ f:parse_Theme, r:12 },\n\t/*::[*/0x0897/*::]*/: { /* n:\"GUIDTypeLib\", */ },\n\t/*::[*/0x0898/*::]*/: { /* n:\"FnGrp12\", */ },\n\t/*::[*/0x0899/*::]*/: { /* n:\"NameFnGrp12\", */ },\n\t/*::[*/0x089a/*::]*/: { /* n:\"MTRSettings\", */ f:parse_MTRSettings, r:12 },\n\t/*::[*/0x089b/*::]*/: { /* n:\"CompressPictures\", */ f:parsenoop2 },\n\t/*::[*/0x089c/*::]*/: { /* n:\"HeaderFooter\", */ },\n\t/*::[*/0x089d/*::]*/: { /* n:\"CrtLayout12\", */ },\n\t/*::[*/0x089e/*::]*/: { /* n:\"CrtMlFrt\", */ },\n\t/*::[*/0x089f/*::]*/: { /* n:\"CrtMlFrtContinue\", */ },\n\t/*::[*/0x08a3/*::]*/: { /* n:\"ForceFullCalculation\", */ f:parse_ForceFullCalculation },\n\t/*::[*/0x08a4/*::]*/: { /* n:\"ShapePropsStream\", */ },\n\t/*::[*/0x08a5/*::]*/: { /* n:\"TextPropsStream\", */ },\n\t/*::[*/0x08a6/*::]*/: { /* n:\"RichTextStream\", */ },\n\t/*::[*/0x08a7/*::]*/: { /* n:\"CrtLayout12A\", */ },\n\t/*::[*/0x1001/*::]*/: { /* n:\"Units\", */ },\n\t/*::[*/0x1002/*::]*/: { /* n:\"Chart\", */ },\n\t/*::[*/0x1003/*::]*/: { /* n:\"Series\", */ },\n\t/*::[*/0x1006/*::]*/: { /* n:\"DataFormat\", */ },\n\t/*::[*/0x1007/*::]*/: { /* n:\"LineFormat\", */ },\n\t/*::[*/0x1009/*::]*/: { /* n:\"MarkerFormat\", */ },\n\t/*::[*/0x100a/*::]*/: { /* n:\"AreaFormat\", */ },\n\t/*::[*/0x100b/*::]*/: { /* n:\"PieFormat\", */ },\n\t/*::[*/0x100c/*::]*/: { /* n:\"AttachedLabel\", */ },\n\t/*::[*/0x100d/*::]*/: { /* n:\"SeriesText\", */ },\n\t/*::[*/0x1014/*::]*/: { /* n:\"ChartFormat\", */ },\n\t/*::[*/0x1015/*::]*/: { /* n:\"Legend\", */ },\n\t/*::[*/0x1016/*::]*/: { /* n:\"SeriesList\", */ },\n\t/*::[*/0x1017/*::]*/: { /* n:\"Bar\", */ },\n\t/*::[*/0x1018/*::]*/: { /* n:\"Line\", */ },\n\t/*::[*/0x1019/*::]*/: { /* n:\"Pie\", */ },\n\t/*::[*/0x101a/*::]*/: { /* n:\"Area\", */ },\n\t/*::[*/0x101b/*::]*/: { /* n:\"Scatter\", */ },\n\t/*::[*/0x101c/*::]*/: { /* n:\"CrtLine\", */ },\n\t/*::[*/0x101d/*::]*/: { /* n:\"Axis\", */ },\n\t/*::[*/0x101e/*::]*/: { /* n:\"Tick\", */ },\n\t/*::[*/0x101f/*::]*/: { /* n:\"ValueRange\", */ },\n\t/*::[*/0x1020/*::]*/: { /* n:\"CatSerRange\", */ },\n\t/*::[*/0x1021/*::]*/: { /* n:\"AxisLine\", */ },\n\t/*::[*/0x1022/*::]*/: { /* n:\"CrtLink\", */ },\n\t/*::[*/0x1024/*::]*/: { /* n:\"DefaultText\", */ },\n\t/*::[*/0x1025/*::]*/: { /* n:\"Text\", */ },\n\t/*::[*/0x1026/*::]*/: { /* n:\"FontX\", */ f:parseuint16 },\n\t/*::[*/0x1027/*::]*/: { /* n:\"ObjectLink\", */ },\n\t/*::[*/0x1032/*::]*/: { /* n:\"Frame\", */ },\n\t/*::[*/0x1033/*::]*/: { /* n:\"Begin\", */ },\n\t/*::[*/0x1034/*::]*/: { /* n:\"End\", */ },\n\t/*::[*/0x1035/*::]*/: { /* n:\"PlotArea\", */ },\n\t/*::[*/0x103a/*::]*/: { /* n:\"Chart3d\", */ },\n\t/*::[*/0x103c/*::]*/: { /* n:\"PicF\", */ },\n\t/*::[*/0x103d/*::]*/: { /* n:\"DropBar\", */ },\n\t/*::[*/0x103e/*::]*/: { /* n:\"Radar\", */ },\n\t/*::[*/0x103f/*::]*/: { /* n:\"Surf\", */ },\n\t/*::[*/0x1040/*::]*/: { /* n:\"RadarArea\", */ },\n\t/*::[*/0x1041/*::]*/: { /* n:\"AxisParent\", */ },\n\t/*::[*/0x1043/*::]*/: { /* n:\"LegendException\", */ },\n\t/*::[*/0x1044/*::]*/: { /* n:\"ShtProps\", */ f:parse_ShtProps },\n\t/*::[*/0x1045/*::]*/: { /* n:\"SerToCrt\", */ },\n\t/*::[*/0x1046/*::]*/: { /* n:\"AxesUsed\", */ },\n\t/*::[*/0x1048/*::]*/: { /* n:\"SBaseRef\", */ },\n\t/*::[*/0x104a/*::]*/: { /* n:\"SerParent\", */ },\n\t/*::[*/0x104b/*::]*/: { /* n:\"SerAuxTrend\", */ },\n\t/*::[*/0x104e/*::]*/: { /* n:\"IFmtRecord\", */ },\n\t/*::[*/0x104f/*::]*/: { /* n:\"Pos\", */ },\n\t/*::[*/0x1050/*::]*/: { /* n:\"AlRuns\", */ },\n\t/*::[*/0x1051/*::]*/: { /* n:\"BRAI\", */ },\n\t/*::[*/0x105b/*::]*/: { /* n:\"SerAuxErrBar\", */ },\n\t/*::[*/0x105c/*::]*/: { /* n:\"ClrtClient\", */ f:parse_ClrtClient },\n\t/*::[*/0x105d/*::]*/: { /* n:\"SerFmt\", */ },\n\t/*::[*/0x105f/*::]*/: { /* n:\"Chart3DBarShape\", */ },\n\t/*::[*/0x1060/*::]*/: { /* n:\"Fbi\", */ },\n\t/*::[*/0x1061/*::]*/: { /* n:\"BopPop\", */ },\n\t/*::[*/0x1062/*::]*/: { /* n:\"AxcExt\", */ },\n\t/*::[*/0x1063/*::]*/: { /* n:\"Dat\", */ },\n\t/*::[*/0x1064/*::]*/: { /* n:\"PlotGrowth\", */ },\n\t/*::[*/0x1065/*::]*/: { /* n:\"SIIndex\", */ },\n\t/*::[*/0x1066/*::]*/: { /* n:\"GelFrame\", */ },\n\t/*::[*/0x1067/*::]*/: { /* n:\"BopPopCustom\", */ },\n\t/*::[*/0x1068/*::]*/: { /* n:\"Fbi2\", */ },\n\n\t/*::[*/0x0000/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BIFF2BLANK\", */ },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BIFF2INT\", */ f:parse_BIFF2INT },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BIFF2NUM\", */ f:parse_BIFF2NUM },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BIFF2STR\", */ f:parse_BIFF2STR },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0007/*::]*/: { /* n:\"String\", */ f:parse_BIFF2STRING },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BIFF2ROW\", */ },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x000b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"ExternCount\", */ f:parseuint16 },\n\t/*::[*/0x001e/*::]*/: { /* n:\"BIFF2FORMAT\", */ f:parse_BIFF2Format },\n\t/*::[*/0x001f/*::]*/: { /* n:\"BIFF2FMTCNT\", */ }, /* 16-bit cnt of BIFF2FORMAT records */\n\t/*::[*/0x0020/*::]*/: { /* n:\"BIFF2COLINFO\", */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0024/*::]*/: { /* n:\"COLWIDTH\", */ },\n\t/*::[*/0x0025/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t// 0x2c ??\n\t// 0x2d ??\n\t// 0x2e ??\n\t// 0x30 FONTCOUNT: number of fonts\n\t/*::[*/0x0032/*::]*/: { /* n:\"BIFF2FONTXTRA\", */ f:parse_BIFF2FONTXTRA },\n\t// 0x35: INFOOPTS\n\t// 0x36: TABLE (BIFF2 only)\n\t// 0x37: TABLE2 (BIFF2 only)\n\t// 0x38: WNDESK\n\t// 0x39 ??\n\t// 0x3a: BEGINPREF\n\t// 0x3b: ENDPREF\n\t/*::[*/0x003e/*::]*/: { /* n:\"BIFF2WINDOW2\", */ },\n\t// 0x3f ??\n\t// 0x46: SHOWSCROLL\n\t// 0x47: SHOWFORMULA\n\t// 0x48: STATUSBAR\n\t// 0x49: SHORTMENUS\n\t// 0x4A:\n\t// 0x4B:\n\t// 0x4C:\n\t// 0x4E:\n\t// 0x4F:\n\t// 0x58: TOOLBAR (BIFF3)\n\n\t/* - - - */\n\t/*::[*/0x0034/*::]*/: { /* n:\"DDEObjName\", */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BIFF2XF\", */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BIFF2XFINDEX\", */ f:parseuint16 },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BIFF2FONTCLR\", */ },\n\t/*::[*/0x0056/*::]*/: { /* n:\"BIFF4FMTCNT\", */ }, /* 16-bit cnt, similar to BIFF2 */\n\t/*::[*/0x007e/*::]*/: { /* n:\"RK\", */ }, /* Not necessarily same as 0x027e */\n\t/*::[*/0x007f/*::]*/: { /* n:\"ImData\", */ f:parse_ImData },\n\t/*::[*/0x0087/*::]*/: { /* n:\"Addin\", */ },\n\t/*::[*/0x0088/*::]*/: { /* n:\"Edg\", */ },\n\t/*::[*/0x0089/*::]*/: { /* n:\"Pub\", */ },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t// 0x8F\n\t/*::[*/0x0091/*::]*/: { /* n:\"Sub\", */ },\n\t// 0x93 STYLE\n\t/*::[*/0x0094/*::]*/: { /* n:\"LHRecord\", */ },\n\t/*::[*/0x0095/*::]*/: { /* n:\"LHNGraph\", */ },\n\t/*::[*/0x0096/*::]*/: { /* n:\"Sound\", */ },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n\t/*::[*/0x00a9/*::]*/: { /* n:\"CoordList\", */ },\n\t/*::[*/0x00ab/*::]*/: { /* n:\"GCW\", */ },\n\t/*::[*/0x00bc/*::]*/: { /* n:\"ShrFmla\", */ }, /* Not necessarily same as 0x04bc */\n\t/*::[*/0x00bf/*::]*/: { /* n:\"ToolbarHdr\", */ },\n\t/*::[*/0x00c0/*::]*/: { /* n:\"ToolbarEnd\", */ },\n\t/*::[*/0x00c2/*::]*/: { /* n:\"AddMenu\", */ },\n\t/*::[*/0x00c3/*::]*/: { /* n:\"DelMenu\", */ },\n\t/*::[*/0x00d6/*::]*/: { /* n:\"RString\", */ f:parse_RString },\n\t/*::[*/0x00df/*::]*/: { /* n:\"UDDesc\", */ },\n\t/*::[*/0x00ea/*::]*/: { /* n:\"TabIdConf\", */ },\n\t/*::[*/0x0162/*::]*/: { /* n:\"XL5Modify\", */ },\n\t/*::[*/0x01a5/*::]*/: { /* n:\"FileSharing2\", */ },\n\t/*::[*/0x0206/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0218/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0223/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0231/*::]*/: { /* n:\"Font\", */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BIFF3XF\", */ },\n\t/*::[*/0x0406/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BIFF4XF\", */ },\n\t/*::[*/0x086d/*::]*/: { /* n:\"FeatInfo\", */ },\n\t/*::[*/0x0873/*::]*/: { /* n:\"FeatInfo11\", */ },\n\t/*::[*/0x0881/*::]*/: { /* n:\"SXAddl12\", */ },\n\t/*::[*/0x08c0/*::]*/: { /* n:\"AutoWebPub\", */ },\n\t/*::[*/0x08c1/*::]*/: { /* n:\"ListObj\", */ },\n\t/*::[*/0x08c2/*::]*/: { /* n:\"ListField\", */ },\n\t/*::[*/0x08c3/*::]*/: { /* n:\"ListDV\", */ },\n\t/*::[*/0x08c4/*::]*/: { /* n:\"ListCondFmt\", */ },\n\t/*::[*/0x08c5/*::]*/: { /* n:\"ListCF\", */ },\n\t/*::[*/0x08c6/*::]*/: { /* n:\"FMQry\", */ },\n\t/*::[*/0x08c7/*::]*/: { /* n:\"FMSQry\", */ },\n\t/*::[*/0x08c8/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x08c9/*::]*/: { /* n:\"LnExt\", */ },\n\t/*::[*/0x08ca/*::]*/: { /* n:\"MkrExt\", */ },\n\t/*::[*/0x08cb/*::]*/: { /* n:\"CrtCoopt\", */ },\n\t/*::[*/0x08d6/*::]*/: { /* n:\"FRTArchId$\", */ r:12 },\n\n\t/*::[*/0x7262/*::]*/: {}\n};\n\nfunction write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar t/*:number*/ = type;\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = type;\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r/*:number*/, c/*:number*/) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||\"\").slice(0,255)));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref/*:string*/, rr = \"\", cols/*:Array*/ = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i*/ = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1));\n\twrite_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100));\n\twrite_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true));\n\twrite_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false));\n\twrite_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001));\n\twrite_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true));\n\twrite_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false));\n\twrite_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false));\n\twrite_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1));\n\twrite_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, 0x0083 /* HCenter */, writebool(false));\n\twrite_biff_rec(ba, 0x0084 /* VCenter */, writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"]);\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname/*:string*/ = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, 0x000a /* EOF */);\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) {\n\tvar A = buf_array();\n\tvar _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/);\n\tvar _sheets/*:Array*/ = (_WB.Sheets||[]);\n\tvar _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:\"ThisWorkbook\"*/}/*:: ):any)*/;\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, 0x0087 /* Addin */);\n\twrite_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2));\n\tif(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */);\n\tif(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */);\n\twrite_biff_rec(A, 0x00e2 /* InterfaceEnd */);\n\twrite_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01c0 /* Excel9File */);\n\twrite_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */);\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname/*:string*/ = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, 0x0019 /* WinProtect */, writebool(false));\n\twrite_biff_rec(A, 0x0012 /* Protect */, writebool(false));\n\twrite_biff_rec(A, 0x0013 /* Password */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false));\n\tif(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0));\n\twrite_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts));\n\twrite_biff_rec(A, 0x0040 /* Backup */, writebool(false));\n\twrite_biff_rec(A, 0x008d /* HideObj */, writeuint16(0));\n\twrite_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true));\n\tif(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false));\n\twrite_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, 0x008C, write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, 0x00FC, write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, 0x000A /* EOF */);\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/);\n\t\twrite_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn bconcat(out);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn bconcat(bufs);\n}\n\nfunction write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nfunction html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tstr = str.replace(//g, \"\");\n\tvar mtch/*:any*/ = str.match(/\");\n\tvar mtch2/*:any*/ = str.match(/<\\/table/i);\n\tvar i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;\n\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\tvar R = -1, C = 0, RS = 0, CS = 0;\n\tvar range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\tvar merges/*:Array*/ = [];\n\tfor(i = 0; i < rows.length; ++i) {\n\t\tvar row = rows[i].trim();\n\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\tif(hd == \"/i);\n\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\tvar cell = cells[j].trim();\n\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar _merge/*:Range*/ = merges[midx];\n\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t}\n\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar _t/*:string*/ = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t/* TODO: generate stub cells */\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tm = htmldecode(m);\n\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tvar o/*:Cell*/ = {t:'s', v:m};\n\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\to = ({t:'d', v:parseDate(m)}/*:any*/);\n\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\tC += CS;\n\t\t}\n\t}\n\tws['!ref'] = encode_range(range);\n\tif(merges.length) ws[\"!merges\"] = merges;\n\treturn ws;\n}\nfunction make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar M/*:Array*/ = (ws['!merges'] ||[]);\n\tvar oo/*:Array*/ = [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar RS = 0, CS = 0;\n\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t}\n\t\tif(RS < 0) continue;\n\t\tvar coord = encode_cell({r:R,c:C});\n\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t/* TODO: html entities */\n\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\tvar sp = ({}/*:any*/);\n\t\tif(RS > 1) sp.rowspan = RS;\n\t\tif(CS > 1) sp.colspan = CS;\n\t\tif(o.editable) w = '' + w + '';\n\t\telse if(cell) {\n\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\tif(cell.v != null) sp[\"data-v\"] = cell.v;\n\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t}\n\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\too.push(writextag('td', w, sp));\n\t}\n\tvar preamble = \"\";\n\treturn preamble + oo.join(\"\") + \"\";\n}\n\nvar HTML_BEGIN = 'SheetJS Table Export';\nvar HTML_END = '';\n\nfunction html_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\tvar mtch = str.match(/[\\s\\S]*?<\\/table>/gi);\n\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
\");\n\tif(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\tvar wb = book_new();\n\tmtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\treturn wb;\n}\n\nfunction make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\treturn out.join(\"\") + '';\n}\n\nfunction sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ {\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tvar out/*:Array*/ = [header];\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tout.push(make_html_preamble(ws, r, o));\n\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\tout.push(\"
\" + footer);\n\treturn out.join(\"\");\n}\n\nfunction sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\n\tvar rows/*:HTMLCollection*/ = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range/*:Range*/ = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges/*:Array*/ = [], midx = 0;\n\tvar rowinfo/*:Array*/ = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row/*:HTMLTableRowElement*/ = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts/*:HTMLCollection*/ = (row.children/*:any*/);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt/*:HTMLTableCellElement*/ = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m/*:Range*/ = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o/*:Cell*/ = {t:'s', v:v};\n\t\t\tvar _t/*:string*/ = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)}/*:any*/);\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\") o.l = ({ Target: l });\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ {\n\tvar display/*:string*/ = '';\n\tvar get_computed_style/*:?function*/ = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style && element.style.display;\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nfunction parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ {\n\t/* 6.1.2 White Space Characters */\n\tvar fixed = text\n\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t.replace(//g,\" \")\n\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t.replace(//g,\"\\n\");\n\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\treturn [v];\n}\n\nvar number_formats_ods = {\n\t/* ods name: [short ssf fmt, long ssf fmt] */\n\tday: [\"d\", \"dd\"],\n\tmonth: [\"m\", \"mm\"],\n\tyear: [\"y\", \"yy\"],\n\thours: [\"h\", \"hh\"],\n\tminutes: [\"m\", \"mm\"],\n\tseconds: [\"s\", \"ss\"],\n\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\tera: [\"e\", \"ee\"],\n\t/* there is no native representation of LO \"Q\" format */\n\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n};\n\n\nfunction parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state/*:Array*/ = [], tmp;\n\t\tvar tag/*:: = {}*/;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag/*:: = {name:\"\", '名称':\"\"}*/;\n\t\tvar rowtag/*:: = {'行号':\"\"}*/;\n\t\tvar Sheets = {}, SheetNames/*:Array*/ = [];\n\t\tvar ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar Rn, q/*:: :any = ({t:\"\", v:null, z:null, w:\"\",c:[],}:any)*/;\n\t\tvar ctag = ({value:\"\"}/*:any*/);\n\t\tvar textp = \"\", textpidx = 0, textptag/*:: = {}*/;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({}/*:any*/);\n\t\tvar _Ref/*:[string, string]*/ = [\"\", \"\"];\n\t\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({}/*:any*/);\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); }\n\t\t\t\t\t\t\tq.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {/*:: t:\"\", v:null, z:null, w:\"\",c:[]*/};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({}/*:any*/);\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) /*::(*/comment/*:: :any)*/.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/);\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso(/*::wb, opts*/) {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text/*:string*/)/*:string*/ {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"
\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb/*:Workbook*/, i/*:number*//*::, opts*/)/*:string*/ {\n\t\t/* Section 9 Tables */\n\t\tvar o/*:Array*/ = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o/*:Array*/, wb) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/office:document-meta/g, \"office:meta\"));\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\twrite_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb/*:any*/, opts/*:any*/) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest/*:Array >*/ = [];\n\tvar rdf/*:Array<[string, string]>*/ = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\n/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */\nfunction u8_to_dataview(array) {\n return new DataView(array.buffer, array.byteOffset, array.byteLength);\n}\nfunction u8str(u8) {\n return typeof TextDecoder != \"undefined\" ? new TextDecoder().decode(u8) : utf8read(a2s(u8));\n}\nfunction stru8(str) {\n return typeof TextEncoder != \"undefined\" ? new TextEncoder().encode(str) : s2a(utf8write(str));\n}\nfunction u8contains(body, search) {\n outer:\n for (var L = 0; L <= body.length - search.length; ++L) {\n for (var j = 0; j < search.length; ++j)\n if (body[L + j] != search[j])\n continue outer;\n return true;\n }\n return false;\n}\nfunction u8concat(u8a) {\n var len = u8a.reduce(function(acc, x) {\n return acc + x.length;\n }, 0);\n var out = new Uint8Array(len);\n var off = 0;\n u8a.forEach(function(u8) {\n out.set(u8, off);\n off += u8.length;\n });\n return out;\n}\nfunction popcnt(x) {\n x -= x >> 1 & 1431655765;\n x = (x & 858993459) + (x >> 2 & 858993459);\n return (x + (x >> 4) & 252645135) * 16843009 >>> 24;\n}\nfunction readDecimal128LE(buf, offset) {\n var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1;\n var mantissa = buf[offset + 14] & 1;\n for (var j = offset + 13; j >= offset; --j)\n mantissa = mantissa * 256 + buf[j];\n return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176);\n}\nfunction writeDecimal128LE(buf, offset, value) {\n var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 20;\n var mantissa = value / Math.pow(10, exp - 6176);\n buf[offset + 15] |= exp >> 7;\n buf[offset + 14] |= (exp & 127) << 1;\n for (var i = 0; mantissa >= 1; ++i, mantissa /= 256)\n buf[offset + i] = mantissa & 255;\n buf[offset + 15] |= value >= 0 ? 0 : 128;\n}\nfunction parse_varint49(buf, ptr) {\n var l = ptr ? ptr[0] : 0;\n var usz = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n usz |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 28);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 35);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 42);\n ++l;\n if (buf[l++] < 128)\n break varint;\n }\n if (ptr)\n ptr[0] = l;\n return usz;\n}\nfunction write_varint49(v) {\n var usz = new Uint8Array(7);\n usz[0] = v & 127;\n var L = 1;\n sz:\n if (v > 127) {\n usz[L - 1] |= 128;\n usz[L] = v >> 7 & 127;\n ++L;\n if (v <= 16383)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 14 & 127;\n ++L;\n if (v <= 2097151)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 21 & 127;\n ++L;\n if (v <= 268435455)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 256 >>> 21 & 127;\n ++L;\n if (v <= 34359738367)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 65536 >>> 21 & 127;\n ++L;\n if (v <= 4398046511103)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 16777216 >>> 21 & 127;\n ++L;\n }\n return usz.slice(0, L);\n}\nfunction varint_to_i32(buf) {\n var l = 0, i32 = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n i32 |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 28;\n }\n return i32;\n}\nfunction parse_shallow(buf) {\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var off = ptr[0];\n var num = parse_varint49(buf, ptr);\n var type = num & 7;\n num = Math.floor(num / 8);\n var len = 0;\n var res;\n if (num == 0)\n break;\n switch (type) {\n case 0:\n {\n var l = ptr[0];\n while (buf[ptr[0]++] >= 128)\n ;\n res = buf.slice(l, ptr[0]);\n }\n break;\n case 5:\n len = 4;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 1:\n len = 8;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 2:\n len = parse_varint49(buf, ptr);\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 3:\n case 4:\n default:\n throw new Error(\"PB Type \".concat(type, \" for Field \").concat(num, \" at offset \").concat(off));\n }\n var v = { data: res, type: type };\n if (out[num] == null)\n out[num] = [v];\n else\n out[num].push(v);\n }\n return out;\n}\nfunction write_shallow(proto) {\n var out = [];\n proto.forEach(function(field, idx) {\n field.forEach(function(item) {\n if (!item.data)\n return;\n out.push(write_varint49(idx * 8 + item.type));\n if (item.type == 2)\n out.push(write_varint49(item.data.length));\n out.push(item.data);\n });\n });\n return u8concat(out);\n}\nfunction mappa(data, cb) {\n return (data == null ? void 0 : data.map(function(d) {\n return cb(d.data);\n })) || [];\n}\nfunction parse_iwa_file(buf) {\n var _a;\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var len = parse_varint49(buf, ptr);\n var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n var res = {\n id: varint_to_i32(ai[1][0].data),\n messages: []\n };\n ai[2].forEach(function(b) {\n var mi = parse_shallow(b.data);\n var fl = varint_to_i32(mi[3][0].data);\n res.messages.push({\n meta: mi,\n data: buf.slice(ptr[0], ptr[0] + fl)\n });\n ptr[0] += fl;\n });\n if ((_a = ai[3]) == null ? void 0 : _a[0])\n res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0;\n out.push(res);\n }\n return out;\n}\nfunction write_iwa_file(ias) {\n var bufs = [];\n ias.forEach(function(ia) {\n var ai = [];\n ai[1] = [{ data: write_varint49(ia.id), type: 0 }];\n ai[2] = [];\n if (ia.merge != null)\n ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }];\n var midata = [];\n ia.messages.forEach(function(mi) {\n midata.push(mi.data);\n mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];\n ai[2].push({ data: write_shallow(mi.meta), type: 2 });\n });\n var aipayload = write_shallow(ai);\n bufs.push(write_varint49(aipayload.length));\n bufs.push(aipayload);\n midata.forEach(function(mid) {\n return bufs.push(mid);\n });\n });\n return u8concat(bufs);\n}\nfunction parse_snappy_chunk(type, buf) {\n if (type != 0)\n throw new Error(\"Unexpected Snappy chunk type \".concat(type));\n var ptr = [0];\n var usz = parse_varint49(buf, ptr);\n var chunks = [];\n while (ptr[0] < buf.length) {\n var tag = buf[ptr[0]] & 3;\n if (tag == 0) {\n var len = buf[ptr[0]++] >> 2;\n if (len < 60)\n ++len;\n else {\n var c = len - 59;\n len = buf[ptr[0]];\n if (c > 1)\n len |= buf[ptr[0] + 1] << 8;\n if (c > 2)\n len |= buf[ptr[0] + 2] << 16;\n if (c > 3)\n len |= buf[ptr[0] + 3] << 24;\n len >>>= 0;\n len++;\n ptr[0] += c;\n }\n chunks.push(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n continue;\n } else {\n var offset = 0, length = 0;\n if (tag == 1) {\n length = (buf[ptr[0]] >> 2 & 7) + 4;\n offset = (buf[ptr[0]++] & 224) << 3;\n offset |= buf[ptr[0]++];\n } else {\n length = (buf[ptr[0]++] >> 2) + 1;\n if (tag == 2) {\n offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8;\n ptr[0] += 2;\n } else {\n offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0;\n ptr[0] += 4;\n }\n }\n chunks = [u8concat(chunks)];\n if (offset == 0)\n throw new Error(\"Invalid offset 0\");\n if (offset > chunks[0].length)\n throw new Error(\"Invalid offset beyond length\");\n if (length >= offset) {\n chunks.push(chunks[0].slice(-offset));\n length -= offset;\n while (length >= chunks[chunks.length - 1].length) {\n chunks.push(chunks[chunks.length - 1]);\n length -= chunks[chunks.length - 1].length;\n }\n }\n chunks.push(chunks[0].slice(-offset, -offset + length));\n }\n }\n var o = u8concat(chunks);\n if (o.length != usz)\n throw new Error(\"Unexpected length: \".concat(o.length, \" != \").concat(usz));\n return o;\n}\nfunction decompress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var t = buf[l++];\n var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16;\n l += 3;\n out.push(parse_snappy_chunk(t, buf.slice(l, l + len)));\n l += len;\n }\n if (l !== buf.length)\n throw new Error(\"data is not a valid framed stream!\");\n return u8concat(out);\n}\nfunction compress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var c = Math.min(buf.length - l, 268435455);\n var frame = new Uint8Array(4);\n out.push(frame);\n var usz = write_varint49(c);\n var L = usz.length;\n out.push(usz);\n if (c <= 60) {\n L++;\n out.push(new Uint8Array([c - 1 << 2]));\n } else if (c <= 256) {\n L += 2;\n out.push(new Uint8Array([240, c - 1 & 255]));\n } else if (c <= 65536) {\n L += 3;\n out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255]));\n } else if (c <= 16777216) {\n L += 4;\n out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255]));\n } else if (c <= 4294967296) {\n L += 5;\n out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255]));\n }\n out.push(buf.slice(l, l + c));\n L += c;\n frame[0] = 0;\n frame[1] = L & 255;\n frame[2] = L >> 8 & 255;\n frame[3] = L >> 16 & 255;\n l += c;\n }\n return u8concat(out);\n}\nfunction parse_old_storage(buf, sst, rsst, v) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var data_offset = (v > 1 ? 12 : 8) + popcnt(flags & (v > 1 ? 3470 : 398)) * 4;\n var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 512) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n data_offset += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4;\n if (flags & 16) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 32) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 64) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n var ret;\n switch (buf[2]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: ieee };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else if (sidx > -1)\n ret = { t: \"s\", v: sst[sidx] };\n else if (!isNaN(ieee))\n ret = { t: \"n\", v: ieee };\n else\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction parse_new_storage(buf, sst, rsst) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(8, true);\n var data_offset = 12;\n var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 1) {\n d128 = readDecimal128LE(buf, data_offset);\n data_offset += 16;\n }\n if (flags & 2) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 4) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n if (flags & 8) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 16) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n var ret;\n switch (buf[1]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: d128 };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n break;\n case 10:\n ret = { t: \"n\", v: d128 };\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction write_new_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 5;\n switch (cell.t) {\n case \"n\":\n out[1] = 2;\n writeDecimal128LE(out, l, cell.v);\n flags |= 1;\n l += 16;\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 2;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[1] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 8;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(8, flags, true);\n return out.slice(0, l);\n}\nfunction write_old_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 3;\n switch (cell.t) {\n case \"n\":\n out[2] = 2;\n dv.setFloat64(l, cell.v, true);\n flags |= 32;\n l += 8;\n break;\n case \"b\":\n out[2] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 32;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[2] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 16;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(4, flags, true);\n return out.slice(0, l);\n}\nfunction parse_cell_storage(buf, sst, rsst) {\n switch (buf[0]) {\n case 0:\n case 1:\n case 2:\n case 3:\n return parse_old_storage(buf, sst, rsst, buf[0]);\n case 5:\n return parse_new_storage(buf, sst, rsst);\n default:\n throw new Error(\"Unsupported payload version \".concat(buf[0]));\n }\n}\nfunction parse_TSP_Reference(buf) {\n var pb = parse_shallow(buf);\n return parse_varint49(pb[1][0].data);\n}\nfunction write_TSP_Reference(idx) {\n var out = [];\n out[1] = [{ type: 0, data: write_varint49(idx) }];\n return write_shallow(out);\n}\nfunction parse_TST_TableDataList(M, root) {\n var pb = parse_shallow(root.data);\n var type = varint_to_i32(pb[1][0].data);\n var entries = pb[3];\n var data = [];\n (entries || []).forEach(function(entry) {\n var le = parse_shallow(entry.data);\n var key = varint_to_i32(le[1][0].data) >>> 0;\n switch (type) {\n case 1:\n data[key] = u8str(le[3][0].data);\n break;\n case 8:\n {\n var rt = M[parse_TSP_Reference(le[9][0].data)][0];\n var rtp = parse_shallow(rt.data);\n var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0];\n var mtype = varint_to_i32(rtpref.meta[1][0].data);\n if (mtype != 2001)\n throw new Error(\"2000 unexpected reference to \".concat(mtype));\n var tswpsa = parse_shallow(rtpref.data);\n data[key] = tswpsa[3].map(function(x) {\n return u8str(x.data);\n }).join(\"\");\n }\n break;\n }\n });\n return data;\n}\nfunction parse_TST_TileRowInfo(u8, type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(u8);\n var R = varint_to_i32(pb[1][0].data) >>> 0;\n var cnt = varint_to_i32(pb[2][0].data) >>> 0;\n var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false;\n var used_storage_u8, used_storage;\n if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) {\n used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data;\n used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data;\n } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) {\n used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data;\n used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data;\n } else\n throw \"NUMBERS Tile missing \".concat(type, \" cell storage\");\n var width = wide_offsets ? 4 : 1;\n var used_storage_offsets = u8_to_dataview(used_storage_u8);\n var offsets = [];\n for (var C = 0; C < used_storage_u8.length / 2; ++C) {\n var off = used_storage_offsets.getUint16(C * 2, true);\n if (off < 65535)\n offsets.push([C, off]);\n }\n if (offsets.length != cnt)\n throw \"Expected \".concat(cnt, \" cells, found \").concat(offsets.length);\n var cells = [];\n for (C = 0; C < offsets.length - 1; ++C)\n cells[offsets[C][0]] = used_storage.subarray(offsets[C][1] * width, offsets[C + 1][1] * width);\n if (offsets.length >= 1)\n cells[offsets[offsets.length - 1][0]] = used_storage.subarray(offsets[offsets.length - 1][1] * width);\n return { R: R, cells: cells };\n}\nfunction parse_TST_Tile(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var storage = ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) ? varint_to_i32(pb[7][0].data) >>> 0 > 0 ? 1 : 0 : -1;\n var ri = mappa(pb[5], function(u8) {\n return parse_TST_TileRowInfo(u8, storage);\n });\n return {\n nrows: varint_to_i32(pb[4][0].data) >>> 0,\n data: ri.reduce(function(acc, x) {\n if (!acc[x.R])\n acc[x.R] = [];\n x.cells.forEach(function(cell, C) {\n if (acc[x.R][C])\n throw new Error(\"Duplicate cell r=\".concat(x.R, \" c=\").concat(C));\n acc[x.R][C] = cell;\n });\n return acc;\n }, [])\n };\n}\nfunction parse_TST_TableModelArchive(M, root, ws) {\n var _a;\n var pb = parse_shallow(root.data);\n var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };\n range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1;\n if (range.e.r < 0)\n throw new Error(\"Invalid row varint \".concat(pb[6][0].data));\n range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1;\n if (range.e.c < 0)\n throw new Error(\"Invalid col varint \".concat(pb[7][0].data));\n ws[\"!ref\"] = encode_range(range);\n var store = parse_shallow(pb[4][0].data);\n var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]);\n var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : [];\n var tile = parse_shallow(store[3][0].data);\n var _R = 0;\n tile[1].forEach(function(t) {\n var tl = parse_shallow(t.data);\n var ref = M[parse_TSP_Reference(tl[2][0].data)][0];\n var mtype = varint_to_i32(ref.meta[1][0].data);\n if (mtype != 6002)\n throw new Error(\"6001 unexpected reference to \".concat(mtype));\n var _tile = parse_TST_Tile(M, ref);\n _tile.data.forEach(function(row, R) {\n row.forEach(function(buf, C) {\n var addr = encode_cell({ r: _R + R, c: C });\n var res = parse_cell_storage(buf, sst, rsst);\n if (res)\n ws[addr] = res;\n });\n });\n _R += _tile.nrows;\n });\n}\nfunction parse_TST_TableInfoArchive(M, root) {\n var pb = parse_shallow(root.data);\n var out = { \"!ref\": \"A1\" };\n var tableref = M[parse_TSP_Reference(pb[2][0].data)];\n var mtype = varint_to_i32(tableref[0].meta[1][0].data);\n if (mtype != 6001)\n throw new Error(\"6000 unexpected reference to \".concat(mtype));\n parse_TST_TableModelArchive(M, tableref[0], out);\n return out;\n}\nfunction parse_TN_SheetArchive(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var out = {\n name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : \"\",\n sheets: []\n };\n var shapeoffs = mappa(pb[2], parse_TSP_Reference);\n shapeoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 6e3)\n out.sheets.push(parse_TST_TableInfoArchive(M, m));\n });\n });\n return out;\n}\nfunction parse_TN_DocumentArchive(M, root) {\n var out = book_new();\n var pb = parse_shallow(root.data);\n var sheetoffs = mappa(pb[1], parse_TSP_Reference);\n sheetoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 2) {\n var root2 = parse_TN_SheetArchive(M, m);\n root2.sheets.forEach(function(sheet, idx) {\n book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + \"_\" + idx, true);\n });\n }\n });\n });\n if (out.SheetNames.length == 0)\n throw new Error(\"Empty NUMBERS file\");\n return out;\n}\nfunction parse_numbers_iwa(cfb) {\n var _a, _b, _c, _d;\n var M = {}, indices = [];\n cfb.FullPaths.forEach(function(p) {\n if (p.match(/\\.iwpv2/))\n throw new Error(\"Unsupported password protection\");\n });\n cfb.FileIndex.forEach(function(s) {\n if (!s.name.match(/\\.iwa$/))\n return;\n var o;\n try {\n o = decompress_iwa_file(s.content);\n } catch (e) {\n return console.log(\"?? \" + s.content.length + \" \" + (e.message || e));\n }\n var packets;\n try {\n packets = parse_iwa_file(o);\n } catch (e) {\n return console.log(\"## \" + (e.message || e));\n }\n packets.forEach(function(packet) {\n M[packet.id] = packet.messages;\n indices.push(packet.id);\n });\n });\n if (!indices.length)\n throw new Error(\"File has no messages\");\n var docroot = ((_d = (_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.meta) == null ? void 0 : _c[1]) == null ? void 0 : _d[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0];\n if (!docroot)\n indices.forEach(function(idx) {\n M[idx].forEach(function(iwam) {\n var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0;\n if (mtype == 1) {\n if (!docroot)\n docroot = iwam;\n else\n throw new Error(\"Document has multiple roots\");\n }\n });\n });\n if (!docroot)\n throw new Error(\"Cannot find Document root\");\n return parse_TN_DocumentArchive(M, docroot);\n}\nfunction write_tile_row(tri, data, SST) {\n var _a, _b, _c, _d;\n if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0]))\n throw \"Mutation only works on post-BNC storages!\";\n var wide_offsets = ((_d = (_c = tri[8]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && varint_to_i32(tri[8][0].data) > 0 || false;\n if (wide_offsets)\n throw \"Math only works with normal offsets\";\n var cnt = 0;\n var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = [];\n var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = [];\n for (var C = 0; C < data.length; ++C) {\n if (data[C] == null) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535);\n continue;\n }\n dv.setUint16(C * 2, last_offset, true);\n _dv.setUint16(C * 2, _last_offset, true);\n var celload, _celload;\n switch (typeof data[C]) {\n case \"string\":\n celload = write_new_storage({ t: \"s\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"s\", v: data[C] }, SST);\n break;\n case \"number\":\n celload = write_new_storage({ t: \"n\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"n\", v: data[C] }, SST);\n break;\n case \"boolean\":\n celload = write_new_storage({ t: \"b\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"b\", v: data[C] }, SST);\n break;\n default:\n throw new Error(\"Unsupported value \" + data[C]);\n }\n cell_storage.push(celload);\n last_offset += celload.length;\n _cell_storage.push(_celload);\n _last_offset += _celload.length;\n ++cnt;\n }\n tri[2][0].data = write_varint49(cnt);\n for (; C < tri[7][0].data.length / 2; ++C) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535, true);\n }\n tri[6][0].data = u8concat(cell_storage);\n tri[3][0].data = u8concat(_cell_storage);\n return cnt;\n}\nfunction write_numbers_iwa(wb, opts) {\n if (!opts || !opts.numbers)\n throw new Error(\"Must pass a `numbers` option -- check the README\");\n var ws = wb.Sheets[wb.SheetNames[0]];\n if (wb.SheetNames.length > 1)\n console.error(\"The Numbers writer currently writes only the first table\");\n var range = decode_range(ws[\"!ref\"]);\n range.s.r = range.s.c = 0;\n var trunc = false;\n if (range.e.c > 9) {\n trunc = true;\n range.e.c = 9;\n }\n if (range.e.r > 49) {\n trunc = true;\n range.e.r = 49;\n }\n if (trunc)\n console.error(\"The Numbers writer is currently limited to \".concat(encode_range(range)));\n var data = sheet_to_json(ws, { range: range, header: 1 });\n var SST = [\"~Sh33tJ5~\"];\n data.forEach(function(row) {\n return row.forEach(function(cell) {\n if (typeof cell == \"string\")\n SST.push(cell);\n });\n });\n var dependents = {};\n var indices = [];\n var cfb = CFB.read(opts.numbers, { type: \"base64\" });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (fi.type != 2)\n return;\n if (!fi.name.match(/\\.iwa/))\n return;\n var old_content = fi.content;\n var raw1 = decompress_iwa_file(old_content);\n var x2 = parse_iwa_file(raw1);\n x2.forEach(function(packet2) {\n indices.push(packet2.id);\n dependents[packet2.id] = { deps: [], location: fp, type: varint_to_i32(packet2.messages[0].meta[1][0].data) };\n });\n });\n indices.sort(function(x2, y2) {\n return x2 - y2;\n });\n var indices_varint = indices.filter(function(x2) {\n return x2 > 1;\n }).map(function(x2) {\n return [x2, write_varint49(x2)];\n });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (!fi.name.match(/\\.iwa/))\n return;\n var x2 = parse_iwa_file(decompress_iwa_file(fi.content));\n x2.forEach(function(ia) {\n ia.messages.forEach(function(m) {\n indices_varint.forEach(function(ivi) {\n if (ia.messages.some(function(mess) {\n return varint_to_i32(mess.meta[1][0].data) != 11006 && u8contains(mess.data, ivi[1]);\n })) {\n dependents[ivi[0]].deps.push(ia.id);\n }\n });\n });\n });\n });\n function get_unique_msgid() {\n for (var i = 927262; i < 2e6; ++i)\n if (!dependents[i])\n return i;\n throw new Error(\"Too many messages\");\n }\n var entry = CFB.find(cfb, dependents[1].location);\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var docroot;\n for (var xi = 0; xi < x.length; ++xi) {\n var packet = x[xi];\n if (packet.id == 1)\n docroot = packet;\n }\n var sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n var pb = parse_shallow(docroot.messages[0].data);\n {\n pb[6][0].data = write_varint49(range.e.r + 1);\n pb[7][0].data = write_varint49(range.e.c + 1);\n var cruidsref = parse_TSP_Reference(pb[46][0].data);\n var oldbucket = CFB.find(cfb, dependents[cruidsref].location);\n var _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n for (var j = 0; j < _x.length; ++j) {\n if (_x[j].id == cruidsref)\n break;\n }\n if (_x[j].id != cruidsref)\n throw \"Bad ColumnRowUIDMapArchive\";\n var cruids = parse_shallow(_x[j].messages[0].data);\n cruids[1] = [];\n cruids[2] = [], cruids[3] = [];\n for (var C = 0; C <= range.e.c; ++C) {\n var uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(C + 420690) }];\n cruids[1].push({ type: 2, data: write_shallow(uuid) });\n cruids[2].push({ type: 0, data: write_varint49(C) });\n cruids[3].push({ type: 0, data: write_varint49(C) });\n }\n cruids[4] = [];\n cruids[5] = [], cruids[6] = [];\n for (var R = 0; R <= range.e.r; ++R) {\n uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(R + 726270) }];\n cruids[4].push({ type: 2, data: write_shallow(uuid) });\n cruids[5].push({ type: 0, data: write_varint49(R) });\n cruids[6].push({ type: 0, data: write_varint49(R) });\n }\n _x[j].messages[0].data = write_shallow(cruids);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n delete pb[46];\n var store = parse_shallow(pb[4][0].data);\n {\n store[7][0].data = write_varint49(range.e.r + 1);\n var row_headers = parse_shallow(store[1][0].data);\n var row_header_ref = parse_TSP_Reference(row_headers[2][0].data);\n oldbucket = CFB.find(cfb, dependents[row_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != row_header_ref)\n throw \"Bad HeaderStorageBucket\";\n var base_bucket = parse_shallow(_x[0].messages[0].data);\n for (R = 0; R < data.length; ++R) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(R);\n _bucket[4][0].data = write_varint49(data[R].length);\n base_bucket[2][R] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var col_header_ref = parse_TSP_Reference(store[2][0].data);\n oldbucket = CFB.find(cfb, dependents[col_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != col_header_ref)\n throw \"Bad HeaderStorageBucket\";\n base_bucket = parse_shallow(_x[0].messages[0].data);\n for (C = 0; C <= range.e.c; ++C) {\n _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(C);\n _bucket[4][0].data = write_varint49(range.e.r + 1);\n base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var sstref = parse_TSP_Reference(store[4][0].data);\n (function() {\n var sentry = CFB.find(cfb, dependents[sstref].location);\n var sx = parse_iwa_file(decompress_iwa_file(sentry.content));\n var sstroot;\n for (var sxi = 0; sxi < sx.length; ++sxi) {\n var packet2 = sx[sxi];\n if (packet2.id == sstref)\n sstroot = packet2;\n }\n var sstdata = parse_shallow(sstroot.messages[0].data);\n {\n sstdata[3] = [];\n var newsst = [];\n SST.forEach(function(str, i) {\n newsst[1] = [{ type: 0, data: write_varint49(i) }];\n newsst[2] = [{ type: 0, data: write_varint49(1) }];\n newsst[3] = [{ type: 2, data: stru8(str) }];\n sstdata[3].push({ type: 2, data: write_shallow(newsst) });\n });\n }\n sstroot.messages[0].data = write_shallow(sstdata);\n var sy = write_iwa_file(sx);\n var raw32 = compress_iwa_file(sy);\n sentry.content = raw32;\n sentry.size = sentry.content.length;\n })();\n var tile = parse_shallow(store[3][0].data);\n {\n var t = tile[1][0];\n delete tile[2];\n var tl = parse_shallow(t.data);\n {\n var tileref = parse_TSP_Reference(tl[2][0].data);\n (function() {\n var tentry = CFB.find(cfb, dependents[tileref].location);\n var tx = parse_iwa_file(decompress_iwa_file(tentry.content));\n var tileroot;\n for (var sxi = 0; sxi < tx.length; ++sxi) {\n var packet2 = tx[sxi];\n if (packet2.id == tileref)\n tileroot = packet2;\n }\n var tiledata = parse_shallow(tileroot.messages[0].data);\n {\n delete tiledata[6];\n delete tile[7];\n var rowload = new Uint8Array(tiledata[5][0].data);\n tiledata[5] = [];\n var cnt = 0;\n for (var R2 = 0; R2 <= range.e.r; ++R2) {\n var tilerow = parse_shallow(rowload);\n cnt += write_tile_row(tilerow, data[R2], SST);\n tilerow[1][0].data = write_varint49(R2);\n tiledata[5].push({ data: write_shallow(tilerow), type: 2 });\n }\n tiledata[1] = [{ type: 0, data: write_varint49(range.e.c + 1) }];\n tiledata[2] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n tiledata[3] = [{ type: 0, data: write_varint49(cnt) }];\n tiledata[4] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n }\n tileroot.messages[0].data = write_shallow(tiledata);\n var ty = write_iwa_file(tx);\n var raw32 = compress_iwa_file(ty);\n tentry.content = raw32;\n tentry.size = tentry.content.length;\n })();\n }\n t.data = write_shallow(tl);\n }\n store[3][0].data = write_shallow(tile);\n }\n pb[4][0].data = write_shallow(store);\n }\n docroot.messages[0].data = write_shallow(pb);\n var y = write_iwa_file(x);\n var raw3 = compress_iwa_file(y);\n entry.content = raw3;\n entry.size = entry.content.length;\n return cfb;\n}\nfunction fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nfunction fix_read_opts(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\n\nfunction fix_write_opts(opts) {\nfix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\nfunction get_sheet_type(n/*:string*/)/*:string*/ {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments and threaded comments */\n\t\tvar tcomments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tvar dfile = \"\";\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tvar comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments, false);\n\t\t\t}\n\t\t\tif(sheetRels[sheet][n].Type == RELS.TCMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\ttcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts));\n\t\t\t}\n\t\t});\n\t\tif(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tmake_ssf();\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) {\n\t\tif(typeof Uint8Array == \"undefined\") throw new Error('NUMBERS file parsing requires Uint8Array support');\n\t\tif(typeof parse_numbers_iwa != \"undefined\") {\n\t\t\tif(zip.FileIndex) return parse_numbers_iwa(zip);\n\t\t\tvar _zip = CFB.utils.cfb_new();\n\t\t\tzipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); });\n\t\t\treturn parse_numbers_iwa(_zip);\n\t\t}\n\t\tthrow new Error('Unsupported NUMBERS file');\n\t}\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({}/*:any*/);\n\tvar styles = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({}/*:any*/);\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({}/*:any*/);\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, \"s5s\"));\n\n\tif((dir.metadata || []).length >= 1) {\n\t\t/* TODO: MDX and other types of metadata */\n\t\topts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts);\n\t}\n\n\tif((dir.people || []).length >= 1) {\n\t\topts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts);\n\t}\n\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: dup(table_fmt)\n\t}/*:any*/);\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\n/*:: declare var decrypt_agile:any; */\n\tif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\n/*:: declare var decrypt_std76:any; */\n\tif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(opts.bookType == \"numbers\") return write_numbers_iwa(wb, opts);\n\tif(opts.bookType == \"xlsb\") return write_zip_xlsxb(wb, opts);\n\treturn write_zip_xlsx(wb, opts);\n}\n\n/* XLSX and XLSB writing are very similar. Originally they were unified in one\n export function. This is horrible for tree shaking in the common case (most\n applications need to export files in one format) so this function supports\n both formats while write_zip_xlsx only handles XLSX */\nfunction write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta(f));\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".\" + wbext;\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".\" + wbext, RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_xml(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_xml(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_xml(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_xml(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_xml());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64_decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64_decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\to.type = \"binary\";\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64_decode(d);\n\td = $cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data/*:string*/)/*:string*/ {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\treset_cp();\n\tvar o = opts||{};\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\tif(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== \"undefined\" ? \"buffer\" : \"array\";\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = \"array\"; }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t}\n\tif(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\n/*:: declare var encrypt_agile:any; */\nfunction write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip_xlsx(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ {\n\tvar oopts = {};\n\tvar ftype = has_buf ? \"nodebuffer\" : (typeof Uint8Array !== \"undefined\" ? \"array\" : \"string\");\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = ftype;\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = ftype; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: /*::(*/{\"nodebuffer\": \"buffer\", \"string\": \"binary\"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts);\n\tif(typeof Deno !== \"undefined\") {\n\t\tif(typeof out == \"string\") {\n\t\t\tif(o.type == \"binary\" || o.type == \"base64\") return out;\n\t\t\tout = new Uint8Array(s2ab(out));\n\t\t}\n\t}\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(/*::(*/out/*:: :any)*/) : out;\n}\n\nfunction write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = opts||{};\n\tvar cfb/*:CFBContainer*/ = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse if(typeof TextEncoder !== \"undefined\") return new TextEncoder().encode(o);\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\treturn write_zip_typeXLSX(wb, o);\n}\n\nfunction writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\tvar idx = 0;\n\tif(o.sheet) {\n\t\tif(typeof o.sheet == \"number\") idx = o.sheet;\n\t\telse idx = wb.SheetNames.indexOf(o.sheet);\n\t\tif(!wb.SheetNames[idx]) throw new Error(\"Sheet not found: \" + o.sheet + \" : \" + (typeof o.sheet));\n\t}\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'numbers':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o/*:WriteFileOpts*/) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSyncXLSX(wb, o);\n}\n\n\nfunction writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\n/*::\ntype MJRObject = {\n\trow: any;\n\tisempty: boolean;\n};\n*/\nfunction make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, dense/*:boolean*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row/*:any*/ = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw && (val.t !== \"n\" || (val.t === \"n\" && o.rawNumbers !== false)) ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar out/*:Array*/ = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, o/*:Sheet2CSVOpts*/)/*:?string*/ {\n\tvar isempty = true;\n\tvar row/*:Array*/ = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar w = 0;\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tif(row || (o.blankrows !== false)) out.push((w++ ? RS : \"\") + row);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof $cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = $cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols/*:Array*/ = [], C;\n\tvar cmds/*:Array*/ = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws/*:Worksheet*/ = _ws || ({}/*:any*/);\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell/*:Cell*/;\n\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr/*:Array*/ = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R/*:number*/) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = ws_get_cell_stub(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || table_fmt[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nfunction book_new()/*:Workbook*/ {\n\treturn { SheetNames: [], Sheets: {} };\n}\n\n/* add a worksheet to the end of a given workbook */\nfunction book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ {\n\tvar i = 1;\n\tif(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tif(roll && wb.SheetNames.indexOf(name) >= 0) {\n\t\tvar m = name.match(/(^.*?)(\\d+)$/);\n\t\ti = m && +m[2] || 0;\n\t\tvar root = m && m[1] || name;\n\t\tfor(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;\n\t}\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n\treturn name;\n}\n\n/* set sheet visibility (visible/hidden/very hidden) */\nfunction book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) {\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Sheets) wb.Workbook.Sheets = [];\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tif(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {};\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n}\n\n/* set number format */\nfunction cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) {\n\tcell.z = fmt;\n\treturn cell;\n}\n\n/* set cell hyperlink */\nfunction cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target }/*:Hyperlink*/);\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n}\nfunction cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, \"#\" + range, tooltip); }\n\n/* add to cell comments */\nfunction cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n}\n\n/* set array formula and flush related cells */\nfunction sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) {\n\t\t\tcell.f = formula;\n\t\t\tif(dynamic) cell.D = true;\n\t\t}\n\t}\n\treturn ws;\n}\n\nvar utils/*:any*/ = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: sheet_to_html,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json,\n\tsheet_get_cell: ws_get_cell_stub,\n\tbook_new: book_new,\n\tbook_append_sheet: book_append_sheet,\n\tbook_set_sheet_visibility: book_set_sheet_visibility,\n\tcell_set_number_format: cell_set_number_format,\n\tcell_set_hyperlink: cell_set_hyperlink,\n\tcell_set_internal_link: cell_set_internal_link,\n\tcell_add_comment: cell_add_comment,\n\tsheet_set_array_formula: sheet_set_array_formula,\n\tconsts: {\n\t\tSHEET_VISIBLE: 0,\n\t\tSHEET_HIDDEN: 1,\n\t\tSHEET_VERY_HIDDEN: 2\n\t}\n};\n\nvar _Readable;\nfunction set_readable(R) { _Readable = R; }\n\nfunction write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable();\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row/*:?string*/ = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar R = r.s.r;\n\tvar BOM = false, w = 0;\n\tstream._read = function() {\n\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\twhile(R <= r.e.r) {\n\t\t\t++R;\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\tif(row != null) {\n\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\tif(row || (o.blankrows !== false)) return stream.push((w++ ? RS : \"\") + row);\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) {\n\tvar stream = _Readable();\n\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tstream.push(header);\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tstream.push(make_html_preamble(ws, r, o));\n\tvar R = r.s.r;\n\tvar end = false;\n\tstream._read = function() {\n\t\tif(R > r.e.r) {\n\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\treturn stream.push(null);\n\t\t}\n\t\twhile(R <= r.e.r) {\n\t\t\tstream.push(make_html_row(ws, r, R, o));\n\t\t\t++R;\n\t\t\tbreak;\n\t\t}\n\t};\n\treturn stream;\n}\n\nfunction write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable({objectMode:true});\n\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tR = r.s.r + offset;\n\tstream._read = function() {\n\t\twhile(R <= r.e.r) {\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t++R;\n\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\tstream.push(row.row);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nvar __stream = {\n\tto_json: write_json_stream,\n\tto_html: write_html_stream,\n\tto_csv: write_csv_stream,\n set_readable: set_readable\n};\nexport const version = XLSX.version;\nexport {\n\tparse_xlscfb,\n\tparse_zip,\n\treadSync as read,\n\treadFileSync as readFile,\n\treadFileSync,\n\twriteSync as write,\n\twriteFileSync as writeFile,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteSyncXLSX as writeXLSX,\n\twriteFileSyncXLSX as writeFileXLSX,\n\tutils,\n\t__stream as stream,\n\tSSF,\n\tCFB\n};\n"],"names":["XLSX","current_codepage","current_ansi","VALID_ANSI","CS2CP","set_ansi","cp","indexOf","set_cp","reset_cp","char_codes","data","o","i","len","length","charCodeAt","utf16beread","String","fromCharCode","join","$cptable","debom","c1","c2","utf16leread","slice","_getchar","x","_getansi","set_cptable","cptable","utils","decode","cpdoit","Base64_map","Base64_encode","input","c3","e1","e2","e3","e4","isNaN","charAt","Base64_decode","replace","has_buf","Buffer","process","versions","node","Buffer_from","nbfs","from","e","buf","enc","bind","new_raw_buf","alloc","Uint8Array","Array","new_unsafe_buf","allocUnsafe","s2a","s","split","map","s2ab","ArrayBuffer","view","a2s","isArray","c","ab2a","Error","bconcat","bufs","concat","isBuffer","maxlen","set","apply","call","chr0","chr1","_strrev","pad0","v","d","t","fill","pad_","rpad_","p2_32","Math","pow","pad0r","round","pad0r1","pad0r2","SSF_isgeneral","days","months","table_fmt","SSF_default_map","SSF_default_str","SSF_frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_parse_date_code","opts","b2","date","time","dow","dout","out","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSFbasedate","SSFdnthresh","getTime","SSFbase1904","datenum_local","epoch","getTimezoneOffset","SSF_strip_decimal","SSF_general_num","V","log","LOG10E","toPrecision","w","toFixed","toExponential","SSF_small_exp","substr","SSF_large_exp","SSF_normalize_exp","toUpperCase","SSF_general","toString","SSF_format","SSF_write_date","type","fmt","val","ss0","ss","tt","outl","commaify","j","pct1","write_num_exp","idx","match","period","ee","fakee","$$","$1","$2","$3","frac1","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","write_num_flt","ffmt","write_num","write_num_cm","sfmt","mul","write_num_pct","r","ri","ff","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f1","carry","oa","min","max","lres","rres","flr","write_num_exp2","write_num_int","write_num_cm2","write_num_pct2","write_num_f2","lastIndexOf","SSF_abstime","fmt_is_date","cfregex2","chkcond","thresh","parseFloat","dateNF","table","f","in_str","SSF_split_fmt","l","lat","m1","m2","choose_fmt","flen","dt","lst","hr","toLowerCase","ssm","bt","jj","nstr","myv","ostr","vv","decpt","lasti","retval","eval_fmt","SSF_load","undefined","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","dateNFregex","CRC32","T0","n","Int32Array","signed_crc_table","TT","subarray","slice_by_16_tables","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","bstr","seed","C","L","CFB","fs","exports","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_extra_field","blob","prep_blob","flags","read_shift","sz","tgt","mtime","atime","ctime","mt","get_fs","parse","file","options","parse_zip","root","di","row","test","mboundary","boundary","FileIndex","FullPaths","init_cfb","start_di","fcnt","line","parse_mime","parse_mad","mver","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","ssz","fat_addrs","mv","chk","HEADER_SIGNATURE","check_get_mver","header","shift","check_shifts","dir_cnt","sectors","nsectors","ceil","sectorify","sleuth_fat","sector_list","sl","chkd","buf_chain","modulus","k","seen","push","addr","__readInt32LE","nodes","__toBuffer","make_sector_list","name","ENDOFCHAIN","Paths","files","mini","minifat_store","pl","sector","namelen","__utf16le","color","R","clsid","state","start","size","ct","read_date","storage","get_sector_list","content","get_mfat_entry","read_directory","FI","FP","dad","build_full_paths","raw","entry","payload","MSSZ","new_buf","cnt","offset","__readUInt32LE","cfb","CLSID","nm","find","rebuild_cfb","seed_cfb","gc","_file","pop","now","fullPaths","Object","create","HEADER_CLSID","sort","Z","namecmp","elt","_write","_opts","fileType","fp","fi","ca","cstr","dispcnt","csl","qp","get_content_type","write_quoted_printable","write_base64_76","write_mad","cdirs","method","compression","start_cd","crcs","sz_cd","namebuf","outbuf","_deflateRawSync","write_zip","mini_size","fat_size","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","version","_zlib","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","DST_LN_RE","LEN_LN_RE","boff","write_stored","addrs","hash","mlen","len_eb","dst_eb","write_huff_fixed","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","read_bits_4","next_code","hcodes","h1","h2","_inflate","usz","woff","OL","max_len_1","max_len_2","bits","code","dst","inflate","warn_or_throw","wrn","msg","console","error","csz","efsz","fcsz","EF","parse_local_file","meth","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_dos_date","_csz","_usz","ef","InflRaw","InflateRaw","_processChunk","_finishFlushFlag","bytesRead","_inflateRawSync","cfb_add","unsafe","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","ctype","ext","text","encoded","si","end","tmp","fdata","fname","cte","trim","oi","parse_quoted_printable","fpath","cfb_gc","path","UCFullPaths","UCPaths","UCPath","read","readFileSync","read_file","write","writeFileSync","writeFile","cfb_new","cfb_del","splice","cfb_mov","old_name","new_name","ReadShift","CheckField","use_zlib","zlib","message","_inflateRaw","_fs","set_fs","blobify","a2u","write_dl","Deno","TextEncoder","encode","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","basedate","datenum","refdate","dnthresh","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date_1","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","TextDecoder","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","split_regex","safe_split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","widx","ridx","utf8decode","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex1","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","xlml_fixstr","entregex","entrepl","parsexmlbool","value","utf8reada","orig","utf8readb","ww","utf8readc","utf8corpus","utf8read","matchtag","mtcache","RegExp","htmldecode","entities","vtregex","vt_cache","vtvregex","vtmregex","parseVector","matches","baseType","WTF","forEach","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","xlml_normalize","xlmlregex","XMLNS","XMLNS_main","XLMLNS","___toBuffer","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","___lpstr","__lpstr","___cpstr","__cpstr","___lpwstr","__lpwstr","___lpp4","__lpp4","___8lpp4","__8lpp4","___double","Infinity","read_double_le","__double","is_buf","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","this","lens","__writeUInt16LE","WriteShift","cppayload","__writeUInt32LE","bs","av","LN2","write_double_le","__writeInt32LE","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","curbuf","endbuf","next","_bufs","write_record","ba","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","encode_range_xls","encode_row","encode_col","decode_row","rowstr","decode_col","colstr","col","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","format_cell","BErr","XF","numFmtId","safe_format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","parse_RichStr","rgsStrRun","dwSizeStrRun","parse_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","write_BrtColor","auto","index","theme","nTS","tint","rgb","parse_ClipboardFormatOrString","VT_STRING","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","CountryEnum","XLSFillPattern","rgbify","XLSIcv","RBErr","ct2type","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","write_ct","type2ct","evert_arr","xmlns","Extension","ContentType","f1","PartName","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","CMNT","CORE_PROPS","EXT_PROPS","CUST_PROPS","SST","STY","THEME","CHART","CHARTEX","CS","WS","DS","MS","IMG","DRAW","XLMETA","TCMNT","PEOPLE","VBA","get_rels_path","parse_rels","currentFilePath","rels","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","add_rels","rId","relobj","targetmode","write_rdf_type","write_rdf_has","write_meta_ods","CORE_PROPS_REGEX","parse_core_props","cur","cp_doit","write_core_props","Props","CreatedDate","ModifiedDate","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","write_ext_props","W","Application","custregex","write_cust_props","pid","write_vt","fmtid","evert_XLMLDPM","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","xlml_set_prop","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","parse_dictionary","CodePage","dict","parse_BLOB","bytes","ret","Size","parse_ClipboardData","parse_VtUnalignedString","cElements","parse_VtVecHeadingPairValue","parse_VtVecLpwstrValue","parse_VtVecUnalignedLpstrValue","write_TypedPropertyValue","write_FILETIME","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet1","PSet0","rval","FMTID","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writebool","parseuint16","writeuint16","parseuint16a","parslurp","write_Bes","parse_ShortXLUnicodeString","cch","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","width","cRun","write_XLUnicodeRichExtendedString","xlstr","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_HyperlinkString","write_HyperlinkString","write_Hyperlink","hl","hashidx","F","Pretarget","parse_LongRGBA","parse_LongRGB","parse_XLSCell","ixfe","write_XLSCell","parse_XTI","parse_RkRec","parse_Ref8U","rwFirst","rwLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtSkip","FtTab","cf","fSharedNote","parse_BOF","BIFFVer","write_BOF","wb","write_BoundSheet8","hs","parse_DefaultRowHeight","miyRw","Unsynced","DyZero","ExAsc","ExDsc","write_Format","b5","parse_BIFF2Format","parse_Dimensions","write_XF","ixfeP","style","parse_BoolErr","parse_Bes","parse_XLHeaderFooter","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","sbcch","udfName","parse_AddinUdf","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","rgcb","parse_Rgce","parse_RgbExtra","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_Array","ref","parse_ArrayParsedFormula","parse_BIFF5OT","cchName","write_HLink","O","write_HLinkTooltip","Tooltip","parse_ColInfo","cellStyles","colFirst","colLast","coldx","level","parse_Blank","parse_Scl","parse_String","DBF_SUPPORTED_VERSIONS","DBF","dbf_codepage_map","dbf_reverse_map","dbf_to_sheet","ft","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_aoa","wch","_RLEN","to_workbook","to_sheet","from_sheet","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_s","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","hidden","process_col","hpt","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_aoa","write_ws_cell_sylk","a1_to_rc","preamble","RS","rec","wpx","width2px","px2char","rows","px2pt","write_ws_rows_sylk","coord","DIF","dif_to_aoa_str","dif_to_sheet","dif_to_aoa","push_field","topic","push_value","ETH","eth_to_sheet","eth_to_aoa","sep","meta","sheet_to_eth_data","PRN","set_text_arr","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","Y","datestr","timestr","dateNF_fix","cellText","cellNF","outer","prn_to_sheet","firstbyte","lines","prn_to_aoa_str","prn_to_sheet_str","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","parse_cell","parse_LABEL","write_LABEL","write_INTEGER","write_NUMBER","wk1_parse_rc","FuncTab","BinOpTab","parse_cell_3","write_LABEL_16","wsidx","parse_NUMBER_17","v1","v2","write_NUMBER_17","log2","parse_NUMBER_27","parse_SHEETNAMECS","write_XFORMAT_SHEETNAME","argc","argL","argR","args","wk1_fmla_to_csf","sheet_to_wk1","write_biff_rec","write_RANGE","max_R","book_to_wk3","wscnt","write_BOF_WK3","parse_rs","tregex","rpregex","parse_r","rpr","font","pass","shadow","outline","strike","uval","family","valign","parse_rpr","rregex","rend","rs","filter","rs_to_html","nlregex","r_to_html","terms","intro","outro","align","parse_rpr2","sitregex","sirregex","sirphregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","straywsregex","write_sst_xml","sst","bookSST","count","Count","uniqueCount","Unique","sitag","write_BrtSSTItem","write_sst_bin","write_BrtBeginSst","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceMapEntry","comps","parse_EncryptionHeader","Flags","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","KeyData","encryptedHmacKey","encryptedHmacValue","encs","uri","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","XorRor","byte1","byte2","Byte","password","Temp","PasswordLastChar","PadIndex","XorKey","CurrentElement","Char","CreateXorKey_Method1","Index","ObfuscationArray","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","exec","lastIndex","rgb2Hex","rgb_tint","hex","hsl","G","H6","L2","rgb2HSL","X","h6","hsl2RGB","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","cellXF_uint","cellXF_bool","parse_sty_xml","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","themes","NumberFmt","formatCode","parse_numFmts","Fonts","bold","italic","underline","condense","extend","vertAlign","scheme","indexed","icv","themeElements","clrScheme","parse_fonts","Fills","patternType","bgColor","fgColor","parse_fills","Borders","border","diagonalUp","diagonalDown","parse_borders","xf","CellXf","alignment","vertical","horizontal","textRotation","indent","wrapText","parse_cellXfs","write_sty_xml","NF","write_numFmts","cellXfs","write_cellXfs","write_BrtFmt","rev_XLSBFillPTNames","XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","write_BrtXF","write_Blxf","parse_BrtBorder","write_sty_bin","write_FMTS_bin","grbit","write_FontFlags","sss","charset","write_BrtFont","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","fontId","fillId","borderId","write_CELLSTYLEXFS_bin","write_CELLXFS_bin","xfId","builtinId","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","themeltregex","parse_theme_xml","write_theme","parse_themeElements","Themes","themeXLSX","parse_ExtProp","extType","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_ColorTheme","parse_FullColorExt","parse_XFExtGradient","update_xfext","xfext","xfe","write_xlmeta_bin","write_BrtBeginEsfmd","write_BrtBeginEsmdb","mdb","write_BrtMdb","write_xlmeta_xml","_shapeid","write_comments_vml","csize","bbox","joinstyle","gradientshapeok","coordsize","fillopts","color2","angle","fillparm","fillxml","fillcolor","strokecolor","on","obscured","sheet_insert_comments","threaded","people","comment","author","write_comments_xml","iauthor","ID","lastauthor","ts","write_tcmnt_xml","carr","rootid","tcopts","tcid","parentId","personId","parse_BrtCommentAuthor","write_comments_bin","write_BrtCommentAuthor","write_BrtBeginComment","run","write_StrRun","VBAFMTS","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_PtgAttrBaxcel","bitSemi","parse_PtgAttrSpaceType","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfLel","PtgListRT","PtgTypes","iftab","FtabArgc","Ftab","cparams","tab","parsetab","Cetab","nameindex","rl","parse_RgceLocRel_BIFF2","cl","parse_RgceLocRel","area","parse_RgceAreaRel","ixti","parse_PtgNameX_BIFF5","PtgDupes","Ptg18","coltype","rt","Ptg19","bitIf","bitGoto","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","sname","formula_quote_sheet_name","stringify_formula","stack","nameidx","last_sp","sp","fflen","func","lbl","names","xlfn","externbook","bookidx","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","_left","parse_SharedParsedFormula","parse_Formula","parse_FormulaValue","cbf","parse_XLSCellParsedFormula","shared","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","footer","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","check_ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml_sheetpr","sheetPr","codeName","CodeName","sheetprot_deffalse","sheetprot_deftrue","sviewregex","write_ws_xml_cell","oldt","oldv","os","Strings","revStrings","cm","parse_ws_xml_data","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","sstr","ftag","cells","cref","tagr","tagc","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","___f","_tag","xlmeta","Cell","_r","write_ws_xml","rdata","_drawing","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","write_ws_xml_sheetpr","sview","workbookViewId","Views","rightToLeft","RTL","write_ws_xml_sheetviews","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","params","height","_cell","customHeight","write_ws_xml_data","write_ws_xml_protection","Names","Sheet","Ref","write_ws_xml_autofilter","merges","margin","relc","location","tooltip","ignoreEC","numberStoredAsText","sqref","write_row_header","ncolspan","lcs","caddr","first","last","write_BrtRowHdr","parse_BrtWsDim","write_BrtWsDim","parse_BrtShortReal","parse_BrtMergeCell","write_BrtMergeCell","BrtMarginKeys","write_ws_bin_cell","last_seen","ncell","write_BrtShortIsst","write_BrtCellIsst","write_BrtShortSt","write_BrtCellSt","write_BrtShortRk","write_BrtCellRk","write_BrtShortReal","write_BrtCellReal","write_BrtShortBool","write_BrtCellBool","write_BrtShortError","write_BrtCellError","write_BrtShortBlank","write_BrtCellBlank","write_ws_bin","write_BrtWsProp","write_BrtBeginWsView","write_WSVIEWS2","write_BrtColInfo","write_COLINFOS","cap","write_CELLTABLE","write_SHEETPROTECT","write_AUTOFILTER","write_MERGECELLS","locidx","write_BrtHLink","write_HLINKS","write_IGNOREECS","write_LEGACYDRAWING","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","defaults","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","badchars","check_ws_name","_good","check_wb","N","codes","cn","wbnsregex","write_wb_xml","write_names","workbookPr","Hidden","sheetId","Comment","localSheetId","write_BrtBundleSh","iTabID","strRelID","parse_BrtFRTArchID$","ArchID","write_wb_bin","write_BrtFileVersion","filterPrivacy","write_BrtWbProp","vistab","write_BOOKVIEWS","write_BUNDLESHS","parse_ws","ai","af","vm","seencol","RR","aii","_d","relId","Rel","rfx","tmpref","parse_ws_bin","data1","data2","mtch","parse_ws_xml_sheetpr2","parse_ws_xml_dim","svs","zoomScale","zoom","parse_ws_xml_sheetviews","columns","coli","colm","colM","parse_ws_xml_cols","afilter","parse_ws_xml_autofilter","_merge","hlink","rng","parse_ws_xml_hlinks","parse_ws_xml","write_ws","write_cmnt","XLMLFormatMap","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_set_custprop","Custprops","oval","process_style_xlml","stag","Interior","I","Pattern","parse_xlml_data","csty","nf","sid","StyleID","interiors","Parent","UTC","safe_format_xlml","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","Rn","opening","ishtml","_o","html_to_sheet","book_append_sheet","html_to_workbook","Currency","Fixed","Standard","Percent","Scientific","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_name_xlml","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml","write_ws_xlml_names","skip","write_ws_xlml_table","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_wsopts","write_xlml","General","xlml_write_docprops","BLACKLIST","xlml_write_custprops","write_props_xlml","write_sty_xlml","write_names_xlml","CONTINUE_RT","slurp","RecordType","insitu","nextrt","XLSRecordEnum","ll","safe_format_xf","make_cell","PSCLSID","parse_xlscfb","CompObj","WorkbookP","AnsiUserType","AnsiClipboardFormat","parse_ClipboardFormatOrAnsiString","Reserved1","UnicodeClipboardFormat","parse_ClipboardFormatOrUnicodeString","Reserved2","parse_compobj","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","XFs","palette","get_rgb","addcell","file_depth","xfd","icvFore","icvBack","process_cell_style","afi","rrtabid","lastuser","winlocked","wtf","last_lbl","last_RT","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","seen_codepage","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","fDialog","fBelow","fRight","ExternCount","tmpri","biffguess","fakebs8","rknum","rkrec","_fr","_fc","_fe","_arraystart","isst","_j","_ixfe","b4idx","b2idx","cmo","lastobj","TxO","ImData","noteobj","Encryption","Metadata","Country","parse_workbook","bookVBA","newcfb","newpath","make_vba_xls","DSI","DocSummary","SI","Summary","HeadingPairs","TitlesOfParts","parse_xls_props","bookFiles","Ptg","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","parse_FontFlags","bCharSet","xColorType","bR","bG","bB","parse_BrtColor","ixfeParent","ifmt","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","fAlwaysCalc","display","idObj","stAuthor","parse_NoteSh","Info","Data","EncryptionVersionInfo","EncryptedVerifier","EncryptedVerifierHash","parse_RC4Header","EncryptionHeader","EncryptionVerifier","parse_RC4CryptoHeader","parse_FilePassHeader","XorArrayIndex","XorArray","verificationBytes","verifier","Value","crypto_DecryptData_Method1","parse_XORObfuscation","dyHeight","fl","Pos","Dim","CurTab","FirstTab","Selected","TabRatio","UserName","fts","parse_BIFF5Obj","parse_FtArray","ccv","rw","rkrecs","lastcol","ixfes","fStyle","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","fsxButton","parse_CellStyleXF","cmcs","ucnt","extsst","dsst","ctab","virtPath","rgst","texts","accel","parse_ControlInfo","cchText","sVer","displayName","targetFrameName","moniker","oleMoniker","guid","fileTime","Loc","extra","parse_URLMoniker","cAnti","ansiPath","parse_FileMoniker","parse_HyperlinkMoniker","parse_Hyperlink","xnum","cUse","wzTooltip","cxfs","crc","cexts","cchComment","themeXML","parse_frtHeader","num","env","lcb","write_BIFF2Cell","write_ws_biff2_cell","write_BIFF2NUM","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff8_cell","bf","o1","write_FormulaValue","o3","write_Formula","write_Number","write_BoolErr","write_LabelSst","b8","write_Label","write_ws_biff8","guts","_WB","_sheet","MAX_ROWS","write_ColInfo","write_ws_cols_biff8","write_Dimensions","write_Window2","write_MergeCells","HL","write_ws_biff8_hlinks","write_FEAT","write_biff8_global","_sheets","_wb","writezeroes","write_WriteAccess","write_RRTabId","safe1904","write_Font","write_FONTS_biff8","write_FMTS_biff8","write_CELLXFS_biff8","write_Country","write_biff_continue","write_SST","blen","write_biff_buf","fix_write_opts","write_biff8_buf","write_ws_biff2","write_biff2_buf","mtch2","hd","midx","colspan","rowspan","_t","make_html_row","editable","HTML_BEGIN","HTML_END","make_html_preamble","sheet_to_html","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","element","get_computed_style","ownerDocument","defaultView","getComputedStyle","get_get_computed_style_function","getPropertyValue","parse_text_p","fixed","number_formats_ods","day","month","year","hours","minutes","seconds","era","quarter","parse_content_xml","sheetag","rowtag","NFtag","ctag","textp","textpidx","textR","row_ol","number_format_map","mrange","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","FEtag","parse_manifest","write_styles_ods","master_styles","write_content_ods","write_text_p","null_cell_xml","ods","ROWS","_Fref","text_p","_tgt","fods","cidx","colobj","write_automatic_styles_ods","write_ods","manifest","rdf","write_rdf","write_manifest","u8_to_dataview","array","DataView","buffer","byteOffset","byteLength","u8str","u8","stru8","u8concat","u8a","reduce","acc","popcnt","parse_varint49","ptr","varint","write_varint49","varint_to_i32","i32","parse_shallow","write_shallow","proto","item","mappa","parse_iwa_file","_a","messages","merge","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","decompress_iwa_file","compress_iwa_file","frame","write_new_storage","dv","exp","mantissa","writeDecimal128LE","setFloat64","setUint32","write_old_storage","parse_cell_storage","rsst","getUint32","data_offset","ieee","getFloat64","parse_old_storage","d128","readDecimal128LE","parse_new_storage","parse_TSP_Reference","parse_TST_TableDataList","pb","le","rtp","rtpref","mtype","tswpsa","parse_TST_TableInfoArchive","tableref","store","tile","tl","_tile","_b","_c","_e","_g","_h","_i","_k","_l","_m","used_storage_u8","used_storage","wide_offsets","used_storage_offsets","offsets","getUint16","parse_TST_TileRowInfo","nrows","parse_TST_Tile","parse_TST_TableModelArchive","parse_numbers_iwa","indices","packets","packet","docroot","iwam","root2","parse_TN_SheetArchive","parse_TN_DocumentArchive","write_tile_row","tri","last_offset","cell_storage","_dv","_last_offset","_cell_storage","celload","_celload","setUint16","fix_opts_func","safe_parse_sheet","relsPath","sheetRels","stype","parse_cs_bin","parse_cs_xml","parse_cs","dfile","drelsp","draw","parse_drawing","chartp","crelsp","csheet","nc","cache","parse_Cache","parse_chart","parse_ds","tcomments","authors","parse_comments_bin","commentList","authtag","cmnttag","authorId","textMatch","parse_comments_xml","parse_cmnt","tidx","parse_tcmnt_xml","strip_front_slash","_zip","binname","dir","threadedcomments","links","coreprops","extprops","custprops","calcchains","vba","drawings","TODO","ctext","calcchain","parse_ct","parse_sst_bin","parse_sst_xml","parse_sst","parse_theme","parse_sty_bin","parse_sty","link","parse_xlink_bin","parse_xlink","parse_wb_bin","dname","dnstart","parse_wb_xml","parse_wb","propdata","parse_ext_props","toks","warn","parse_cust_props","deps","bookDeps","parse_cc_bin","parse_cc_xml","wbsheets","wbext","wbrelsi","wbrelsfile","wbrels","Types","metatype","parse_xlmeta_bin","lastmeta","parse_xlmeta_xml","parse_xlmeta","displayname","parse_people_xml","safe_parse_wbrels","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","U","dsm","parse_DataSpaceMap","seds","parse_DataSpaceDefinition","parse_TransformInfoHeader","ename","cmode","parse_Primary","einfo","parse_EncryptionInfo","decrypt_agile","decrypt_std76","numbers","trunc","dependents","packet2","x2","y2","indices_varint","ivi","some","mess","search","u8contains","xi","sheetrootref","cruidsref","oldbucket","_x","cruids","uuid","row_header_ref","base_bucket","_bucket","col_header_ref","sstref","sstroot","sentry","sx","sxi","sstdata","newsst","raw32","tileref","tileroot","tentry","tx","tiledata","rowload","R2","tilerow","raw3","write_numbers_iwa","foo","vbafmt","_sn","wsrels","need_vml","rId1","write_sst","write_wb","write_sty","write_zip_xlsxb","write_zip_xlsx","needtc","person","userId","providerId","write_people_xml","read_plaintext","main","read_prn","readSync","infile","read_binary","bstrify","ab","vu","read_cfb","OLD_WTF","read_wb_ID","read_zip","read_utf16","read_plaintext_raw","write_cfb_ctr","write_zip_denouement","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_string_type","bom","write_binary_type","writeSyncXLSX","write_zip_typeXLSX","writeSync","write_stxt_type","sheet_to_txt","sheet_to_csv","wbpath","Keys","DSEntries","SEntries","CEntries","DocSummaryRE","SummaryRE","CEntries2","write_xls_props","fill_vba_xls","write_xlscfb","write_cfb_type","write_zip_type","resolve_book_type","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","header_cnt","skipHidden","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","strip","sheet_add_json","js","skipHeader","JS","ws_get_cell_stub","RC","roll","cell_set_hyperlink","_Readable","split_cell","json_to_sheet","table_to_sheet","table_to_book","sheet_to_formulae","cmds","sheet_to_row_object_array","sheet_get_cell","book_new","book_set_sheet_visibility","sh","vis","wb_sheet_idx","cell_set_number_format","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","__stream","to_json","stream","objectMode","_read","to_html","to_csv","BOM","set_readable"],"sourceRoot":""} \ No newline at end of file diff --git a/dash/dash_table/async-highlight.js b/dash/dash_table/async-highlight.js index 12068d9d51..da724ee9dd 100644 --- a/dash/dash_table/async-highlight.js +++ b/dash/dash_table/async-highlight.js @@ -1,2 +1,2 @@ -(self.webpackChunkdash_table=self.webpackChunkdash_table||[]).push([[254],{3948:function(u,e,D){"use strict";D.d(e,{default:function(){return P}});var n=D(2006),t=D(5072),a=D.n(t),r=D(7825),i=D.n(r),o=D(7659),s=D.n(o),c=D(5056),F=D.n(c),l=D(540),A=D.n(l),E=D(1113),C=D.n(E),d=D(6991),g={};g.styleTagTransform=C(),g.setAttributes=F(),g.insert=s().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=A(),a()(d.A,g),d.A&&d.A.locals&&d.A.locals;var B=[].concat(["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"]),b=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),p=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),m=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),f=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","corner-bottom-left-shape","corner-bottom-right-shape","corner-shape","corner-top-left-shape","corner-top-right-shape","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function h(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));var N="[A-Za-z$_][0-9A-Za-z$_]*",S=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],O=["true","false","null","undefined","NaN","Infinity"],M=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],j=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],T=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],R=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],I=[].concat(T,M,j),L={scope:"number",match:"([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",relevance:0};function z(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D",contains:[{beginKeywords:"in out"},D]},C=u.IDENT_RE+"(<"+u.IDENT_RE+"(\\s*,\\s*"+u.IDENT_RE+")*>)?(\\[\\])?",d={begin:"@"+u.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:e,illegal:/::/,contains:[u.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},A,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},D,E,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[D,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[D,E,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+C+"\\s+)+"+u.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:e,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:u.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[u.TITLE_MODE,E],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,relevance:0,contains:[A,a,u.C_BLOCK_COMMENT_MODE]},u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},d]}}),n.registerLanguage("css",function(u){var e=u.regex,D=function(u){return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:u.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:u.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}}(u),n=[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[D.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},D.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},D.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+p.join("|")+")"},{begin:":(:)?("+m.join("|")+")"}]},D.CSS_VARIABLE,{className:"attribute",begin:"\\b("+f.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[D.BLOCK_COMMENT,D.HEXCOLOR,D.IMPORTANT,D.CSS_NUMBER_MODE,D.UNICODE_RANGE].concat(n,[{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[].concat(n,[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}])},D.FUNCTION_DISPATCH])},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:b.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"}].concat(n,[D.CSS_NUMBER_MODE])}]},{className:"selector-tag",begin:"\\b("+B.join("|")+")\\b"}]}}),n.registerLanguage("fsharp",function(u){var e={scope:"keyword",match:/\b(yield|return|let|do|match|use)!/},D=["bool","byte","sbyte","int8","int16","int32","uint8","uint16","uint32","int","uint","int64","uint64","nativeint","unativeint","decimal","float","double","float32","single","char","string","unit","bigint","option","voption","list","array","seq","byref","exn","inref","nativeptr","obj","outref","voidptr","Result"],n={keyword:["abstract","and","as","assert","base","begin","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","extern","finally","fixed","for","fun","function","global","if","in","inherit","inline","interface","internal","lazy","let","match","member","module","mutable","namespace","new","of","open","or","override","private","public","rec","return","static","struct","then","to","try","type","upcast","use","val","void","when","while","with","yield"],literal:["true","false","null","Some","None","Ok","Error","infinity","infinityf","nan","nanf"],built_in:["not","ref","raise","reraise","dict","readOnlyDict","set","get","enum","sizeof","typeof","typedefof","nameof","nullArg","invalidArg","invalidOp","id","fst","snd","ignore","lock","using","box","unbox","tryUnbox","printf","printfn","sprintf","eprintf","eprintfn","fprintf","fprintfn","failwith","failwithf"],"variable.constant":["__LINE__","__SOURCE_DIRECTORY__","__SOURCE_FILE__"]},t={variants:[u.COMMENT(/\(\*(?!\))/,/\*\)/,{contains:["self"]}),u.C_LINE_COMMENT_MODE]},a={scope:"variable",begin:/``/,end:/``/},r=/\B('|\^)/,i={scope:"symbol",variants:[{match:w(r,/``.*?``/)},{match:w(r,u.UNDERSCORE_IDENT_RE)}],relevance:0},o=function(u){var e;e=u.includeEqual?"!%&*+-/<=>@^|~?":"!%&*+-/<>@^|~?";var D,n=Array.from(e),t=w.apply(void 0,["["].concat(function(u){if(Array.isArray(u))return h(u)}(D=n.map(v))||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(D)||function(u,e){if(u){if("string"==typeof u)return h(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?h(u,e):void 0}}(D)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),["]"])),a=k(t,/\./),r=w(a,x(a)),i=k(w(r,a,"*"),w(t,"+"));return{scope:"operator",match:k(i,/:\?>/,/:\?/,/:>/,/:=/,/::?/,/\$/),relevance:0}},s=o({includeEqual:!0}),c=o({includeEqual:!1}),F=function(e,r){return{begin:w(e,x(w(/\s*/,k(/\w/,/'/,/\^/,/#/,/``/,/\(/,/{\|/)))),beginScope:r,end:x(k(/\n/,/=/)),relevance:0,keywords:u.inherit(n,{type:D}),contains:[t,i,u.inherit(a,{scope:null}),c]}},l=F(/:/,"operator"),A=F(/\bof\b/,"keyword"),E={begin:[/(^|\s+)/,/type/,/\s+/,/[a-zA-Z_](\w|')*/],beginScope:{2:"keyword",4:"title.class"},end:x(/\(|=|$/),keywords:n,contains:[t,u.inherit(a,{scope:null}),i,{scope:"operator",match:/<|>/},l]},C={scope:"computation-expression",match:/\b[_a-z]\w*(?=\s*\{)/},d={begin:[/^\s*/,w(/#/,k.apply(void 0,["if","else","endif","line","nowarn","light","r","i","I","load","time","help","quit"])),/\b/],beginScope:{2:"meta"},end:x(/\s|$/)},g={variants:[u.BINARY_NUMBER_MODE,u.C_NUMBER_MODE]},B={scope:"string",begin:/"/,end:/"/,contains:[u.BACKSLASH_ESCAPE]},b={scope:"string",begin:/@"/,end:/"/,contains:[{match:/""/},u.BACKSLASH_ESCAPE]},p={scope:"string",begin:/"""/,end:/"""/,relevance:2},m={scope:"subst",begin:/\{/,end:/\}/,keywords:n},f={scope:"string",begin:/\$"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},u.BACKSLASH_ESCAPE,m]},y={scope:"string",begin:/(\$@|@\$)"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},{match:/""/},u.BACKSLASH_ESCAPE,m]},_={scope:"string",begin:/\$"""/,end:/"""/,contains:[{match:/\{\{/},{match:/\}\}/},m],relevance:2},N={scope:"string",match:w(/'/,k(/[^\\']/,/\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8})/),/'/)};return m.contains=[y,f,b,B,N,e,t,a,l,C,d,g,i,s],{name:"F#",aliases:["fs","f#"],keywords:n,illegal:/\/\*/,classNameAliases:{"computation-expression":"keyword"},contains:[e,{variants:[_,y,f,p,b,B,N]},t,a,E,{scope:"meta",begin:/\[\]/,relevance:2,contains:[a,p,b,B,N,g]},A,l,C,d,g,i,s]}}),n.registerLanguage("http",function(u){var e="HTTP/([32]|1\\.[01])",D={className:"attribute",begin:u.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},n=[D,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+e+" \\d{3})",end:/$/,contains:[{className:"meta",begin:e},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:n}},{begin:"(?=^[A-Z]+ (.*?) "+e+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:e},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:n}},u.inherit(D,{relevance:0})]}}),n.registerLanguage("javascript",function(u){var e=u.regex,D=N,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:function(u,e){var D=u[0].length+u.index,n=u.input[D];if("<"!==n&&","!==n){var t;">"===n&&(function(u,e){var D=e.after,n="",x={match:[/const|var|let/,/\s+/,D,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[b]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:t,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:m},illegal:/#(?![$_A-Za-z])/,contains:[u.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,c,F,l,A,E,{match:/\$\d+/},o,m,{scope:"attr",match:D+e.lookahead(":"),relevance:0},x,{begin:"("+u.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,u.REGEXP_MODE,{className:"function",begin:_,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:u.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},f,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+u.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[b,u.inherit(u.TITLE_MODE,{begin:D,className:"title.function"})]},{match:/\.\.\./,relevance:0},y,{match:"\\$"+D,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[b]},h,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},p,v,{match:/\$[(.]/}]}}),n.registerLanguage("json",function(u){var e=["true","false","null"],D={scope:"literal",beginKeywords:e.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:e},contains:[{className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,D,L,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}),n.registerLanguage("julia",function(u){var e="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",D={$pattern:e,keyword:["baremodule","begin","break","catch","ccall","const","continue","do","else","elseif","end","export","false","finally","for","function","global","if","import","in","isa","let","local","macro","module","quote","return","true","try","using","where","while"],literal:["ARGS","C_NULL","DEPOT_PATH","ENDIAN_BOM","ENV","Inf","Inf16","Inf32","Inf64","InsertionSort","LOAD_PATH","MergeSort","NaN","NaN16","NaN32","NaN64","PROGRAM_FILE","QuickSort","RoundDown","RoundFromZero","RoundNearest","RoundNearestTiesAway","RoundNearestTiesUp","RoundToZero","RoundUp","VERSION|0","devnull","false","im","missing","nothing","pi","stderr","stdin","stdout","true","undef","π","ℯ"],built_in:["AbstractArray","AbstractChannel","AbstractChar","AbstractDict","AbstractDisplay","AbstractFloat","AbstractIrrational","AbstractMatrix","AbstractRange","AbstractSet","AbstractString","AbstractUnitRange","AbstractVecOrMat","AbstractVector","Any","ArgumentError","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError","LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","ProcessFailedException","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","TaskFailedException","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","UndefKeywordError","UndefRefError","UndefVarError","Union","UnionAll","UnitRange","Unsigned","Val","Vararg","VecElement","VecOrMat","Vector","VersionNumber","WeakKeyDict","WeakRef"]},n={keywords:D,illegal:/<\//},t={className:"subst",begin:/\$\(/,end:/\)/,keywords:D},a={className:"variable",begin:"\\$"+e},r={className:"string",contains:[u.BACKSLASH_ESCAPE,t,a],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},i={className:"string",contains:[u.BACKSLASH_ESCAPE,t,a],begin:"`",end:"`"},o={className:"meta",begin:"@"+e};return n.name="Julia",n.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},r,i,o,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},u.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],t.contains=n.contains,n}),n.registerLanguage("markdown",function(u){var e={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},D={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:u.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},n={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},t={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},a=u.inherit(n,{contains:[]}),r=u.inherit(t,{contains:[]});n.contains.push(r),t.contains.push(a);var i=[e,D];return[n,t,a,r].forEach(function(u){u.contains=u.contains.concat(i)}),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:i=i.concat(n,t)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:i}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},{match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},n,t,{className:"quote",begin:"^>\\s+",contains:i,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},D,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}),n.registerLanguage("matlab",function(u){var e="('|\\.')+",D={relevance:0,contains:[{begin:e}]};return{name:"Matlab",keywords:{keyword:"arguments break case catch classdef continue else elseif end enumeration events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell "},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[u.UNDERSCORE_TITLE_MODE,{className:"params",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}]}]},{className:"built_in",begin:/true|false/,relevance:0,starts:D},{begin:"[a-zA-Z][a-zA-Z_0-9]*"+e,relevance:0},{className:"number",begin:u.C_NUMBER_RE,relevance:0,starts:D},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{begin:/\]|\}|\)/,relevance:0,starts:D},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}],starts:D},u.COMMENT("^\\s*%\\{\\s*$","^\\s*%\\}\\s*$"),u.COMMENT("%","$")]}}),n.registerLanguage("plaintext",function(u){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}),n.registerLanguage("python",function(u){var e=u.regex,D=/(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2-\uDFF6]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])(?:[0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088F\u0897-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5C\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDC-\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF65-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDD40-\uDD65\uDD69-\uDD6D\uDD6F-\uDD85\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDEC2-\uDEC7\uDEFA-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E-\uDE41\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD3\uDFE1\uDFE2]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDED0-\uDEE3\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8\uDF60-\uDF67\uDFC0-\uDFE0\uDFF0-\uDFF9]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDDB0-\uDDDB\uDDE0-\uDDE9\uDEE0-\uDEF6\uDF00-\uDF10\uDF12-\uDF3A\uDF3E-\uDF42\uDF50-\uDF5A\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC40-\uDC55\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD39]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDD70-\uDD79\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0-\uDFF6]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDCF0-\uDCF9\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC30-\uDC6D\uDC8F\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDCD0-\uDCF9\uDDD0-\uDDFA\uDEC0-\uDEDE\uDEE0-\uDEF5\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]|\uDB40[\uDD00-\uDDEF])*/,n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","lazy","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],t={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","aiter","all","anext","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozendict","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","sentinel","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},a={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/,end:/\}/,keywords:t,illegal:/#/},i={begin:/\{\{/,relevance:0},o={className:"string",contains:[u.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[u.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[u.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[u.BACKSLASH_ESCAPE,a,i,r]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[u.BACKSLASH_ESCAPE,a,i,r]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[u.BACKSLASH_ESCAPE,i,r]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[u.BACKSLASH_ESCAPE,i,r]},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE]},s="[0-9](_?[0-9])*",c="(\\b(".concat(s,"))?\\.(").concat(s,")|\\b(").concat(s,")\\."),F="\\b|".concat(n.join("|")),l={className:"number",relevance:0,variants:[{begin:"(\\b(".concat(s,")|(").concat(c,"))[eE][+-]?(").concat(s,")[jJ]?(?=").concat(F,")")},{begin:"(".concat(c,")[jJ]?")},{begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=".concat(F,")")},{begin:"\\b0[bB](_?[01])+[lL]?(?=".concat(F,")")},{begin:"\\b0[oO](_?[0-7])+[lL]?(?=".concat(F,")")},{begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=".concat(F,")")},{begin:"\\b(".concat(s,")[jJ](?=").concat(F,")")}]},A={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:t,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},E={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:["self",a,l,o,u.HASH_COMMENT_MODE]}]};return r.contains=[o,l,a],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:t,illegal:/(<\/|\?)|=>/,contains:[a,l,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},o,A,u.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,D],scope:{1:"keyword",3:"title.function"},contains:[E]},{variants:[{match:[/\bclass/,/\s+/,D,/\s*/,/\(\s*/,D,/\s*\)/]},{match:[/\bclass/,/\s+/,D]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[l,E,o]}]}}),n.registerLanguage("r",function(u){var e=u.regex,D=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=e.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),t=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:D,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[u.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:D},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),u.HASH_COMMENT_MODE,{scope:"string",contains:[u.BACKSLASH_ESCAPE],variants:[u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[t,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[a,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[D,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:t},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}),n.registerLanguage("ruby",function(u){var e=u.regex,D="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),t=e.concat(n,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield"].concat(["include","extend","prepend","public","private","protected","raise","throw"]),built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},r={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},o=[u.COMMENT("#","$",{contains:[r]}),u.COMMENT("^=begin","^=end",{contains:[r],relevance:10}),u.COMMENT("^__END__",u.MATCH_NOTHING_RE)],s={className:"subst",begin:/#\{/,end:/\}/,keywords:a},c={className:"string",contains:[u.BACKSLASH_ESCAPE,s],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[u.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[u.BACKSLASH_ESCAPE,s]})]}]},F="[0-9](_?[0-9])*",l={className:"number",relevance:0,variants:[{begin:"\\b(".concat("[1-9](_?[0-9])*|0",")(\\.(").concat(F,"))?([eE][+-]?(").concat(F,")|r)?i?\\b")},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},A={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},E=[c,{variants:[{match:[/class\s+/,t,/\s+<\s+/,t]},{match:[/\b(class|module)\s+/,t]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,t],scope:{2:"title.class"},keywords:a},{relevance:0,match:[t,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,D],scope:{1:"keyword",3:"title.function"},contains:[A]},{begin:"::"},{className:"symbol",begin:u.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[c,{begin:D}],relevance:0},l,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+u.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[u.BACKSLASH_ESCAPE,s],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(i,o),relevance:0}].concat(i,o);s.contains=E,A.contains=E;var C=[{begin:/^\s*=>/,starts:{end:"$",contains:E}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:a,contains:E}}];return o.unshift(i),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[u.SHEBANG({binary:"ruby"})].concat(C).concat(o).concat(E)}}),n.registerLanguage("shell",function(u){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[./~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}),n.registerLanguage("sql",function(u){var e=u.regex,D=u.COMMENT("--","$"),n=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],t=n,a=[].concat(["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],["add","asc","collation","desc","final","first","last","view"]).filter(function(u){return!n.includes(u)}),r={match:e.concat(/\b/,e.either.apply(e,t),/\s*\(/),relevance:0,keywords:{built_in:t}};function i(u){return e.concat(/\b/,e.either.apply(e,function(u){if(Array.isArray(u))return z(u)}(D=u.map(function(u){return u.replace(/\s+/,"\\s+")}))||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(D)||function(u,e){if(u){if("string"==typeof u)return z(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?z(u,e):void 0}}(D)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),/\b/);var D}var o={scope:"keyword",match:i(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},D=e.exceptions,n=e.when;return D=D||[],u.map(function(u){return u.match(/\|\d+$/)||D.includes(u)?u:n(u)?"".concat(u,"|0"):u})}(a,{when:function(u){return u.length<3}}),literal:["true","false","unknown"],type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{scope:"type",match:i(["double precision","large object","with timezone","without timezone"])},o,r,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{match:/""/}]},u.C_NUMBER_MODE,u.C_BLOCK_COMMENT_MODE,D,{scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}),n.registerLanguage("xml",function(u){var e=u.regex,D=e.concat(/(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])/,e.optional(/(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*:/),/(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=u.inherit(t,{begin:/\(/,end:/\)/}),r=u.inherit(u.APOS_STRING_MODE,{className:"string"}),i=u.inherit(u.QUOTE_STRING_MODE,{className:"string"}),o={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[t,i,r,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[t,a,i,r]}]}]},u.COMMENT(//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[i]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[o],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[o],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:D,relevance:0,starts:o}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(D,/>/))),contains:[{className:"name",begin:D,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}),n.registerLanguage("yaml",function(u){var e="true false yes no null",D="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[u.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},t=u.inherit(n,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),a={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},r={begin:/\{/,end:/\}/,contains:[a],illegal:"\\n",relevance:0},i={begin:"\\[",end:"\\]",contains:[a],illegal:"\\n",relevance:0},o=[{className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+D},{className:"type",begin:"!<"+D+">"},{className:"type",begin:"!"+D},{className:"type",begin:"!!"+D},{className:"meta",begin:"&"+u.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+u.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},u.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:u.C_NUMBER_RE+"\\b",relevance:0},r,i,{className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},n],s=[].concat(o);return s.pop(),s.push(t),a.contains=s,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:o}});var P=n},6991:function(u,e,D){"use strict";var n=D(1354),t=D.n(n),a=D(6314),r=D.n(a)()(t());r.push([u.id,"pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #24292e;\n background: #ffffff\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}","",{version:3,sources:["webpack://./node_modules/highlight.js/styles/github.css"],names:[],mappings:"AAAA;EACE,cAAc;EACd,gBAAgB;EAChB;AACF;AACA;EACE;AACF;AACA;;;;;;;;;CASC;AACD;EACE,cAAc;EACd;AACF;AACA;;;;;;;EAOE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,+BAA+B;EAC/B;AACF;AACA;;;;;;;;;;EAUE,iCAAiC;EACjC;AACF;AACA;;;EAGE,+BAA+B;EAC/B;AACF;AACA;;EAEE,iCAAiC;EACjC;AACF;AACA;;;EAGE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,mCAAmC;EACnC;AACF;AACA;EACE,gDAAgD;EAChD;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC;AACF;AACA;EACE,sCAAsC;EACtC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC,cAAc;EACd;AACF;AACA;EACE,wCAAwC;EACxC,cAAc;EACd;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;;;;;;EAME,sBAAsB;;AAExB",sourcesContent:["pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #24292e;\n background: #ffffff\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}"],sourceRoot:""}]),e.A=r},6314:function(u){"use strict";u.exports=function(u){var e=[];return e.toString=function(){return this.map(function(e){var D="",n=void 0!==e[5];return e[4]&&(D+="@supports (".concat(e[4],") {")),e[2]&&(D+="@media ".concat(e[2]," {")),n&&(D+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),D+=u(e),n&&(D+="}"),e[2]&&(D+="}"),e[4]&&(D+="}"),D}).join("")},e.i=function(u,D,n,t,a){"string"==typeof u&&(u=[[null,u,void 0]]);var r={};if(n)for(var i=0;i0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),D&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=D):c[2]=D),t&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=t):c[4]="".concat(t)),e.push(c))}},e}},1354:function(u){"use strict";u.exports=function(u){var e=u[1],D=u[3];if(!D)return e;if("function"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(D)))),t="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),a="/*# ".concat(t," */");return[e].concat([a]).join("\n")}return[e].join("\n")}},5072:function(u){"use strict";var e=[];function D(u){for(var D=-1,n=0;n0?" ".concat(D.layer):""," {")),n+=D.css,t&&(n+="}"),D.media&&(n+="}"),D.supports&&(n+="}");var a=D.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(n,u,e.options)}(e,u,D)},remove:function(){!function(u){if(null===u.parentNode)return!1;u.parentNode.removeChild(u)}(e)}}}},1113:function(u){"use strict";u.exports=function(u,e){if(e.styleSheet)e.styleSheet.cssText=u;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(u))}}},2006:function(u){function e(u){var D="function"==typeof Map?new Map:void 0;return e=function(u){if(null===u||!function(u){try{return-1!==Function.toString.call(u).indexOf("[native code]")}catch(e){return"function"==typeof u}}(u))return u;if("function"!=typeof u)throw new TypeError("Super expression must either be null or a function");if(void 0!==D){if(D.has(u))return D.get(u);D.set(u,e)}function e(){return function(u,e,D){if(t())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var a=new(u.bind.apply(u,n));return D&&i(a,D.prototype),a}(u,arguments,a(this).constructor)}return e.prototype=Object.create(u.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),i(e,u)},e(u)}function D(u,e){return function(u){if(Array.isArray(u))return u}(u)||function(u,e){var D=null==u?null:"undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=D){var n,t,a,r,i=[],o=!0,s=!1;try{if(a=(D=D.call(u)).next,0===e){if(Object(D)!==D)return;o=!1}else for(;!(o=(n=a.call(D)).done)&&(i.push(n.value),i.length!==e);o=!0);}catch(u){s=!0,t=u}finally{try{if(!o&&null!=D.return&&(r=D.return(),Object(r)!==r))return}finally{if(s)throw t}}return i}}(u,e)||s(u,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(u,e,D){return e=a(e),function(u,e){if(e&&("object"==C(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(u){if(void 0===u)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}(u)}(u,t()?Reflect.construct(e,D||[],a(u).constructor):e.apply(u,D))}function t(){try{var u=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(u){}return(t=function(){return!!u})()}function a(u){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(u){return u.__proto__||Object.getPrototypeOf(u)},a(u)}function r(u,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),Object.defineProperty(u,"prototype",{writable:!1}),e&&i(u,e)}function i(u,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(u,e){return u.__proto__=e,u},i(u,e)}function o(u){return function(u){if(Array.isArray(u))return c(u)}(u)||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(u)||s(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(u,e){if(u){if("string"==typeof u)return c(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?c(u,e):void 0}}function c(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D/g,">").replace(/"/g,""").replace(/'/g,"'")}function b(u){var e=Object.create(null);for(var D in u)e[D]=u[D];for(var n=arguments.length,t=new Array(n>1?n-1:0),a=1;a')}}])}(),f=function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={children:[]};return Object.assign(e,u),e},h=function(u){function e(u){var D;return F(this,e),(D=n(this,e)).options=u,D}return r(e,u),A(e,[{key:"addText",value:function(u){""!==u&&this.add(u)}},{key:"startScope",value:function(u){this.openNode(u)}},{key:"endScope",value:function(){this.closeNode()}},{key:"__addSublanguage",value:function(u,e){var D=u.root;e&&(D.scope="language:".concat(e)),this.add(D)}},{key:"toHTML",value:function(){return new m(this,this.options).value()}},{key:"finalize",value:function(){return this.closeAllNodes(),!0}}])}(function(){function u(){F(this,u),this.rootNode=f(),this.stack=[this.rootNode]}return A(u,[{key:"top",get:function(){return this.stack[this.stack.length-1]}},{key:"root",get:function(){return this.rootNode}},{key:"add",value:function(u){this.top.children.push(u)}},{key:"openNode",value:function(u){var e=f({scope:u});this.add(e),this.stack.push(e)}},{key:"closeNode",value:function(){if(this.stack.length>1)return this.stack.pop()}},{key:"closeAllNodes",value:function(){for(;this.closeNode(););}},{key:"toJSON",value:function(){return JSON.stringify(this.rootNode,null,4)}},{key:"walk",value:function(u){return this.constructor._walk(u,this.rootNode)}}],[{key:"_walk",value:function(u,e){var D=this;return"string"==typeof e?u.addText(e):e.children&&(u.openNode(e),e.children.forEach(function(e){return D._walk(u,e)}),u.closeNode(e)),u}},{key:"_collapse",value:function(e){"string"!=typeof e&&e.children&&(e.children.every(function(u){return"string"==typeof u})?e.children=[e.children.join("")]:e.children.forEach(function(e){u._collapse(e)}))}}])}());function y(u){return u?"string"==typeof u?u:u.source:null}function v(u){return w("(?=",u,")")}function _(u){return w("(?:",u,")*")}function x(u){return w("(?:",u,")?")}function w(){for(var u=arguments.length,e=new Array(u),D=0;D]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function O(u,e){var D=e.joinWith,n=0;return u.map(function(u){for(var e=n+=1,D=y(u),t="";D.length>0;){var a=S.exec(D);if(!a){t+=D;break}t+=D.substring(0,a.index),D=D.substring(a.index+a[0].length),"\\"===a[0][0]&&a[1]?t+="\\"+String(Number(a[1])+e):(t+=a[0],("("===a[0]||/^\(\?[<']/.test(a[0]))&&n++)}return t}).map(function(u){return"(".concat(u,")")}).join(D)}var M="[a-zA-Z]\\w*",j="[a-zA-Z_]\\w*",T="\\b\\d+(\\.\\d+)?",R="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",I="\\b(0b[01]+)",L={begin:"\\\\[\\s\\S]",relevance:0},z={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[L]},P={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[L]},U=function(u,e){var D=b({scope:"comment",begin:u,end:e,contains:[]},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});D.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});var n=k("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return D.contains.push({begin:w(/[ ]+/,"(",n,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),D},$=U("//","$"),H=U("/\\*","\\*/"),Z=U("#","$"),G={scope:"number",begin:T,relevance:0},K={scope:"number",begin:R,relevance:0},q={scope:"number",begin:I,relevance:0},W={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[L,{begin:/\[/,end:/\]/,relevance:0,contains:[L]}]},V={scope:"title",begin:M,relevance:0},Q={scope:"title",begin:j,relevance:0},X={begin:"\\.\\s*"+j,relevance:0},J=Object.freeze({__proto__:null,APOS_STRING_MODE:z,BACKSLASH_ESCAPE:L,BINARY_NUMBER_MODE:q,BINARY_NUMBER_RE:I,COMMENT:U,C_BLOCK_COMMENT_MODE:H,C_LINE_COMMENT_MODE:$,C_NUMBER_MODE:K,C_NUMBER_RE:R,END_SAME_AS_BEGIN:function(u){return Object.assign(u,{"on:begin":function(u,e){e.data._beginMatch=u[1]},"on:end":function(u,e){e.data._beginMatch!==u[1]&&e.ignoreMatch()}})},HASH_COMMENT_MODE:Z,IDENT_RE:M,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:X,NUMBER_MODE:G,NUMBER_RE:T,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:P,REGEXP_MODE:W,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=/^#![ ]*\//;return u.binary&&(u.begin=w(e,/.*\b/,u.binary,/\b.*/)),b({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":function(u,e){0!==u.index&&e.ignoreMatch()}},u)},TITLE_MODE:V,UNDERSCORE_IDENT_RE:j,UNDERSCORE_TITLE_MODE:Q});function Y(u,e){"."===u.input[u.index-1]&&e.ignoreMatch()}function uu(u,e){void 0!==u.className&&(u.scope=u.className,delete u.className)}function eu(u,e){e&&u.beginKeywords&&(u.begin="\\b("+u.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",u.__beforeBegin=Y,u.keywords=u.keywords||u.beginKeywords,delete u.beginKeywords,void 0===u.relevance&&(u.relevance=0))}function Du(u,e){Array.isArray(u.illegal)&&(u.illegal=k.apply(void 0,o(u.illegal)))}function nu(u,e){if(u.match){if(u.begin||u.end)throw new Error("begin & end are not supported with match");u.begin=u.match,delete u.match}}function tu(u,e){void 0===u.relevance&&(u.relevance=1)}var au=function(u,e){if(u.beforeMatch){if(u.starts)throw new Error("beforeMatch cannot be used with starts");var D=Object.assign({},u);Object.keys(u).forEach(function(e){delete u[e]}),u.keywords=D.keywords,u.begin=w(D.beforeMatch,v(D.begin)),u.starts={relevance:0,contains:[Object.assign(D,{endsParent:!0})]},u.relevance=0,delete D.beforeMatch}},ru=["of","and","for","in","not","or","if","then","parent","list","value"];function iu(u,e){var D=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"keyword",n=Object.create(null);return"string"==typeof u?t(D,u.split(" ")):Array.isArray(u)?t(D,u):Object.keys(u).forEach(function(D){Object.assign(n,iu(u[D],e,D))}),n;function t(u,D){e&&(D=D.map(function(u){return u.toLowerCase()})),D.forEach(function(e){var D=e.split("|");n[D[0]]=[u,ou(D[0],D[1])]})}}function ou(u,e){return e?Number(e):function(u){return ru.includes(u.toLowerCase())}(u)?0:1}var su={},cu=function(u){console.error(u)},Fu=function(u){for(var e,D=arguments.length,n=new Array(D>1?D-1:0),t=1;t0&&void 0!==u}),n=this.matchIndexes[D];return e.splice(0,D),Object.assign(e,n)}}])}(),t=function(){return A(function u(){F(this,u),this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0},[{key:"getMatcher",value:function(u){if(this.multiRegexes[u])return this.multiRegexes[u];var e=new n;return this.rules.slice(u).forEach(function(u){var n=D(u,2),t=n[0],a=n[1];return e.addRule(t,a)}),e.compile(),this.multiRegexes[u]=e,e}},{key:"resumingScanAtSamePosition",value:function(){return 0!==this.regexIndex}},{key:"considerAll",value:function(){this.regexIndex=0}},{key:"addRule",value:function(u,e){this.rules.push([u,e]),"begin"===e.type&&this.count++}},{key:"exec",value:function(u){var e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;var D=e.exec(u);if(this.resumingScanAtSamePosition())if(D&&D.index===this.lastIndex);else{var n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,D=n.exec(u)}return D&&(this.regexIndex+=D.position+1,this.regexIndex===this.count&&this.considerAll()),D}}])}();if(u.compilerExtensions||(u.compilerExtensions=[]),u.contains&&u.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return u.classNameAliases=b(u.classNameAliases||{}),function D(n,a){var r,i=n;if(n.isCompiled)return i;[uu,nu,Cu,au].forEach(function(u){return u(n,a)}),u.compilerExtensions.forEach(function(u){return u(n,a)}),n.__beforeBegin=null,[eu,Du,tu].forEach(function(u){return u(n,a)}),n.isCompiled=!0;var s=null;return"object"===C(n.keywords)&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s=s||/\w+/,n.keywords&&(n.keywords=iu(n.keywords,u.case_insensitive)),i.keywordPatternRe=e(s,!0),a&&(n.begin||(n.begin=/\B|\b/),i.beginRe=e(i.begin),n.end||n.endsWithParent||(n.end=/\B|\b/),n.end&&(i.endRe=e(i.end)),i.terminatorEnd=y(i.end)||"",n.endsWithParent&&a.terminatorEnd&&(i.terminatorEnd+=(n.end?"|":"")+a.terminatorEnd)),n.illegal&&(i.illegalRe=e(n.illegal)),n.contains||(n.contains=[]),n.contains=(r=[]).concat.apply(r,o(n.contains.map(function(u){return function(u){return u.variants&&!u.cachedVariants&&(u.cachedVariants=u.variants.map(function(e){return b(u,{variants:null},e)})),u.cachedVariants?u.cachedVariants:gu(u)?b(u,{starts:u.starts?b(u.starts):null}):Object.isFrozen(u)?b(u):u}("self"===u?n:u)}))),n.contains.forEach(function(u){D(u,i)}),n.starts&&D(n.starts,a),i.matcher=function(u){var e=new t;return u.contains.forEach(function(u){return e.addRule(u.begin,{rule:u,type:"begin"})}),u.terminatorEnd&&e.addRule(u.terminatorEnd,{type:"end"}),u.illegal&&e.addRule(u.illegal,{type:"illegal"}),e}(i),i}(u)}function gu(u){return!!u&&(u.endsWithParent||gu(u.starts))}var Bu=function(u){function e(u,D){var t;return F(this,e),(t=n(this,e,[u])).name="HTMLInjectionError",t.html=D,t}return r(e,u),A(e)}(e(Error)),bu=B,pu=b,mu=Symbol("nomatch"),fu=function(u){var e=Object.create(null),n=Object.create(null),t=[],a=!0,r="Could not find the language '{}', did you forget to load/include a language module?",i={disableAutodetect:!0,name:"Plain text",contains:[]},o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:h};function s(u){return o.noHighlightRe.test(u)}function c(u,e,D){var n="",t="";"object"===C(e)?(n=u,D=e.ignoreIllegals,t=e.language):(lu("10.7.0","highlight(lang, code, ...args) has been deprecated."),lu("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),t=u,n=e),void 0===D&&(D=!0);var a={code:n,language:t};f("before:highlight",a);var r=a.result?a.result:F(a.language,a.code,D);return r.code=a.code,f("after:highlight",r),r}function F(u,n,t,i){var s=Object.create(null);function c(u,e){return u.keywords[e]}function A(){if(w.keywords){var u=0;w.keywordPatternRe.lastIndex=0;for(var e=w.keywordPatternRe.exec(S),n="";e;){n+=S.substring(u,e.index);var t=v.case_insensitive?e[0].toLowerCase():e[0],a=c(w,t);if(a){var r=D(a,2),i=r[0],o=r[1];if(N.addText(n),n="",s[t]=(s[t]||0)+1,s[t]<=7&&(O+=o),i.startsWith("_"))n+=e[0];else{var F=v.classNameAliases[i]||i;C(e[0],F)}}else n+=e[0];u=w.keywordPatternRe.lastIndex,e=w.keywordPatternRe.exec(S)}n+=S.substring(u),N.addText(n)}else N.addText(S)}function E(){null!=w.subLanguage?function(){if(""!==S){var u=null;if("string"==typeof w.subLanguage){if(!e[w.subLanguage])return void N.addText(S);u=F(w.subLanguage,S,!0,k[w.subLanguage]),k[w.subLanguage]=u._top}else u=l(S,w.subLanguage.length?w.subLanguage:null);w.relevance>0&&(O+=u.relevance),N.__addSublanguage(u._emitter,u.language)}}():A(),S=""}function C(u,e){""!==u&&(N.startScope(e),N.addText(u),N.endScope())}function d(u,e){for(var D=1,n=e.length-1;D<=n;)if(u._emit[D]){var t=v.classNameAliases[u[D]]||u[D],a=e[D];t?C(a,t):(S=a,A(),S=""),D++}else D++}function B(u,e){return u.scope&&"string"==typeof u.scope&&N.openNode(v.classNameAliases[u.scope]||u.scope),u.beginScope&&(u.beginScope._wrap?(C(S,v.classNameAliases[u.beginScope._wrap]||u.beginScope._wrap),S=""):u.beginScope._multi&&(d(u.beginScope,e),S="")),w=Object.create(u,{parent:{value:w}})}function p(u,e,D){var n=function(u,e){var D=u&&u.exec(e);return D&&0===D.index}(u.endRe,D);if(n){if(u["on:end"]){var t=new g(u);u["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;u.endsParent&&u.parent;)u=u.parent;return u}}if(u.endsWithParent)return p(u.parent,e,D)}function m(u){return 0===w.matcher.regexIndex?(S+=u[0],1):(T=!0,0)}function f(u){var e=u[0],D=n.substring(u.index),t=p(w,u,D);if(!t)return mu;var a=w;w.endScope&&w.endScope._wrap?(E(),C(e,w.endScope._wrap)):w.endScope&&w.endScope._multi?(E(),d(w.endScope,u)):a.skip?S+=e:(a.returnEnd||a.excludeEnd||(S+=e),E(),a.excludeEnd&&(S=e));do{w.scope&&N.closeNode(),w.skip||w.subLanguage||(O+=w.relevance),w=w.parent}while(w!==t.parent);return t.starts&&B(t.starts,u),a.returnEnd?0:e.length}var h={};function y(e,D){var r=D&&D[0];if(S+=e,null==r)return E(),0;if("begin"===h.type&&"end"===D.type&&h.index===D.index&&""===r){if(S+=n.slice(D.index,D.index+1),!a){var i=new Error("0 width match regex (".concat(u,")"));throw i.languageName=u,i.badRule=h.rule,i}return 1}if(h=D,"begin"===D.type)return function(u){for(var e=u[0],D=u.rule,n=new g(D),t=0,a=[D.__beforeBegin,D["on:begin"]];t")+'"');throw o.mode=w,o}if("end"===D.type){var s=f(D);if(s!==mu)return s}if("illegal"===D.type&&""===r)return D.index===n.length||(S+="\n"),1;if(j>1e5&&j>3*D.index)throw new Error("potential infinite loop, way more iterations than matches");return S+=r,r.length}var v=b(u);if(!v)throw cu(r.replace("{}",u)),new Error('Unknown language: "'+u+'"');var _=du(v),x="",w=i||_,k={},N=new o.__emitter(o);!function(){for(var u=[],e=w;e!==v;e=e.parent)e.scope&&u.unshift(e.scope);u.forEach(function(u){return N.openNode(u)})}();var S="",O=0,M=0,j=0,T=!1;try{if(v.__emitTokens)v.__emitTokens(n,N);else{for(w.matcher.considerAll();;){j++,T?T=!1:w.matcher.considerAll(),w.matcher.lastIndex=M;var R=w.matcher.exec(n);if(!R)break;var I=y(n.substring(M,R.index),R);M=R.index+I}y(n.substring(M))}return N.finalize(),x=N.toHTML(),{language:u,value:x,relevance:O,illegal:!1,_emitter:N,_top:w}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:u,value:bu(n),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:M,context:n.slice(M-100,M+100),mode:e.mode,resultSoFar:x},_emitter:N};if(a)return{language:u,value:bu(n),illegal:!1,relevance:0,errorRaised:e,_emitter:N,_top:w};throw e}}function l(u,n){n=n||o.languages||Object.keys(e);var t=function(u){var e={value:bu(u),illegal:!1,relevance:0,_top:i,_emitter:new o.__emitter(o)};return e._emitter.addText(u),e}(u),a=n.filter(b).filter(m).map(function(e){return F(e,u,!1)});a.unshift(t);var r=D(a.sort(function(u,e){if(u.relevance!==e.relevance)return e.relevance-u.relevance;if(u.language&&e.language){if(b(u.language).supersetOf===e.language)return 1;if(b(e.language).supersetOf===u.language)return-1}return 0}),2),s=r[0],c=r[1],l=s;return l.secondBest=c,l}function A(u){var e=function(u){var e=u.className+" ";e+=u.parentNode?u.parentNode.className:"";var D=o.languageDetectRe.exec(e);if(D){var n=b(D[1]);return n||(Fu(r.replace("{}",D[1])),Fu("Falling back to no-highlight mode for this block.",u)),n?D[1]:"no-highlight"}return e.split(/\s+/).find(function(u){return s(u)||b(u)})}(u);if(!s(e))if(f("before:highlightElement",{el:u,language:e}),u.dataset.highlighted)console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);else{if(u.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),o.throwUnescapedHTML))throw new Bu("One of your code blocks includes unescaped HTML.",u.innerHTML);var D=u.textContent,t=e?c(D,{language:e,ignoreIllegals:!0}):l(D);u.innerHTML=t.value,u.dataset.highlighted="yes",function(u,e,D){var t=e&&n[e]||D;u.classList.add("hljs"),u.classList.add("language-".concat(t))}(u,e,t.language),u.result={language:t.language,re:t.relevance,relevance:t.relevance},t.secondBest&&(u.secondBest={language:t.secondBest.language,relevance:t.secondBest.relevance}),f("after:highlightElement",{el:u,result:t,text:D})}}var E=!1;function B(){if("loading"===document.readyState)return E||window.addEventListener("DOMContentLoaded",function(){B()},!1),void(E=!0);document.querySelectorAll(o.cssSelector).forEach(A)}function b(u){return u=(u||"").toLowerCase(),e[u]||e[n[u]]}function p(u,e){var D=e.languageName;"string"==typeof u&&(u=[u]),u.forEach(function(u){n[u.toLowerCase()]=D})}function m(u){var e=b(u);return e&&!e.disableAutodetect}function f(u,e){var D=u;t.forEach(function(u){u[D]&&u[D](e)})}for(var y in Object.assign(u,{highlight:c,highlightAuto:l,highlightAll:B,highlightElement:A,highlightBlock:function(u){return lu("10.7.0","highlightBlock will be removed entirely in v12.0"),lu("10.7.0","Please use highlightElement now."),A(u)},configure:function(u){o=pu(o,u)},initHighlighting:function(){B(),lu("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){B(),lu("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(D,n){var t=null;try{t=n(u)}catch(u){if(cu("Language definition for '{}' could not be registered.".replace("{}",D)),!a)throw u;cu(u),t=i}t.name||(t.name=D),e[D]=t,t.rawDefinition=n.bind(null,u),t.aliases&&p(t.aliases,{languageName:D})},unregisterLanguage:function(u){delete e[u];for(var D=0,t=Object.keys(n);Du.length)&&(e=u.length);for(var D=0,n=Array(e);D]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));var N="[A-Za-z$_][0-9A-Za-z$_]*",S=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],O=["true","false","null","undefined","NaN","Infinity"],M=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],j=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],T=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],R=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],I=[].concat(T,M,j),L={scope:"number",match:"([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",relevance:0};function z(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D",contains:[{beginKeywords:"in out"},D]},C=u.IDENT_RE+"(<"+u.IDENT_RE+"(\\s*,\\s*"+u.IDENT_RE+")*>)?(\\[\\])?",d={begin:"@"+u.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:e,illegal:/::/,contains:[u.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},A,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},D,E,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[D,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[D,E,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+C+"\\s+)+"+u.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:e,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:u.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[u.TITLE_MODE,E],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,relevance:0,contains:[A,a,u.C_BLOCK_COMMENT_MODE]},u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},d]}}),n.registerLanguage("css",function(u){var e=u.regex,D=function(u){return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:u.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:u.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}}(u),n=[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[D.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},D.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},D.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+p.join("|")+")"},{begin:":(:)?("+m.join("|")+")"}]},D.CSS_VARIABLE,{className:"attribute",begin:"\\b("+h.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[D.BLOCK_COMMENT,D.HEXCOLOR,D.IMPORTANT,D.CSS_NUMBER_MODE,D.UNICODE_RANGE].concat(n,[{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[].concat(n,[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}])},D.FUNCTION_DISPATCH])},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:b.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"}].concat(n,[D.CSS_NUMBER_MODE])}]},{className:"selector-tag",begin:"\\b("+B.join("|")+")\\b"}]}}),n.registerLanguage("fsharp",function(u){var e={scope:"keyword",match:/\b(yield|return|let|do|match|use)!/},D=["bool","byte","sbyte","int8","int16","int32","uint8","uint16","uint32","int","uint","int64","uint64","nativeint","unativeint","decimal","float","double","float32","single","char","string","unit","bigint","option","voption","list","array","seq","byref","exn","inref","nativeptr","obj","outref","voidptr","Result"],n={keyword:["abstract","and","as","assert","base","begin","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","extern","finally","fixed","for","fun","function","global","if","in","inherit","inline","interface","internal","lazy","let","match","member","module","mutable","namespace","new","of","open","or","override","private","public","rec","return","static","struct","then","to","try","type","upcast","use","val","void","when","while","with","yield"],literal:["true","false","null","Some","None","Ok","Error","infinity","infinityf","nan","nanf"],built_in:["not","ref","raise","reraise","dict","readOnlyDict","set","get","enum","sizeof","typeof","typedefof","nameof","nullArg","invalidArg","invalidOp","id","fst","snd","ignore","lock","using","box","unbox","tryUnbox","printf","printfn","sprintf","eprintf","eprintfn","fprintf","fprintfn","failwith","failwithf"],"variable.constant":["__LINE__","__SOURCE_DIRECTORY__","__SOURCE_FILE__"]},t={variants:[u.COMMENT(/\(\*(?!\))/,/\*\)/,{contains:["self"]}),u.C_LINE_COMMENT_MODE]},a={scope:"variable",begin:/``/,end:/``/},r=/\B('|\^)/,i={scope:"symbol",variants:[{match:w(r,/``.*?``/)},{match:w(r,u.UNDERSCORE_IDENT_RE)}],relevance:0},o=function(u){var e;e=u.includeEqual?"!%&*+-/<=>@^|~?":"!%&*+-/<>@^|~?";var D,n=Array.from(e),t=w.apply(void 0,["["].concat(function(u){if(Array.isArray(u))return f(u)}(D=n.map(v))||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(D)||function(u,e){if(u){if("string"==typeof u)return f(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?f(u,e):void 0}}(D)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),["]"])),a=k(t,/\./),r=w(a,x(a)),i=k(w(r,a,"*"),w(t,"+"));return{scope:"operator",match:k(i,/:\?>/,/:\?/,/:>/,/:=/,/::?/,/\$/),relevance:0}},s=o({includeEqual:!0}),c=o({includeEqual:!1}),F=function(e,r){return{begin:w(e,x(w(/\s*/,k(/\w/,/'/,/\^/,/#/,/``/,/\(/,/{\|/)))),beginScope:r,end:x(k(/\n/,/=/)),relevance:0,keywords:u.inherit(n,{type:D}),contains:[t,i,u.inherit(a,{scope:null}),c]}},l=F(/:/,"operator"),A=F(/\bof\b/,"keyword"),E={begin:[/(^|\s+)/,/type/,/\s+/,/[a-zA-Z_](\w|')*/],beginScope:{2:"keyword",4:"title.class"},end:x(/\(|=|$/),keywords:n,contains:[t,u.inherit(a,{scope:null}),i,{scope:"operator",match:/<|>/},l]},C={scope:"computation-expression",match:/\b[_a-z]\w*(?=\s*\{)/},d={begin:[/^\s*/,w(/#/,k.apply(void 0,["if","else","endif","line","nowarn","light","r","i","I","load","time","help","quit"])),/\b/],beginScope:{2:"meta"},end:x(/\s|$/)},g={variants:[u.BINARY_NUMBER_MODE,u.C_NUMBER_MODE]},B={scope:"string",begin:/"/,end:/"/,contains:[u.BACKSLASH_ESCAPE]},b={scope:"string",begin:/@"/,end:/"/,contains:[{match:/""/},u.BACKSLASH_ESCAPE]},p={scope:"string",begin:/"""/,end:/"""/,relevance:2},m={scope:"subst",begin:/\{/,end:/\}/,keywords:n},h={scope:"string",begin:/\$"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},u.BACKSLASH_ESCAPE,m]},y={scope:"string",begin:/(\$@|@\$)"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},{match:/""/},u.BACKSLASH_ESCAPE,m]},_={scope:"string",begin:/\$"""/,end:/"""/,contains:[{match:/\{\{/},{match:/\}\}/},m],relevance:2},N={scope:"string",match:w(/'/,k(/[^\\']/,/\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8})/),/'/)};return m.contains=[y,h,b,B,N,e,t,a,l,C,d,g,i,s],{name:"F#",aliases:["fs","f#"],keywords:n,illegal:/\/\*/,classNameAliases:{"computation-expression":"keyword"},contains:[e,{variants:[_,y,h,p,b,B,N]},t,a,E,{scope:"meta",begin:/\[\]/,relevance:2,contains:[a,p,b,B,N,g]},A,l,C,d,g,i,s]}}),n.registerLanguage("http",function(u){var e="HTTP/([32]|1\\.[01])",D={className:"attribute",begin:u.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},n=[D,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+e+" \\d{3})",end:/$/,contains:[{className:"meta",begin:e},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:n}},{begin:"(?=^[A-Z]+ (.*?) "+e+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:e},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:n}},u.inherit(D,{relevance:0})]}}),n.registerLanguage("javascript",function(u){var e=u.regex,D=N,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:function(u,e){var D=u[0].length+u.index,n=u.input[D];if("<"!==n&&","!==n){var t;">"===n&&(function(u,e){var D=e.after,n="",x={match:[/const|var|let/,/\s+/,D,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[b]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:t,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:m},illegal:/#(?![$_A-Za-z])/,contains:[u.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,c,F,l,A,E,{match:/\$\d+/},o,m,{scope:"attr",match:D+e.lookahead(":"),relevance:0},x,{begin:"("+u.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,u.REGEXP_MODE,{className:"function",begin:_,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:u.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},h,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+u.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[b,u.inherit(u.TITLE_MODE,{begin:D,className:"title.function"})]},{match:/\.\.\./,relevance:0},y,{match:"\\$"+D,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[b]},f,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},p,v,{match:/\$[(.]/}]}}),n.registerLanguage("json",function(u){var e=["true","false","null"],D={scope:"literal",beginKeywords:e.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:e},contains:[{className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,D,L,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}),n.registerLanguage("julia",function(u){var e="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",D={$pattern:e,keyword:["baremodule","begin","break","catch","ccall","const","continue","do","else","elseif","end","export","false","finally","for","function","global","if","import","in","isa","let","local","macro","module","quote","return","true","try","using","where","while"],literal:["ARGS","C_NULL","DEPOT_PATH","ENDIAN_BOM","ENV","Inf","Inf16","Inf32","Inf64","InsertionSort","LOAD_PATH","MergeSort","NaN","NaN16","NaN32","NaN64","PROGRAM_FILE","QuickSort","RoundDown","RoundFromZero","RoundNearest","RoundNearestTiesAway","RoundNearestTiesUp","RoundToZero","RoundUp","VERSION|0","devnull","false","im","missing","nothing","pi","stderr","stdin","stdout","true","undef","π","ℯ"],built_in:["AbstractArray","AbstractChannel","AbstractChar","AbstractDict","AbstractDisplay","AbstractFloat","AbstractIrrational","AbstractMatrix","AbstractRange","AbstractSet","AbstractString","AbstractUnitRange","AbstractVecOrMat","AbstractVector","Any","ArgumentError","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError","LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","ProcessFailedException","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","TaskFailedException","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","UndefKeywordError","UndefRefError","UndefVarError","Union","UnionAll","UnitRange","Unsigned","Val","Vararg","VecElement","VecOrMat","Vector","VersionNumber","WeakKeyDict","WeakRef"]},n={keywords:D,illegal:/<\//},t={className:"subst",begin:/\$\(/,end:/\)/,keywords:D},a={className:"variable",begin:"\\$"+e},r={className:"string",contains:[u.BACKSLASH_ESCAPE,t,a],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},i={className:"string",contains:[u.BACKSLASH_ESCAPE,t,a],begin:"`",end:"`"},o={className:"meta",begin:"@"+e};return n.name="Julia",n.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},r,i,o,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},u.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],t.contains=n.contains,n}),n.registerLanguage("markdown",function(u){var e={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},D={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:u.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},n={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},t={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},a=u.inherit(n,{contains:[]}),r=u.inherit(t,{contains:[]});n.contains.push(r),t.contains.push(a);var i=[e,D];return[n,t,a,r].forEach(function(u){u.contains=u.contains.concat(i)}),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:i=i.concat(n,t)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:i}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},{match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},n,t,{className:"quote",begin:"^>\\s+",contains:i,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},D,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}),n.registerLanguage("matlab",function(u){var e="('|\\.')+",D={relevance:0,contains:[{begin:e}]};return{name:"Matlab",keywords:{keyword:"arguments break case catch classdef continue else elseif end enumeration events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell "},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[u.UNDERSCORE_TITLE_MODE,{className:"params",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}]}]},{className:"built_in",begin:/true|false/,relevance:0,starts:D},{begin:"[a-zA-Z][a-zA-Z_0-9]*"+e,relevance:0},{className:"number",begin:u.C_NUMBER_RE,relevance:0,starts:D},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{begin:/\]|\}|\)/,relevance:0,starts:D},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}],starts:D},u.COMMENT("^\\s*%\\{\\s*$","^\\s*%\\}\\s*$"),u.COMMENT("%","$")]}}),n.registerLanguage("plaintext",function(u){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}),n.registerLanguage("python",function(u){var e=u.regex,D=/(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2-\uDFF6]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])(?:[0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088F\u0897-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5C\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDC-\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF65-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDD40-\uDD65\uDD69-\uDD6D\uDD6F-\uDD85\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDEC2-\uDEC7\uDEFA-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E-\uDE41\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD3\uDFE1\uDFE2]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDED0-\uDEE3\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8\uDF60-\uDF67\uDFC0-\uDFE0\uDFF0-\uDFF9]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDDB0-\uDDDB\uDDE0-\uDDE9\uDEE0-\uDEF6\uDF00-\uDF10\uDF12-\uDF3A\uDF3E-\uDF42\uDF50-\uDF5A\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC40-\uDC55\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD39]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDD70-\uDD79\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0-\uDFF6]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDCF0-\uDCF9\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC30-\uDC6D\uDC8F\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDCD0-\uDCF9\uDDD0-\uDDFA\uDEC0-\uDEDE\uDEE0-\uDEF5\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]|\uDB40[\uDD00-\uDDEF])*/,n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","lazy","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],t={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","aiter","all","anext","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozendict","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","sentinel","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},a={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/,end:/\}/,keywords:t,illegal:/#/},i={begin:/\{\{/,relevance:0},o={className:"string",contains:[u.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[u.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[u.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[u.BACKSLASH_ESCAPE,a,i,r]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[u.BACKSLASH_ESCAPE,a,i,r]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[u.BACKSLASH_ESCAPE,i,r]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[u.BACKSLASH_ESCAPE,i,r]},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE]},s="[0-9](_?[0-9])*",c="(\\b(".concat(s,"))?\\.(").concat(s,")|\\b(").concat(s,")\\."),F="\\b|".concat(n.join("|")),l={className:"number",relevance:0,variants:[{begin:"(\\b(".concat(s,")|(").concat(c,"))[eE][+-]?(").concat(s,")[jJ]?(?=").concat(F,")")},{begin:"(".concat(c,")[jJ]?")},{begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=".concat(F,")")},{begin:"\\b0[bB](_?[01])+[lL]?(?=".concat(F,")")},{begin:"\\b0[oO](_?[0-7])+[lL]?(?=".concat(F,")")},{begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=".concat(F,")")},{begin:"\\b(".concat(s,")[jJ](?=").concat(F,")")}]},A={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:t,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},E={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:["self",a,l,o,u.HASH_COMMENT_MODE]}]};return r.contains=[o,l,a],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:t,illegal:/(<\/|\?)|=>/,contains:[a,l,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},o,A,u.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,D],scope:{1:"keyword",3:"title.function"},contains:[E]},{variants:[{match:[/\bclass/,/\s+/,D,/\s*/,/\(\s*/,D,/\s*\)/]},{match:[/\bclass/,/\s+/,D]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[l,E,o]}]}}),n.registerLanguage("r",function(u){var e=u.regex,D=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=e.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),t=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:D,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[u.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:D},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),u.HASH_COMMENT_MODE,{scope:"string",contains:[u.BACKSLASH_ESCAPE],variants:[u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[t,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[a,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[D,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:t},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}),n.registerLanguage("ruby",function(u){var e=u.regex,D="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),t=e.concat(n,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield"].concat(["include","extend","prepend","public","private","protected","raise","throw"]),built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},r={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},o=[u.COMMENT("#","$",{contains:[r]}),u.COMMENT("^=begin","^=end",{contains:[r],relevance:10}),u.COMMENT("^__END__",u.MATCH_NOTHING_RE)],s={className:"subst",begin:/#\{/,end:/\}/,keywords:a},c={className:"string",contains:[u.BACKSLASH_ESCAPE,s],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[u.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[u.BACKSLASH_ESCAPE,s]})]}]},F="[0-9](_?[0-9])*",l={className:"number",relevance:0,variants:[{begin:"\\b(".concat("[1-9](_?[0-9])*|0",")(\\.(").concat(F,"))?([eE][+-]?(").concat(F,")|r)?i?\\b")},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},A={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},E=[c,{variants:[{match:[/class\s+/,t,/\s+<\s+/,t]},{match:[/\b(class|module)\s+/,t]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,t],scope:{2:"title.class"},keywords:a},{relevance:0,match:[t,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,D],scope:{1:"keyword",3:"title.function"},contains:[A]},{begin:"::"},{className:"symbol",begin:u.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[c,{begin:D}],relevance:0},l,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+u.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[u.BACKSLASH_ESCAPE,s],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(i,o),relevance:0}].concat(i,o);s.contains=E,A.contains=E;var C=[{begin:/^\s*=>/,starts:{end:"$",contains:E}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:a,contains:E}}];return o.unshift(i),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[u.SHEBANG({binary:"ruby"})].concat(C).concat(o).concat(E)}}),n.registerLanguage("shell",function(u){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[./~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}),n.registerLanguage("sql",function(u){var e=u.regex,D=u.COMMENT("--","$"),n=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],t=n,a=[].concat(["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],["add","asc","collation","desc","final","first","last","view"]).filter(function(u){return!n.includes(u)}),r={match:e.concat(/\b/,e.either.apply(e,t),/\s*\(/),relevance:0,keywords:{built_in:t}};function i(u){return e.concat(/\b/,e.either.apply(e,function(u){if(Array.isArray(u))return z(u)}(D=u.map(function(u){return u.replace(/\s+/,"\\s+")}))||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(D)||function(u,e){if(u){if("string"==typeof u)return z(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?z(u,e):void 0}}(D)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),/\b/);var D}var o={scope:"keyword",match:i(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},D=e.exceptions,n=e.when;return D=D||[],u.map(function(u){return u.match(/\|\d+$/)||D.includes(u)?u:n(u)?"".concat(u,"|0"):u})}(a,{when:function(u){return u.length<3}}),literal:["true","false","unknown"],type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{scope:"type",match:i(["double precision","large object","with timezone","without timezone"])},o,r,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{match:/""/}]},u.C_NUMBER_MODE,u.C_BLOCK_COMMENT_MODE,D,{scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}),n.registerLanguage("xml",function(u){var e=u.regex,D=e.concat(/(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])/,e.optional(/(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*:/),/(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=u.inherit(t,{begin:/\(/,end:/\)/}),r=u.inherit(u.APOS_STRING_MODE,{className:"string"}),i=u.inherit(u.QUOTE_STRING_MODE,{className:"string"}),o={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[t,i,r,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[t,a,i,r]}]}]},u.COMMENT(//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[i]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[o],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[o],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:D,relevance:0,starts:o}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(D,/>/))),contains:[{className:"name",begin:D,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}),n.registerLanguage("yaml",function(u){var e="true false yes no null",D="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[u.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},t=u.inherit(n,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),a={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},r={begin:/\{/,end:/\}/,contains:[a],illegal:"\\n",relevance:0},i={begin:"\\[",end:"\\]",contains:[a],illegal:"\\n",relevance:0},o=[{className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+D},{className:"type",begin:"!<"+D+">"},{className:"type",begin:"!"+D},{className:"type",begin:"!!"+D},{className:"meta",begin:"&"+u.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+u.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},u.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:u.C_NUMBER_RE+"\\b",relevance:0},r,i,{className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},n],s=[].concat(o);return s.pop(),s.push(t),a.contains=s,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:o}});var P=n},6991(u,e,D){"use strict";var n=D(1354),t=D.n(n),a=D(6314),r=D.n(a)()(t());r.push([u.id,"pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #24292e;\n background: #ffffff\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}","",{version:3,sources:["webpack://./node_modules/highlight.js/styles/github.css"],names:[],mappings:"AAAA;EACE,cAAc;EACd,gBAAgB;EAChB;AACF;AACA;EACE;AACF;AACA;;;;;;;;;CASC;AACD;EACE,cAAc;EACd;AACF;AACA;;;;;;;EAOE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,+BAA+B;EAC/B;AACF;AACA;;;;;;;;;;EAUE,iCAAiC;EACjC;AACF;AACA;;;EAGE,+BAA+B;EAC/B;AACF;AACA;;EAEE,iCAAiC;EACjC;AACF;AACA;;;EAGE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,mCAAmC;EACnC;AACF;AACA;EACE,gDAAgD;EAChD;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC;AACF;AACA;EACE,sCAAsC;EACtC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC,cAAc;EACd;AACF;AACA;EACE,wCAAwC;EACxC,cAAc;EACd;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;;;;;;EAME,sBAAsB;;AAExB",sourcesContent:["pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #24292e;\n background: #ffffff\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}"],sourceRoot:""}]),e.A=r},6314(u){"use strict";u.exports=function(u){var e=[];return e.toString=function(){return this.map(function(e){var D="",n=void 0!==e[5];return e[4]&&(D+="@supports (".concat(e[4],") {")),e[2]&&(D+="@media ".concat(e[2]," {")),n&&(D+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),D+=u(e),n&&(D+="}"),e[2]&&(D+="}"),e[4]&&(D+="}"),D}).join("")},e.i=function(u,D,n,t,a){"string"==typeof u&&(u=[[null,u,void 0]]);var r={};if(n)for(var i=0;i0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),D&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=D):c[2]=D),t&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=t):c[4]="".concat(t)),e.push(c))}},e}},1354(u){"use strict";u.exports=function(u){var e=u[1],D=u[3];if(!D)return e;if("function"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(D)))),t="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),a="/*# ".concat(t," */");return[e].concat([a]).join("\n")}return[e].join("\n")}},5072(u){"use strict";var e=[];function D(u){for(var D=-1,n=0;n0?" ".concat(D.layer):""," {")),n+=D.css,t&&(n+="}"),D.media&&(n+="}"),D.supports&&(n+="}");var a=D.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(n,u,e.options)}(e,u,D)},remove:function(){!function(u){if(null===u.parentNode)return!1;u.parentNode.removeChild(u)}(e)}}}},1113(u){"use strict";u.exports=function(u,e){if(e.styleSheet)e.styleSheet.cssText=u;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(u))}}},2006(u){function e(u){var D="function"==typeof Map?new Map:void 0;return e=function(u){if(null===u||!function(u){try{return-1!==Function.toString.call(u).indexOf("[native code]")}catch(e){return"function"==typeof u}}(u))return u;if("function"!=typeof u)throw new TypeError("Super expression must either be null or a function");if(void 0!==D){if(D.has(u))return D.get(u);D.set(u,e)}function e(){return function(u,e,D){if(t())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var a=new(u.bind.apply(u,n));return D&&i(a,D.prototype),a}(u,arguments,a(this).constructor)}return e.prototype=Object.create(u.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),i(e,u)},e(u)}function D(u,e){return function(u){if(Array.isArray(u))return u}(u)||function(u,e){var D=null==u?null:"undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=D){var n,t,a,r,i=[],o=!0,s=!1;try{if(a=(D=D.call(u)).next,0===e){if(Object(D)!==D)return;o=!1}else for(;!(o=(n=a.call(D)).done)&&(i.push(n.value),i.length!==e);o=!0);}catch(u){s=!0,t=u}finally{try{if(!o&&null!=D.return&&(r=D.return(),Object(r)!==r))return}finally{if(s)throw t}}return i}}(u,e)||s(u,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(u,e,D){return e=a(e),function(u,e){if(e&&("object"==C(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(u){if(void 0===u)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}(u)}(u,t()?Reflect.construct(e,D||[],a(u).constructor):e.apply(u,D))}function t(){try{var u=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(u){}return(t=function(){return!!u})()}function a(u){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(u){return u.__proto__||Object.getPrototypeOf(u)},a(u)}function r(u,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),Object.defineProperty(u,"prototype",{writable:!1}),e&&i(u,e)}function i(u,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(u,e){return u.__proto__=e,u},i(u,e)}function o(u){return function(u){if(Array.isArray(u))return c(u)}(u)||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(u)||s(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(u,e){if(u){if("string"==typeof u)return c(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?c(u,e):void 0}}function c(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D/g,">").replace(/"/g,""").replace(/'/g,"'")}function b(u){var e=Object.create(null);for(var D in u)e[D]=u[D];for(var n=arguments.length,t=new Array(n>1?n-1:0),a=1;a')}}])}(),h=function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={children:[]};return Object.assign(e,u),e},f=function(u){function e(u){var D;return F(this,e),(D=n(this,e)).options=u,D}return r(e,u),A(e,[{key:"addText",value:function(u){""!==u&&this.add(u)}},{key:"startScope",value:function(u){this.openNode(u)}},{key:"endScope",value:function(){this.closeNode()}},{key:"__addSublanguage",value:function(u,e){var D=u.root;e&&(D.scope="language:".concat(e)),this.add(D)}},{key:"toHTML",value:function(){return new m(this,this.options).value()}},{key:"finalize",value:function(){return this.closeAllNodes(),!0}}])}(function(){function u(){F(this,u),this.rootNode=h(),this.stack=[this.rootNode]}return A(u,[{key:"top",get:function(){return this.stack[this.stack.length-1]}},{key:"root",get:function(){return this.rootNode}},{key:"add",value:function(u){this.top.children.push(u)}},{key:"openNode",value:function(u){var e=h({scope:u});this.add(e),this.stack.push(e)}},{key:"closeNode",value:function(){if(this.stack.length>1)return this.stack.pop()}},{key:"closeAllNodes",value:function(){for(;this.closeNode(););}},{key:"toJSON",value:function(){return JSON.stringify(this.rootNode,null,4)}},{key:"walk",value:function(u){return this.constructor._walk(u,this.rootNode)}}],[{key:"_walk",value:function(u,e){var D=this;return"string"==typeof e?u.addText(e):e.children&&(u.openNode(e),e.children.forEach(function(e){return D._walk(u,e)}),u.closeNode(e)),u}},{key:"_collapse",value:function(e){"string"!=typeof e&&e.children&&(e.children.every(function(u){return"string"==typeof u})?e.children=[e.children.join("")]:e.children.forEach(function(e){u._collapse(e)}))}}])}());function y(u){return u?"string"==typeof u?u:u.source:null}function v(u){return w("(?=",u,")")}function _(u){return w("(?:",u,")*")}function x(u){return w("(?:",u,")?")}function w(){for(var u=arguments.length,e=new Array(u),D=0;D]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function O(u,e){var D=e.joinWith,n=0;return u.map(function(u){for(var e=n+=1,D=y(u),t="";D.length>0;){var a=S.exec(D);if(!a){t+=D;break}t+=D.substring(0,a.index),D=D.substring(a.index+a[0].length),"\\"===a[0][0]&&a[1]?t+="\\"+String(Number(a[1])+e):(t+=a[0],("("===a[0]||/^\(\?[<']/.test(a[0]))&&n++)}return t}).map(function(u){return"(".concat(u,")")}).join(D)}var M="[a-zA-Z]\\w*",j="[a-zA-Z_]\\w*",T="\\b\\d+(\\.\\d+)?",R="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",I="\\b(0b[01]+)",L={begin:"\\\\[\\s\\S]",relevance:0},z={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[L]},P={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[L]},U=function(u,e){var D=b({scope:"comment",begin:u,end:e,contains:[]},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});D.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});var n=k("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return D.contains.push({begin:w(/[ ]+/,"(",n,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),D},$=U("//","$"),H=U("/\\*","\\*/"),Z=U("#","$"),G={scope:"number",begin:T,relevance:0},K={scope:"number",begin:R,relevance:0},q={scope:"number",begin:I,relevance:0},W={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[L,{begin:/\[/,end:/\]/,relevance:0,contains:[L]}]},V={scope:"title",begin:M,relevance:0},Q={scope:"title",begin:j,relevance:0},X={begin:"\\.\\s*"+j,relevance:0},J=Object.freeze({__proto__:null,APOS_STRING_MODE:z,BACKSLASH_ESCAPE:L,BINARY_NUMBER_MODE:q,BINARY_NUMBER_RE:I,COMMENT:U,C_BLOCK_COMMENT_MODE:H,C_LINE_COMMENT_MODE:$,C_NUMBER_MODE:K,C_NUMBER_RE:R,END_SAME_AS_BEGIN:function(u){return Object.assign(u,{"on:begin":function(u,e){e.data._beginMatch=u[1]},"on:end":function(u,e){e.data._beginMatch!==u[1]&&e.ignoreMatch()}})},HASH_COMMENT_MODE:Z,IDENT_RE:M,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:X,NUMBER_MODE:G,NUMBER_RE:T,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:P,REGEXP_MODE:W,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=/^#![ ]*\//;return u.binary&&(u.begin=w(e,/.*\b/,u.binary,/\b.*/)),b({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":function(u,e){0!==u.index&&e.ignoreMatch()}},u)},TITLE_MODE:V,UNDERSCORE_IDENT_RE:j,UNDERSCORE_TITLE_MODE:Q});function Y(u,e){"."===u.input[u.index-1]&&e.ignoreMatch()}function uu(u,e){void 0!==u.className&&(u.scope=u.className,delete u.className)}function eu(u,e){e&&u.beginKeywords&&(u.begin="\\b("+u.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",u.__beforeBegin=Y,u.keywords=u.keywords||u.beginKeywords,delete u.beginKeywords,void 0===u.relevance&&(u.relevance=0))}function Du(u,e){Array.isArray(u.illegal)&&(u.illegal=k.apply(void 0,o(u.illegal)))}function nu(u,e){if(u.match){if(u.begin||u.end)throw new Error("begin & end are not supported with match");u.begin=u.match,delete u.match}}function tu(u,e){void 0===u.relevance&&(u.relevance=1)}var au=function(u,e){if(u.beforeMatch){if(u.starts)throw new Error("beforeMatch cannot be used with starts");var D=Object.assign({},u);Object.keys(u).forEach(function(e){delete u[e]}),u.keywords=D.keywords,u.begin=w(D.beforeMatch,v(D.begin)),u.starts={relevance:0,contains:[Object.assign(D,{endsParent:!0})]},u.relevance=0,delete D.beforeMatch}},ru=["of","and","for","in","not","or","if","then","parent","list","value"];function iu(u,e){var D=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"keyword",n=Object.create(null);return"string"==typeof u?t(D,u.split(" ")):Array.isArray(u)?t(D,u):Object.keys(u).forEach(function(D){Object.assign(n,iu(u[D],e,D))}),n;function t(u,D){e&&(D=D.map(function(u){return u.toLowerCase()})),D.forEach(function(e){var D=e.split("|");n[D[0]]=[u,ou(D[0],D[1])]})}}function ou(u,e){return e?Number(e):function(u){return ru.includes(u.toLowerCase())}(u)?0:1}var su={},cu=function(u){console.error(u)},Fu=function(u){for(var e,D=arguments.length,n=new Array(D>1?D-1:0),t=1;t0&&void 0!==u}),n=this.matchIndexes[D];return e.splice(0,D),Object.assign(e,n)}}])}(),t=function(){return A(function u(){F(this,u),this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0},[{key:"getMatcher",value:function(u){if(this.multiRegexes[u])return this.multiRegexes[u];var e=new n;return this.rules.slice(u).forEach(function(u){var n=D(u,2),t=n[0],a=n[1];return e.addRule(t,a)}),e.compile(),this.multiRegexes[u]=e,e}},{key:"resumingScanAtSamePosition",value:function(){return 0!==this.regexIndex}},{key:"considerAll",value:function(){this.regexIndex=0}},{key:"addRule",value:function(u,e){this.rules.push([u,e]),"begin"===e.type&&this.count++}},{key:"exec",value:function(u){var e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;var D=e.exec(u);if(this.resumingScanAtSamePosition())if(D&&D.index===this.lastIndex);else{var n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,D=n.exec(u)}return D&&(this.regexIndex+=D.position+1,this.regexIndex===this.count&&this.considerAll()),D}}])}();if(u.compilerExtensions||(u.compilerExtensions=[]),u.contains&&u.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return u.classNameAliases=b(u.classNameAliases||{}),function D(n,a){var r,i=n;if(n.isCompiled)return i;[uu,nu,Cu,au].forEach(function(u){return u(n,a)}),u.compilerExtensions.forEach(function(u){return u(n,a)}),n.__beforeBegin=null,[eu,Du,tu].forEach(function(u){return u(n,a)}),n.isCompiled=!0;var s=null;return"object"===C(n.keywords)&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s=s||/\w+/,n.keywords&&(n.keywords=iu(n.keywords,u.case_insensitive)),i.keywordPatternRe=e(s,!0),a&&(n.begin||(n.begin=/\B|\b/),i.beginRe=e(i.begin),n.end||n.endsWithParent||(n.end=/\B|\b/),n.end&&(i.endRe=e(i.end)),i.terminatorEnd=y(i.end)||"",n.endsWithParent&&a.terminatorEnd&&(i.terminatorEnd+=(n.end?"|":"")+a.terminatorEnd)),n.illegal&&(i.illegalRe=e(n.illegal)),n.contains||(n.contains=[]),n.contains=(r=[]).concat.apply(r,o(n.contains.map(function(u){return function(u){return u.variants&&!u.cachedVariants&&(u.cachedVariants=u.variants.map(function(e){return b(u,{variants:null},e)})),u.cachedVariants?u.cachedVariants:gu(u)?b(u,{starts:u.starts?b(u.starts):null}):Object.isFrozen(u)?b(u):u}("self"===u?n:u)}))),n.contains.forEach(function(u){D(u,i)}),n.starts&&D(n.starts,a),i.matcher=function(u){var e=new t;return u.contains.forEach(function(u){return e.addRule(u.begin,{rule:u,type:"begin"})}),u.terminatorEnd&&e.addRule(u.terminatorEnd,{type:"end"}),u.illegal&&e.addRule(u.illegal,{type:"illegal"}),e}(i),i}(u)}function gu(u){return!!u&&(u.endsWithParent||gu(u.starts))}var Bu=function(u){function e(u,D){var t;return F(this,e),(t=n(this,e,[u])).name="HTMLInjectionError",t.html=D,t}return r(e,u),A(e)}(e(Error)),bu=B,pu=b,mu=Symbol("nomatch"),hu=function(u){var e=Object.create(null),n=Object.create(null),t=[],a=!0,r="Could not find the language '{}', did you forget to load/include a language module?",i={disableAutodetect:!0,name:"Plain text",contains:[]},o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function s(u){return o.noHighlightRe.test(u)}function c(u,e,D){var n="",t="";"object"===C(e)?(n=u,D=e.ignoreIllegals,t=e.language):(lu("10.7.0","highlight(lang, code, ...args) has been deprecated."),lu("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),t=u,n=e),void 0===D&&(D=!0);var a={code:n,language:t};h("before:highlight",a);var r=a.result?a.result:F(a.language,a.code,D);return r.code=a.code,h("after:highlight",r),r}function F(u,n,t,i){var s=Object.create(null);function c(u,e){return u.keywords[e]}function A(){if(w.keywords){var u=0;w.keywordPatternRe.lastIndex=0;for(var e=w.keywordPatternRe.exec(S),n="";e;){n+=S.substring(u,e.index);var t=v.case_insensitive?e[0].toLowerCase():e[0],a=c(w,t);if(a){var r=D(a,2),i=r[0],o=r[1];if(N.addText(n),n="",s[t]=(s[t]||0)+1,s[t]<=7&&(O+=o),i.startsWith("_"))n+=e[0];else{var F=v.classNameAliases[i]||i;C(e[0],F)}}else n+=e[0];u=w.keywordPatternRe.lastIndex,e=w.keywordPatternRe.exec(S)}n+=S.substring(u),N.addText(n)}else N.addText(S)}function E(){null!=w.subLanguage?function(){if(""!==S){var u=null;if("string"==typeof w.subLanguage){if(!e[w.subLanguage])return void N.addText(S);u=F(w.subLanguage,S,!0,k[w.subLanguage]),k[w.subLanguage]=u._top}else u=l(S,w.subLanguage.length?w.subLanguage:null);w.relevance>0&&(O+=u.relevance),N.__addSublanguage(u._emitter,u.language)}}():A(),S=""}function C(u,e){""!==u&&(N.startScope(e),N.addText(u),N.endScope())}function d(u,e){for(var D=1,n=e.length-1;D<=n;)if(u._emit[D]){var t=v.classNameAliases[u[D]]||u[D],a=e[D];t?C(a,t):(S=a,A(),S=""),D++}else D++}function B(u,e){return u.scope&&"string"==typeof u.scope&&N.openNode(v.classNameAliases[u.scope]||u.scope),u.beginScope&&(u.beginScope._wrap?(C(S,v.classNameAliases[u.beginScope._wrap]||u.beginScope._wrap),S=""):u.beginScope._multi&&(d(u.beginScope,e),S="")),w=Object.create(u,{parent:{value:w}})}function p(u,e,D){var n=function(u,e){var D=u&&u.exec(e);return D&&0===D.index}(u.endRe,D);if(n){if(u["on:end"]){var t=new g(u);u["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;u.endsParent&&u.parent;)u=u.parent;return u}}if(u.endsWithParent)return p(u.parent,e,D)}function m(u){return 0===w.matcher.regexIndex?(S+=u[0],1):(T=!0,0)}function h(u){var e=u[0],D=n.substring(u.index),t=p(w,u,D);if(!t)return mu;var a=w;w.endScope&&w.endScope._wrap?(E(),C(e,w.endScope._wrap)):w.endScope&&w.endScope._multi?(E(),d(w.endScope,u)):a.skip?S+=e:(a.returnEnd||a.excludeEnd||(S+=e),E(),a.excludeEnd&&(S=e));do{w.scope&&N.closeNode(),w.skip||w.subLanguage||(O+=w.relevance),w=w.parent}while(w!==t.parent);return t.starts&&B(t.starts,u),a.returnEnd?0:e.length}var f={};function y(e,D){var r=D&&D[0];if(S+=e,null==r)return E(),0;if("begin"===f.type&&"end"===D.type&&f.index===D.index&&""===r){if(S+=n.slice(D.index,D.index+1),!a){var i=new Error("0 width match regex (".concat(u,")"));throw i.languageName=u,i.badRule=f.rule,i}return 1}if(f=D,"begin"===D.type)return function(u){for(var e=u[0],D=u.rule,n=new g(D),t=0,a=[D.__beforeBegin,D["on:begin"]];t")+'"');throw o.mode=w,o}if("end"===D.type){var s=h(D);if(s!==mu)return s}if("illegal"===D.type&&""===r)return D.index===n.length||(S+="\n"),1;if(j>1e5&&j>3*D.index)throw new Error("potential infinite loop, way more iterations than matches");return S+=r,r.length}var v=b(u);if(!v)throw cu(r.replace("{}",u)),new Error('Unknown language: "'+u+'"');var _=du(v),x="",w=i||_,k={},N=new o.__emitter(o);!function(){for(var u=[],e=w;e!==v;e=e.parent)e.scope&&u.unshift(e.scope);u.forEach(function(u){return N.openNode(u)})}();var S="",O=0,M=0,j=0,T=!1;try{if(v.__emitTokens)v.__emitTokens(n,N);else{for(w.matcher.considerAll();;){j++,T?T=!1:w.matcher.considerAll(),w.matcher.lastIndex=M;var R=w.matcher.exec(n);if(!R)break;var I=y(n.substring(M,R.index),R);M=R.index+I}y(n.substring(M))}return N.finalize(),x=N.toHTML(),{language:u,value:x,relevance:O,illegal:!1,_emitter:N,_top:w}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:u,value:bu(n),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:M,context:n.slice(M-100,M+100),mode:e.mode,resultSoFar:x},_emitter:N};if(a)return{language:u,value:bu(n),illegal:!1,relevance:0,errorRaised:e,_emitter:N,_top:w};throw e}}function l(u,n){n=n||o.languages||Object.keys(e);var t=function(u){var e={value:bu(u),illegal:!1,relevance:0,_top:i,_emitter:new o.__emitter(o)};return e._emitter.addText(u),e}(u),a=n.filter(b).filter(m).map(function(e){return F(e,u,!1)});a.unshift(t);var r=D(a.sort(function(u,e){if(u.relevance!==e.relevance)return e.relevance-u.relevance;if(u.language&&e.language){if(b(u.language).supersetOf===e.language)return 1;if(b(e.language).supersetOf===u.language)return-1}return 0}),2),s=r[0],c=r[1],l=s;return l.secondBest=c,l}function A(u){var e=function(u){var e=u.className+" ";e+=u.parentNode?u.parentNode.className:"";var D=o.languageDetectRe.exec(e);if(D){var n=b(D[1]);return n||(Fu(r.replace("{}",D[1])),Fu("Falling back to no-highlight mode for this block.",u)),n?D[1]:"no-highlight"}return e.split(/\s+/).find(function(u){return s(u)||b(u)})}(u);if(!s(e))if(h("before:highlightElement",{el:u,language:e}),u.dataset.highlighted)console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);else{if(u.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),o.throwUnescapedHTML))throw new Bu("One of your code blocks includes unescaped HTML.",u.innerHTML);var D=u.textContent,t=e?c(D,{language:e,ignoreIllegals:!0}):l(D);u.innerHTML=t.value,u.dataset.highlighted="yes",function(u,e,D){var t=e&&n[e]||D;u.classList.add("hljs"),u.classList.add("language-".concat(t))}(u,e,t.language),u.result={language:t.language,re:t.relevance,relevance:t.relevance},t.secondBest&&(u.secondBest={language:t.secondBest.language,relevance:t.secondBest.relevance}),h("after:highlightElement",{el:u,result:t,text:D})}}var E=!1;function B(){if("loading"===document.readyState)return E||window.addEventListener("DOMContentLoaded",function(){B()},!1),void(E=!0);document.querySelectorAll(o.cssSelector).forEach(A)}function b(u){return u=(u||"").toLowerCase(),e[u]||e[n[u]]}function p(u,e){var D=e.languageName;"string"==typeof u&&(u=[u]),u.forEach(function(u){n[u.toLowerCase()]=D})}function m(u){var e=b(u);return e&&!e.disableAutodetect}function h(u,e){var D=u;t.forEach(function(u){u[D]&&u[D](e)})}for(var y in Object.assign(u,{highlight:c,highlightAuto:l,highlightAll:B,highlightElement:A,highlightBlock:function(u){return lu("10.7.0","highlightBlock will be removed entirely in v12.0"),lu("10.7.0","Please use highlightElement now."),A(u)},configure:function(u){o=pu(o,u)},initHighlighting:function(){B(),lu("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){B(),lu("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(D,n){var t=null;try{t=n(u)}catch(u){if(cu("Language definition for '{}' could not be registered.".replace("{}",D)),!a)throw u;cu(u),t=i}t.name||(t.name=D),e[D]=t,t.rawDefinition=n.bind(null,u),t.aliases&&p(t.aliases,{languageName:D})},unregisterLanguage:function(u){delete e[u];for(var D=0,t=Object.keys(n);D {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n UNICODE_RANGE: {\n scope: 'number',\n begin: /\\b[Uu]\\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'corner-bottom-left-shape',\n 'corner-bottom-right-shape',\n 'corner-shape',\n 'corner-top-left-shape',\n 'corner-top-right-shape',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'unicode-range',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n/*\nLanguage: CSS\nCategory: common, css, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/CSS\n*/\n\n\n/** @type LanguageFn */\nfunction css(hljs) {\n const regex = hljs.regex;\n const modes = MODES(hljs);\n const VENDOR_PREFIX = { begin: /-(webkit|moz|ms|o)-(?=[a-z])/ };\n const AT_MODIFIERS = \"and or not only\";\n const AT_PROPERTY_RE = /@-?\\w[\\w]*(-\\w+)*/; // @-webkit-keyframes\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const STRINGS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ];\n\n return {\n name: 'CSS',\n case_insensitive: true,\n illegal: /[=|'\\$]/,\n keywords: { keyframePosition: \"from to\" },\n classNameAliases: {\n // for visual continuity with `tag {}` and because we\n // don't have a great class for this?\n keyframePosition: \"selector-tag\" },\n contains: [\n modes.BLOCK_COMMENT,\n VENDOR_PREFIX,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: /#[A-Za-z0-9_-]+/,\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.' + IDENT_RE,\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n variants: [\n { begin: ':(' + PSEUDO_CLASSES.join('|') + ')' },\n { begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')' }\n ]\n },\n // we may actually need this (12/2020)\n // { // pseudo-selector params\n // begin: /\\(/,\n // end: /\\)/,\n // contains: [ hljs.CSS_NUMBER_MODE ]\n // },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n // attribute values\n {\n begin: /:/,\n end: /[;}{]/,\n contains: [\n modes.BLOCK_COMMENT,\n modes.HEXCOLOR,\n modes.IMPORTANT,\n modes.CSS_NUMBER_MODE,\n modes.UNICODE_RANGE,\n ...STRINGS,\n // needed to highlight these as strings and to avoid issues with\n // illegal characters that might be inside urls that would trigger the\n // languages illegal stack\n {\n begin: /(url|data-uri)\\(/,\n end: /\\)/,\n relevance: 0, // from keywords\n keywords: { built_in: \"url data-uri\" },\n contains: [\n ...STRINGS,\n {\n className: \"string\",\n // any character other than `)` as in `url()` will be the start\n // of a string, which ends with `)` (from the parent mode)\n begin: /[^)]/,\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n },\n {\n begin: regex.lookahead(/@/),\n end: '[{;]',\n relevance: 0,\n illegal: /:/, // break on Less variables @var: ...\n contains: [\n {\n className: 'keyword',\n begin: AT_PROPERTY_RE\n },\n {\n begin: /\\s/,\n endsWithParent: true,\n excludeEnd: true,\n relevance: 0,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n ...STRINGS,\n modes.CSS_NUMBER_MODE\n ]\n }\n ]\n },\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b'\n }\n ]\n };\n}\n\nexport { css as default };\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\nfunction escape(value) {\n return new RegExp(value.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'm');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid an\n// incorrect parse, it also matches the constructs where the meaning of\n// parentheses, escapes, or capture counting changes.\nnew RegExp(either(\n /\\[(?:[^\\\\\\]]|\\\\.)*\\]/, // a character class, inside which ( and \\ lose their meaning\n /\\(\\?<(?![=!])[^>]+>/, // a named capture group `(?` (not a lookbehind `(?<=` / `(?\nContributors: Troy Kershaw , Henrik Feldt , Melvyn Laïly \nWebsite: https://docs.microsoft.com/en-us/dotnet/fsharp/\nCategory: functional\n*/\n\n\n/** @type LanguageFn */\nfunction fsharp(hljs) {\n const KEYWORDS = [\n \"abstract\",\n \"and\",\n \"as\",\n \"assert\",\n \"base\",\n \"begin\",\n \"class\",\n \"default\",\n \"delegate\",\n \"do\",\n \"done\",\n \"downcast\",\n \"downto\",\n \"elif\",\n \"else\",\n \"end\",\n \"exception\",\n \"extern\",\n // \"false\", // literal\n \"finally\",\n \"fixed\",\n \"for\",\n \"fun\",\n \"function\",\n \"global\",\n \"if\",\n \"in\",\n \"inherit\",\n \"inline\",\n \"interface\",\n \"internal\",\n \"lazy\",\n \"let\",\n \"match\",\n \"member\",\n \"module\",\n \"mutable\",\n \"namespace\",\n \"new\",\n // \"not\", // built_in\n // \"null\", // literal\n \"of\",\n \"open\",\n \"or\",\n \"override\",\n \"private\",\n \"public\",\n \"rec\",\n \"return\",\n \"static\",\n \"struct\",\n \"then\",\n \"to\",\n // \"true\", // literal\n \"try\",\n \"type\",\n \"upcast\",\n \"use\",\n \"val\",\n \"void\",\n \"when\",\n \"while\",\n \"with\",\n \"yield\"\n ];\n\n const BANG_KEYWORD_MODE = {\n // monad builder keywords (matches before non-bang keywords)\n scope: 'keyword',\n match: /\\b(yield|return|let|do|match|use)!/\n };\n\n const PREPROCESSOR_KEYWORDS = [\n \"if\",\n \"else\",\n \"endif\",\n \"line\",\n \"nowarn\",\n \"light\",\n \"r\",\n \"i\",\n \"I\",\n \"load\",\n \"time\",\n \"help\",\n \"quit\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"Some\",\n \"None\",\n \"Ok\",\n \"Error\",\n \"infinity\",\n \"infinityf\",\n \"nan\",\n \"nanf\"\n ];\n\n const SPECIAL_IDENTIFIERS = [\n \"__LINE__\",\n \"__SOURCE_DIRECTORY__\",\n \"__SOURCE_FILE__\"\n ];\n\n // Since it's possible to re-bind/shadow names (e.g. let char = 'c'),\n // these builtin types should only be matched when a type name is expected.\n const KNOWN_TYPES = [\n // basic types\n \"bool\",\n \"byte\",\n \"sbyte\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"int\",\n \"uint\",\n \"int64\",\n \"uint64\",\n \"nativeint\",\n \"unativeint\",\n \"decimal\",\n \"float\",\n \"double\",\n \"float32\",\n \"single\",\n \"char\",\n \"string\",\n \"unit\",\n \"bigint\",\n // other native types or lowercase aliases\n \"option\",\n \"voption\",\n \"list\",\n \"array\",\n \"seq\",\n \"byref\",\n \"exn\",\n \"inref\",\n \"nativeptr\",\n \"obj\",\n \"outref\",\n \"voidptr\",\n // other important FSharp types\n \"Result\"\n ];\n\n const BUILTINS = [\n // Somewhat arbitrary list of builtin functions and values.\n // Most of them are declared in Microsoft.FSharp.Core\n // I tried to stay relevant by adding only the most idiomatic\n // and most used symbols that are not already declared as types.\n \"not\",\n \"ref\",\n \"raise\",\n \"reraise\",\n \"dict\",\n \"readOnlyDict\",\n \"set\",\n \"get\",\n \"enum\",\n \"sizeof\",\n \"typeof\",\n \"typedefof\",\n \"nameof\",\n \"nullArg\",\n \"invalidArg\",\n \"invalidOp\",\n \"id\",\n \"fst\",\n \"snd\",\n \"ignore\",\n \"lock\",\n \"using\",\n \"box\",\n \"unbox\",\n \"tryUnbox\",\n \"printf\",\n \"printfn\",\n \"sprintf\",\n \"eprintf\",\n \"eprintfn\",\n \"fprintf\",\n \"fprintfn\",\n \"failwith\",\n \"failwithf\"\n ];\n\n const ALL_KEYWORDS = {\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILTINS,\n 'variable.constant': SPECIAL_IDENTIFIERS\n };\n\n // (* potentially multi-line Meta Language style comment *)\n const ML_COMMENT =\n hljs.COMMENT(/\\(\\*(?!\\))/, /\\*\\)/, {\n contains: [\"self\"]\n });\n // Either a multi-line (* Meta Language style comment *) or a single line // C style comment.\n const COMMENT = {\n variants: [\n ML_COMMENT,\n hljs.C_LINE_COMMENT_MODE,\n ]\n };\n\n // Most identifiers can contain apostrophes\n const IDENTIFIER_RE = /[a-zA-Z_](\\w|')*/;\n\n const QUOTED_IDENTIFIER = {\n scope: 'variable',\n begin: /``/,\n end: /``/\n };\n\n // 'a or ^a where a can be a ``quoted identifier``\n const BEGIN_GENERIC_TYPE_SYMBOL_RE = /\\B('|\\^)/;\n const GENERIC_TYPE_SYMBOL = {\n scope: 'symbol',\n variants: [\n // the type name is a quoted identifier:\n { match: concat(BEGIN_GENERIC_TYPE_SYMBOL_RE, /``.*?``/) },\n // the type name is a normal identifier (we don't use IDENTIFIER_RE because there cannot be another apostrophe here):\n { match: concat(BEGIN_GENERIC_TYPE_SYMBOL_RE, hljs.UNDERSCORE_IDENT_RE) }\n ],\n relevance: 0\n };\n\n const makeOperatorMode = function({ includeEqual }) {\n // List or symbolic operator characters from the FSharp Spec 4.1, minus the dot, and with `?` added, used for nullable operators.\n let allOperatorChars;\n if (includeEqual)\n allOperatorChars = \"!%&*+-/<=>@^|~?\";\n else\n allOperatorChars = \"!%&*+-/<>@^|~?\";\n const OPERATOR_CHARS = Array.from(allOperatorChars);\n const OPERATOR_CHAR_RE = concat('[', ...OPERATOR_CHARS.map(escape), ']');\n // The lone dot operator is special. It cannot be redefined, and we don't want to highlight it. It can be used as part of a multi-chars operator though.\n const OPERATOR_CHAR_OR_DOT_RE = either(OPERATOR_CHAR_RE, /\\./);\n // When a dot is present, it must be followed by another operator char:\n const OPERATOR_FIRST_CHAR_OF_MULTIPLE_RE = concat(OPERATOR_CHAR_OR_DOT_RE, lookahead(OPERATOR_CHAR_OR_DOT_RE));\n const SYMBOLIC_OPERATOR_RE = either(\n concat(OPERATOR_FIRST_CHAR_OF_MULTIPLE_RE, OPERATOR_CHAR_OR_DOT_RE, '*'), // Matches at least 2 chars operators\n concat(OPERATOR_CHAR_RE, '+'), // Matches at least one char operators\n );\n return {\n scope: 'operator',\n match: either(\n // symbolic operators:\n SYMBOLIC_OPERATOR_RE,\n // other symbolic keywords:\n // Type casting and conversion operators:\n /:\\?>/,\n /:\\?/,\n /:>/,\n /:=/, // Reference cell assignment\n /::?/, // : or ::\n /\\$/), // A single $ can be used as an operator\n relevance: 0\n };\n };\n\n const OPERATOR = makeOperatorMode({ includeEqual: true });\n // This variant is used when matching '=' should end a parent mode:\n const OPERATOR_WITHOUT_EQUAL = makeOperatorMode({ includeEqual: false });\n\n const makeTypeAnnotationMode = function(prefix, prefixScope) {\n return {\n begin: concat( // a type annotation is a\n prefix, // should be a colon or the 'of' keyword\n lookahead( // that has to be followed by\n concat(\n /\\s*/, // optional space\n either( // then either of:\n /\\w/, // word\n /'/, // generic type name\n /\\^/, // generic type name\n /#/, // flexible type name\n /``/, // quoted type name\n /\\(/, // parens type expression\n /{\\|/, // anonymous type annotation\n )))),\n beginScope: prefixScope,\n // BUG: because ending with \\n is necessary for some cases, multi-line type annotations are not properly supported.\n // Examples where \\n is required at the end:\n // - abstract member definitions in classes: abstract Property : int * string\n // - return type annotations: let f f' = f' () : returnTypeAnnotation\n // - record fields definitions: { A : int \\n B : string }\n end: lookahead(\n either(\n /\\n/,\n /=/)),\n relevance: 0,\n // we need the known types, and we need the type constraint keywords and literals. e.g.: when 'a : null\n keywords: hljs.inherit(ALL_KEYWORDS, { type: KNOWN_TYPES }),\n contains: [\n COMMENT,\n GENERIC_TYPE_SYMBOL,\n hljs.inherit(QUOTED_IDENTIFIER, { scope: null }), // match to avoid strange patterns inside that may break the parsing\n OPERATOR_WITHOUT_EQUAL\n ]\n };\n };\n\n const TYPE_ANNOTATION = makeTypeAnnotationMode(/:/, 'operator');\n const DISCRIMINATED_UNION_TYPE_ANNOTATION = makeTypeAnnotationMode(/\\bof\\b/, 'keyword');\n\n // type MyType<'a> = ...\n const TYPE_DECLARATION = {\n begin: [\n /(^|\\s+)/, // prevents matching the following: `match s.stype with`\n /type/,\n /\\s+/,\n IDENTIFIER_RE\n ],\n beginScope: {\n 2: 'keyword',\n 4: 'title.class'\n },\n end: lookahead(/\\(|=|$/),\n keywords: ALL_KEYWORDS, // match keywords in type constraints. e.g.: when 'a : null\n contains: [\n COMMENT,\n hljs.inherit(QUOTED_IDENTIFIER, { scope: null }), // match to avoid strange patterns inside that may break the parsing\n GENERIC_TYPE_SYMBOL,\n {\n // For visual consistency, highlight type brackets as operators.\n scope: 'operator',\n match: /<|>/\n },\n TYPE_ANNOTATION // generic types can have constraints, which are type annotations. e.g. type MyType<'T when 'T : delegate> =\n ]\n };\n\n const COMPUTATION_EXPRESSION = {\n // computation expressions:\n scope: 'computation-expression',\n // BUG: might conflict with record deconstruction. e.g. let f { Name = name } = name // will highlight f\n match: /\\b[_a-z]\\w*(?=\\s*\\{)/\n };\n\n const PREPROCESSOR = {\n // preprocessor directives and fsi commands:\n begin: [\n /^\\s*/,\n concat(/#/, either(...PREPROCESSOR_KEYWORDS)),\n /\\b/\n ],\n beginScope: { 2: 'meta' },\n end: lookahead(/\\s|$/)\n };\n\n // TODO: this definition is missing support for type suffixes and octal notation.\n // BUG: range operator without any space is wrongly interpreted as a single number (e.g. 1..10 )\n const NUMBER = {\n variants: [\n hljs.BINARY_NUMBER_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n\n // All the following string definitions are potentially multi-line.\n // BUG: these definitions are missing support for byte strings (suffixed with B)\n\n // \"...\"\n const QUOTED_STRING = {\n scope: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE\n ]\n };\n // @\"...\"\n const VERBATIM_STRING = {\n scope: 'string',\n begin: /@\"/,\n end: /\"/,\n contains: [\n {\n match: /\"\"/ // escaped \"\n },\n hljs.BACKSLASH_ESCAPE\n ]\n };\n // \"\"\"...\"\"\"\n const TRIPLE_QUOTED_STRING = {\n scope: 'string',\n begin: /\"\"\"/,\n end: /\"\"\"/,\n relevance: 2\n };\n const SUBST = {\n scope: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: ALL_KEYWORDS\n };\n // $\"...{1+1}...\"\n const INTERPOLATED_STRING = {\n scope: 'string',\n begin: /\\$\"/,\n end: /\"/,\n contains: [\n {\n match: /\\{\\{/ // escaped {\n },\n {\n match: /\\}\\}/ // escaped }\n },\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n // $@\"...{1+1}...\"\n const INTERPOLATED_VERBATIM_STRING = {\n scope: 'string',\n begin: /(\\$@|@\\$)\"/,\n end: /\"/,\n contains: [\n {\n match: /\\{\\{/ // escaped {\n },\n {\n match: /\\}\\}/ // escaped }\n },\n {\n match: /\"\"/\n },\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n // $\"\"\"...{1+1}...\"\"\"\n const INTERPOLATED_TRIPLE_QUOTED_STRING = {\n scope: 'string',\n begin: /\\$\"\"\"/,\n end: /\"\"\"/,\n contains: [\n {\n match: /\\{\\{/ // escaped {\n },\n {\n match: /\\}\\}/ // escaped }\n },\n SUBST\n ],\n relevance: 2\n };\n // '.'\n const CHAR_LITERAL = {\n scope: 'string',\n match: concat(\n /'/,\n either(\n /[^\\\\']/, // either a single non escaped char...\n /\\\\(?:.|\\d{3}|x[a-fA-F\\d]{2}|u[a-fA-F\\d]{4}|U[a-fA-F\\d]{8})/ // ...or an escape sequence\n ),\n /'/\n )\n };\n // F# allows a lot of things inside string placeholders.\n // Things that don't currently seem allowed by the compiler: types definition, attributes usage.\n // (Strictly speaking, some of the followings are only allowed inside triple quoted interpolated strings...)\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n QUOTED_STRING,\n CHAR_LITERAL,\n BANG_KEYWORD_MODE,\n COMMENT,\n QUOTED_IDENTIFIER,\n TYPE_ANNOTATION,\n COMPUTATION_EXPRESSION,\n PREPROCESSOR,\n NUMBER,\n GENERIC_TYPE_SYMBOL,\n OPERATOR\n ];\n const STRING = {\n variants: [\n INTERPOLATED_TRIPLE_QUOTED_STRING,\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n TRIPLE_QUOTED_STRING,\n VERBATIM_STRING,\n QUOTED_STRING,\n CHAR_LITERAL\n ]\n };\n\n return {\n name: 'F#',\n aliases: [\n 'fs',\n 'f#'\n ],\n keywords: ALL_KEYWORDS,\n illegal: /\\/\\*/,\n classNameAliases: {\n 'computation-expression': 'keyword'\n },\n contains: [\n BANG_KEYWORD_MODE,\n STRING,\n COMMENT,\n QUOTED_IDENTIFIER,\n TYPE_DECLARATION,\n {\n // e.g. [] or [<``module``: MyCustomAttributeThatWorksOnModules>]\n // or []\n scope: 'meta',\n begin: /\\[\\]/,\n relevance: 2,\n contains: [\n QUOTED_IDENTIFIER,\n // can contain any constant value\n TRIPLE_QUOTED_STRING,\n VERBATIM_STRING,\n QUOTED_STRING,\n CHAR_LITERAL,\n NUMBER\n ]\n },\n DISCRIMINATED_UNION_TYPE_ANNOTATION,\n TYPE_ANNOTATION,\n COMPUTATION_EXPRESSION,\n PREPROCESSOR,\n NUMBER,\n GENERIC_TYPE_SYMBOL,\n OPERATOR\n ]\n };\n}\n\nexport { fsharp as default };\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\n\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"self\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // (key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\",\n \"await\",\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-Za-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\nexport { javascript as default };\n","const EXTENDED_NUMBER_RE = '([-+]?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)|NaN|[-+]?Infinity'; // 0x..., 0..., decimal, float\n\nconst EXTENDED_NUMBER_MODE = {\n scope: 'number',\n match: EXTENDED_NUMBER_RE,\n relevance: 0\n};\n\n/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nWebsites: http://www.json.org, https://www.json5.org\nCategory: common, protocols, web\n*/\n\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /((\"(\\\\.|[^\\\\\"\\r\\n])*\")|('(\\\\.|[^\\\\'\\r\\n])*'))(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\"\n ];\n // NOTE: normally we would rely on `keywords` for this but using a mode here allows us\n // - to use the very tight `illegal: \\S` rule later to flag any other character\n // - as illegal indicating that despite looking like JSON we do not truly have\n // - JSON and thus improve false-positively greatly since JSON will try and claim\n // - all sorts of JSON looking stuff\n const LITERALS_MODE = {\n scope: \"literal\",\n beginKeywords: LITERALS.join(\" \"),\n };\n\n return {\n name: 'JSON',\n aliases: ['jsonc', 'json5'],\n keywords:{\n literal: LITERALS,\n },\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n LITERALS_MODE,\n EXTENDED_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\nexport { json as default };\n","\nimport highlightjs from 'highlight.js/lib/core';\nimport 'highlight.js/styles/github.css';\nimport bash from 'highlight.js/lib/languages/bash';\nimport csharp from 'highlight.js/lib/languages/csharp';\nimport css from 'highlight.js/lib/languages/css';\nimport fsharp from 'highlight.js/lib/languages/fsharp';\nimport http from 'highlight.js/lib/languages/http';\nimport javascript from 'highlight.js/lib/languages/javascript';\nimport json from 'highlight.js/lib/languages/json';\nimport julia from 'highlight.js/lib/languages/julia';\nimport markdown from 'highlight.js/lib/languages/markdown';\nimport matlab from 'highlight.js/lib/languages/matlab';\nimport plaintext from 'highlight.js/lib/languages/plaintext';\nimport python from 'highlight.js/lib/languages/python';\nimport r from 'highlight.js/lib/languages/r';\nimport ruby from 'highlight.js/lib/languages/ruby';\nimport shell from 'highlight.js/lib/languages/shell';\nimport sql from 'highlight.js/lib/languages/sql';\nimport xml from 'highlight.js/lib/languages/xml';\nimport yaml from 'highlight.js/lib/languages/yaml';\nhighlightjs.registerLanguage('bash', bash);\nhighlightjs.registerLanguage('csharp', csharp);\nhighlightjs.registerLanguage('css', css);\nhighlightjs.registerLanguage('fsharp', fsharp);\nhighlightjs.registerLanguage('http', http);\nhighlightjs.registerLanguage('javascript', javascript);\nhighlightjs.registerLanguage('json', json);\nhighlightjs.registerLanguage('julia', julia);\nhighlightjs.registerLanguage('markdown', markdown);\nhighlightjs.registerLanguage('matlab', matlab);\nhighlightjs.registerLanguage('plaintext', plaintext);\nhighlightjs.registerLanguage('python', python);\nhighlightjs.registerLanguage('r', r);\nhighlightjs.registerLanguage('ruby', ruby);\nhighlightjs.registerLanguage('shell', shell);\nhighlightjs.registerLanguage('sql', sql);\nhighlightjs.registerLanguage('xml', xml);\nhighlightjs.registerLanguage('yaml', yaml);\nexport default highlightjs;\n","/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common, scripting\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const regex = hljs.regex;\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR, {\n className: 'variable',\n variants: [\n { begin: regex.concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const COMMENT = hljs.inherit(\n hljs.COMMENT(),\n {\n match: [\n /(^|\\s)/,\n /#.*$/\n ],\n scope: {\n 2: 'comment'\n }\n }\n );\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: { contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ] }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n match: /\\\\\"/\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const ESCAPED_APOS = {\n match: /\\\\'/\n };\n const ARITHMETIC = {\n begin: /\\$?\\(\\(/,\n end: /\\)\\)/,\n contains: [\n {\n begin: /\\d+#[0-9a-f]+/,\n className: \"number\"\n },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: /\\w[\\w\\d_]*/ }) ],\n relevance: 0\n };\n\n const KEYWORDS = [\n \"if\",\n \"then\",\n \"else\",\n \"elif\",\n \"fi\",\n \"time\",\n \"for\",\n \"while\",\n \"until\",\n \"in\",\n \"do\",\n \"done\",\n \"case\",\n \"esac\",\n \"coproc\",\n \"function\",\n \"select\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n\n // to consume paths to prevent keyword matches inside them\n const PATH_MODE = { match: /(\\/[a-z._-]+)+/ };\n\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n const SHELL_BUILT_INS = [\n \"break\",\n \"cd\",\n \"continue\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"export\",\n \"getopts\",\n \"hash\",\n \"pwd\",\n \"readonly\",\n \"return\",\n \"shift\",\n \"test\",\n \"times\",\n \"trap\",\n \"umask\",\n \"unset\"\n ];\n\n const BASH_BUILT_INS = [\n \"alias\",\n \"bind\",\n \"builtin\",\n \"caller\",\n \"command\",\n \"declare\",\n \"echo\",\n \"enable\",\n \"help\",\n \"let\",\n \"local\",\n \"logout\",\n \"mapfile\",\n \"printf\",\n \"read\",\n \"readarray\",\n \"source\",\n \"sudo\",\n \"type\",\n \"typeset\",\n \"ulimit\",\n \"unalias\"\n ];\n\n const ZSH_BUILT_INS = [\n \"autoload\",\n \"bg\",\n \"bindkey\",\n \"bye\",\n \"cap\",\n \"chdir\",\n \"clone\",\n \"comparguments\",\n \"compcall\",\n \"compctl\",\n \"compdescribe\",\n \"compfiles\",\n \"compgroups\",\n \"compquote\",\n \"comptags\",\n \"comptry\",\n \"compvalues\",\n \"dirs\",\n \"disable\",\n \"disown\",\n \"echotc\",\n \"echoti\",\n \"emulate\",\n \"fc\",\n \"fg\",\n \"float\",\n \"functions\",\n \"getcap\",\n \"getln\",\n \"history\",\n \"integer\",\n \"jobs\",\n \"kill\",\n \"limit\",\n \"log\",\n \"noglob\",\n \"popd\",\n \"print\",\n \"pushd\",\n \"pushln\",\n \"rehash\",\n \"sched\",\n \"setcap\",\n \"setopt\",\n \"stat\",\n \"suspend\",\n \"ttyctl\",\n \"unfunction\",\n \"unhash\",\n \"unlimit\",\n \"unsetopt\",\n \"vared\",\n \"wait\",\n \"whence\",\n \"where\",\n \"which\",\n \"zcompile\",\n \"zformat\",\n \"zftp\",\n \"zle\",\n \"zmodload\",\n \"zparseopts\",\n \"zprof\",\n \"zpty\",\n \"zregexparse\",\n \"zsocket\",\n \"zstyle\",\n \"ztcp\"\n ];\n\n const GNU_CORE_UTILS = [\n \"chcon\",\n \"chgrp\",\n \"chown\",\n \"chmod\",\n \"cp\",\n \"dd\",\n \"df\",\n \"dir\",\n \"dircolors\",\n \"ln\",\n \"ls\",\n \"mkdir\",\n \"mkfifo\",\n \"mknod\",\n \"mktemp\",\n \"mv\",\n \"realpath\",\n \"rm\",\n \"rmdir\",\n \"shred\",\n \"sync\",\n \"touch\",\n \"truncate\",\n \"vdir\",\n \"b2sum\",\n \"base32\",\n \"base64\",\n \"cat\",\n \"cksum\",\n \"comm\",\n \"csplit\",\n \"cut\",\n \"expand\",\n \"fmt\",\n \"fold\",\n \"head\",\n \"join\",\n \"md5sum\",\n \"nl\",\n \"numfmt\",\n \"od\",\n \"paste\",\n \"ptx\",\n \"pr\",\n \"sha1sum\",\n \"sha224sum\",\n \"sha256sum\",\n \"sha384sum\",\n \"sha512sum\",\n \"shuf\",\n \"sort\",\n \"split\",\n \"sum\",\n \"tac\",\n \"tail\",\n \"tr\",\n \"tsort\",\n \"unexpand\",\n \"uniq\",\n \"wc\",\n \"arch\",\n \"basename\",\n \"chroot\",\n \"date\",\n \"dirname\",\n \"du\",\n \"echo\",\n \"env\",\n \"expr\",\n \"factor\",\n // \"false\", // keyword literal already\n \"groups\",\n \"hostid\",\n \"id\",\n \"link\",\n \"logname\",\n \"nice\",\n \"nohup\",\n \"nproc\",\n \"pathchk\",\n \"pinky\",\n \"printenv\",\n \"printf\",\n \"pwd\",\n \"readlink\",\n \"runcon\",\n \"seq\",\n \"sleep\",\n \"stat\",\n \"stdbuf\",\n \"stty\",\n \"tee\",\n \"test\",\n \"timeout\",\n // \"true\", // keyword literal already\n \"tty\",\n \"uname\",\n \"unlink\",\n \"uptime\",\n \"users\",\n \"who\",\n \"whoami\",\n \"yes\"\n ];\n\n return {\n name: 'Bash',\n aliases: [\n 'sh',\n 'zsh'\n ],\n keywords: {\n $pattern: /\\b[a-z][a-z0-9._-]+\\b/,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: [\n ...SHELL_BUILT_INS,\n ...BASH_BUILT_INS,\n // Shell modifiers\n \"set\",\n \"shopt\",\n ...ZSH_BUILT_INS,\n ...GNU_CORE_UTILS\n ]\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n COMMENT,\n HERE_DOC,\n PATH_MODE,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n ESCAPED_APOS,\n VAR\n ]\n };\n}\n\nexport { bash as default };\n","/*\nLanguage: C#\nAuthor: Jason Diamond \nContributor: Nicolas LLOBERA , Pieter Vantorre , David Pine \nWebsite: https://docs.microsoft.com/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'bool',\n 'byte',\n 'char',\n 'decimal',\n 'delegate',\n 'double',\n 'dynamic',\n 'enum',\n 'float',\n 'int',\n 'long',\n 'nint',\n 'nuint',\n 'object',\n 'sbyte',\n 'short',\n 'string',\n 'ulong',\n 'uint',\n 'ushort'\n ];\n const FUNCTION_MODIFIERS = [\n 'public',\n 'private',\n 'protected',\n 'static',\n 'internal',\n 'protected',\n 'abstract',\n 'async',\n 'extern',\n 'override',\n 'unsafe',\n 'virtual',\n 'new',\n 'sealed',\n 'partial'\n ];\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'base',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'event',\n 'explicit',\n 'extern',\n 'finally',\n 'fixed',\n 'for',\n 'foreach',\n 'goto',\n 'if',\n 'implicit',\n 'in',\n 'interface',\n 'internal',\n 'is',\n 'lock',\n 'namespace',\n 'new',\n 'operator',\n 'out',\n 'override',\n 'params',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'record',\n 'ref',\n 'return',\n 'scoped',\n 'sealed',\n 'sizeof',\n 'stackalloc',\n 'static',\n 'struct',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'typeof',\n 'unchecked',\n 'unsafe',\n 'using',\n 'virtual',\n 'void',\n 'volatile',\n 'while'\n ];\n const CONTEXTUAL_KEYWORDS = [\n 'add',\n 'alias',\n 'and',\n 'ascending',\n 'args',\n 'async',\n 'await',\n 'by',\n 'descending',\n 'dynamic',\n 'equals',\n 'file',\n 'from',\n 'get',\n 'global',\n 'group',\n 'init',\n 'into',\n 'join',\n 'let',\n 'nameof',\n 'not',\n 'notnull',\n 'on',\n 'or',\n 'orderby',\n 'partial',\n 'record',\n 'remove',\n 'required',\n 'scoped',\n 'select',\n 'set',\n 'unmanaged',\n 'value|0',\n 'var',\n 'when',\n 'where',\n 'with',\n 'yield'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, { begin: '[a-zA-Z](\\\\.?\\\\w)*' });\n // https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/integral-numeric-types\n // https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types\n // `_` separators sit between digits, and may also follow the `0x`/`0b` prefix\n const DIGITS = '\\\\d(_*\\\\d)*';\n const INTEGER_SUFFIX = '([uU][lL]?|[lL][uU]?)?';\n const REAL_SUFFIX = '([fFdDmM]|[uU][lL]?|[lL][uU]?)?';\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b0[bB]_*[01](_*[01])*' + INTEGER_SUFFIX },\n { begin: '(-?)\\\\b0[xX]_*[a-fA-F0-9](_*[a-fA-F0-9])*' + INTEGER_SUFFIX },\n { begin: '(-?)(\\\\b' + DIGITS + '(\\\\.(' + DIGITS + ')?)?|\\\\.' + DIGITS + ')([eE][-+]?' + DIGITS + ')?' + REAL_SUFFIX }\n ],\n relevance: 0\n };\n const RAW_STRING = {\n className: 'string',\n begin: /\"\"\"(\"*)(?!\")(.|\\n)*?\"\"\"\\1/,\n relevance: 1\n };\n const VERBATIM_STRING = {\n className: 'string',\n begin: '@\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ]\n };\n const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, { illegal: /\\n/ });\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const SUBST_NO_LF = hljs.inherit(SUBST, { illegal: /\\n/ });\n const INTERPOLATED_STRING = {\n className: 'string',\n begin: /\\$\"/,\n end: '\"',\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n hljs.BACKSLASH_ESCAPE,\n SUBST_NO_LF\n ]\n };\n const INTERPOLATED_VERBATIM_STRING = {\n className: 'string',\n begin: /\\$@\"/,\n end: '\"',\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST\n ]\n };\n const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST_NO_LF\n ]\n });\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ];\n SUBST_NO_LF.contains = [\n INTERPOLATED_VERBATIM_STRING_NO_LF,\n INTERPOLATED_STRING,\n VERBATIM_STRING_NO_LF,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, { illegal: /\\n/ })\n ];\n const STRING = { variants: [\n RAW_STRING,\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ] };\n\n const GENERIC_MODIFIER = {\n begin: \"<\",\n end: \">\",\n contains: [\n { beginKeywords: \"in out\" },\n TITLE_MODE\n ]\n };\n const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n const AT_IDENTIFIER = {\n // prevents expressions like `@class` from incorrect flagging\n // `class` as a keyword\n begin: \"@\" + hljs.IDENT_RE,\n relevance: 0\n };\n\n return {\n name: 'C#',\n aliases: [\n 'cs',\n 'c#'\n ],\n keywords: KEYWORDS,\n illegal: /::/,\n contains: [\n hljs.COMMENT(\n '///',\n '$',\n {\n returnBegin: true,\n contains: [\n {\n className: 'doctag',\n variants: [\n {\n begin: '///',\n relevance: 0\n },\n { begin: '' },\n {\n begin: ''\n }\n ]\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: { keyword: 'if else elif endif define undef warning error line region endregion pragma checksum' }\n },\n STRING,\n NUMBERS,\n {\n beginKeywords: 'class interface',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:,]/,\n contains: [\n { beginKeywords: \"where class\" },\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'record',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // [Attributes(\"\")]\n className: 'meta',\n begin: '^\\\\s*\\\\[(?=[\\\\w])',\n excludeBegin: true,\n end: '\\\\]',\n excludeEnd: true,\n contains: [\n {\n className: 'string',\n begin: /\"/,\n end: /\"/\n }\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new return throw await else',\n relevance: 0\n },\n {\n className: 'function',\n begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n end: /\\s*[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n // prevents these from being highlighted `title`\n {\n beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n relevance: 0\n },\n {\n begin: hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n GENERIC_MODIFIER\n ],\n relevance: 0\n },\n { match: /\\(\\)/ },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n AT_IDENTIFIER\n ]\n };\n}\n\nexport { csharp as default };\n","/*\nLanguage: HTTP\nDescription: HTTP request and response headers with automatic body highlighting\nAuthor: Ivan Sagalaev \nCategory: protocols, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview\n*/\n\nfunction http(hljs) {\n const regex = hljs.regex;\n const VERSION = 'HTTP/([32]|1\\\\.[01])';\n const HEADER_NAME = /[A-Za-z][A-Za-z0-9-]*/;\n const HEADER = {\n className: 'attribute',\n begin: regex.concat('^', HEADER_NAME, '(?=\\\\:\\\\s)'),\n starts: { contains: [\n {\n className: \"punctuation\",\n begin: /: /,\n relevance: 0,\n starts: {\n end: '$',\n relevance: 0\n }\n }\n ] }\n };\n const HEADERS_AND_BODY = [\n HEADER,\n {\n begin: '\\\\n\\\\n',\n starts: {\n subLanguage: [],\n endsWithParent: true\n }\n }\n ];\n\n return {\n name: 'HTTP',\n aliases: [ 'https' ],\n illegal: /\\S/,\n contains: [\n // response\n {\n begin: '^(?=' + VERSION + \" \\\\d{3})\",\n end: /$/,\n contains: [\n {\n className: \"meta\",\n begin: VERSION\n },\n {\n className: 'number',\n begin: '\\\\b\\\\d{3}\\\\b'\n }\n ],\n starts: {\n end: /\\b\\B/,\n illegal: /\\S/,\n contains: HEADERS_AND_BODY\n }\n },\n // request\n {\n begin: '(?=^[A-Z]+ (.*?) ' + VERSION + '$)',\n end: /$/,\n contains: [\n {\n className: 'string',\n begin: ' ',\n end: ' ',\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: \"meta\",\n begin: VERSION\n },\n {\n className: 'keyword',\n begin: '[A-Z]+'\n }\n ],\n starts: {\n end: /\\b\\B/,\n illegal: /\\S/,\n contains: HEADERS_AND_BODY\n }\n },\n // to allow headers to work even without a preamble\n hljs.inherit(HEADER, { relevance: 0 })\n ]\n };\n}\n\nexport { http as default };\n","/*\nLanguage: Julia\nDescription: Julia is a high-level, high-performance, dynamic programming language.\nAuthor: Kenta Sato \nContributors: Alex Arslan , Fredrik Ekre \nWebsite: https://julialang.org\nCategory: scientific\n*/\n\nfunction julia(hljs) {\n // Since there are numerous special names in Julia, it is too much trouble\n // to maintain them by hand. Hence these names (i.e. keywords, literals and\n // built-ins) are automatically generated from Julia 1.5.2 itself through\n // the following scripts for each.\n\n // ref: https://docs.julialang.org/en/v1/manual/variables/#Allowed-Variable-Names\n const VARIABLE_NAME_RE = '[A-Za-z_\\\\u00A1-\\\\uFFFF][A-Za-z_0-9\\\\u00A1-\\\\uFFFF]*';\n\n // # keyword generator, multi-word keywords handled manually below (Julia 1.5.2)\n // import REPL.REPLCompletions\n // res = String[\"in\", \"isa\", \"where\"]\n // for kw in collect(x.keyword for x in REPLCompletions.complete_keyword(\"\"))\n // if !(contains(kw, \" \") || kw == \"struct\")\n // push!(res, kw)\n // end\n // end\n // sort!(unique!(res))\n // foreach(x -> println(\"\\'\", x, \"\\',\"), res)\n const KEYWORD_LIST = [\n 'baremodule',\n 'begin',\n 'break',\n 'catch',\n 'ccall',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'elseif',\n 'end',\n 'export',\n 'false',\n 'finally',\n 'for',\n 'function',\n 'global',\n 'if',\n 'import',\n 'in',\n 'isa',\n 'let',\n 'local',\n 'macro',\n 'module',\n 'quote',\n 'return',\n 'true',\n 'try',\n 'using',\n 'where',\n 'while',\n ];\n\n // # literal generator (Julia 1.5.2)\n // import REPL.REPLCompletions\n // res = String[\"true\", \"false\"]\n // for compl in filter!(x -> isa(x, REPLCompletions.ModuleCompletion) && (x.parent === Base || x.parent === Core),\n // REPLCompletions.completions(\"\", 0)[1])\n // try\n // v = eval(Symbol(compl.mod))\n // if !(v isa Function || v isa Type || v isa TypeVar || v isa Module || v isa Colon)\n // push!(res, compl.mod)\n // end\n // catch e\n // end\n // end\n // sort!(unique!(res))\n // foreach(x -> println(\"\\'\", x, \"\\',\"), res)\n const LITERAL_LIST = [\n 'ARGS',\n 'C_NULL',\n 'DEPOT_PATH',\n 'ENDIAN_BOM',\n 'ENV',\n 'Inf',\n 'Inf16',\n 'Inf32',\n 'Inf64',\n 'InsertionSort',\n 'LOAD_PATH',\n 'MergeSort',\n 'NaN',\n 'NaN16',\n 'NaN32',\n 'NaN64',\n 'PROGRAM_FILE',\n 'QuickSort',\n 'RoundDown',\n 'RoundFromZero',\n 'RoundNearest',\n 'RoundNearestTiesAway',\n 'RoundNearestTiesUp',\n 'RoundToZero',\n 'RoundUp',\n 'VERSION|0',\n 'devnull',\n 'false',\n 'im',\n 'missing',\n 'nothing',\n 'pi',\n 'stderr',\n 'stdin',\n 'stdout',\n 'true',\n 'undef',\n 'π',\n 'ℯ',\n ];\n\n // # built_in generator (Julia 1.5.2)\n // import REPL.REPLCompletions\n // res = String[]\n // for compl in filter!(x -> isa(x, REPLCompletions.ModuleCompletion) && (x.parent === Base || x.parent === Core),\n // REPLCompletions.completions(\"\", 0)[1])\n // try\n // v = eval(Symbol(compl.mod))\n // if (v isa Type || v isa TypeVar) && (compl.mod != \"=>\")\n // push!(res, compl.mod)\n // end\n // catch e\n // end\n // end\n // sort!(unique!(res))\n // foreach(x -> println(\"\\'\", x, \"\\',\"), res)\n const BUILT_IN_LIST = [\n 'AbstractArray',\n 'AbstractChannel',\n 'AbstractChar',\n 'AbstractDict',\n 'AbstractDisplay',\n 'AbstractFloat',\n 'AbstractIrrational',\n 'AbstractMatrix',\n 'AbstractRange',\n 'AbstractSet',\n 'AbstractString',\n 'AbstractUnitRange',\n 'AbstractVecOrMat',\n 'AbstractVector',\n 'Any',\n 'ArgumentError',\n 'Array',\n 'AssertionError',\n 'BigFloat',\n 'BigInt',\n 'BitArray',\n 'BitMatrix',\n 'BitSet',\n 'BitVector',\n 'Bool',\n 'BoundsError',\n 'CapturedException',\n 'CartesianIndex',\n 'CartesianIndices',\n 'Cchar',\n 'Cdouble',\n 'Cfloat',\n 'Channel',\n 'Char',\n 'Cint',\n 'Cintmax_t',\n 'Clong',\n 'Clonglong',\n 'Cmd',\n 'Colon',\n 'Complex',\n 'ComplexF16',\n 'ComplexF32',\n 'ComplexF64',\n 'CompositeException',\n 'Condition',\n 'Cptrdiff_t',\n 'Cshort',\n 'Csize_t',\n 'Cssize_t',\n 'Cstring',\n 'Cuchar',\n 'Cuint',\n 'Cuintmax_t',\n 'Culong',\n 'Culonglong',\n 'Cushort',\n 'Cvoid',\n 'Cwchar_t',\n 'Cwstring',\n 'DataType',\n 'DenseArray',\n 'DenseMatrix',\n 'DenseVecOrMat',\n 'DenseVector',\n 'Dict',\n 'DimensionMismatch',\n 'Dims',\n 'DivideError',\n 'DomainError',\n 'EOFError',\n 'Enum',\n 'ErrorException',\n 'Exception',\n 'ExponentialBackOff',\n 'Expr',\n 'Float16',\n 'Float32',\n 'Float64',\n 'Function',\n 'GlobalRef',\n 'HTML',\n 'IO',\n 'IOBuffer',\n 'IOContext',\n 'IOStream',\n 'IdDict',\n 'IndexCartesian',\n 'IndexLinear',\n 'IndexStyle',\n 'InexactError',\n 'InitError',\n 'Int',\n 'Int128',\n 'Int16',\n 'Int32',\n 'Int64',\n 'Int8',\n 'Integer',\n 'InterruptException',\n 'InvalidStateException',\n 'Irrational',\n 'KeyError',\n 'LinRange',\n 'LineNumberNode',\n 'LinearIndices',\n 'LoadError',\n 'MIME',\n 'Matrix',\n 'Method',\n 'MethodError',\n 'Missing',\n 'MissingException',\n 'Module',\n 'NTuple',\n 'NamedTuple',\n 'Nothing',\n 'Number',\n 'OrdinalRange',\n 'OutOfMemoryError',\n 'OverflowError',\n 'Pair',\n 'PartialQuickSort',\n 'PermutedDimsArray',\n 'Pipe',\n 'ProcessFailedException',\n 'Ptr',\n 'QuoteNode',\n 'Rational',\n 'RawFD',\n 'ReadOnlyMemoryError',\n 'Real',\n 'ReentrantLock',\n 'Ref',\n 'Regex',\n 'RegexMatch',\n 'RoundingMode',\n 'SegmentationFault',\n 'Set',\n 'Signed',\n 'Some',\n 'StackOverflowError',\n 'StepRange',\n 'StepRangeLen',\n 'StridedArray',\n 'StridedMatrix',\n 'StridedVecOrMat',\n 'StridedVector',\n 'String',\n 'StringIndexError',\n 'SubArray',\n 'SubString',\n 'SubstitutionString',\n 'Symbol',\n 'SystemError',\n 'Task',\n 'TaskFailedException',\n 'Text',\n 'TextDisplay',\n 'Timer',\n 'Tuple',\n 'Type',\n 'TypeError',\n 'TypeVar',\n 'UInt',\n 'UInt128',\n 'UInt16',\n 'UInt32',\n 'UInt64',\n 'UInt8',\n 'UndefInitializer',\n 'UndefKeywordError',\n 'UndefRefError',\n 'UndefVarError',\n 'Union',\n 'UnionAll',\n 'UnitRange',\n 'Unsigned',\n 'Val',\n 'Vararg',\n 'VecElement',\n 'VecOrMat',\n 'Vector',\n 'VersionNumber',\n 'WeakKeyDict',\n 'WeakRef',\n ];\n\n const KEYWORDS = {\n $pattern: VARIABLE_NAME_RE,\n keyword: KEYWORD_LIST,\n literal: LITERAL_LIST,\n built_in: BUILT_IN_LIST,\n };\n\n // placeholder for recursive self-reference\n const DEFAULT = {\n keywords: KEYWORDS,\n illegal: /<\\//\n };\n\n // ref: https://docs.julialang.org/en/v1/manual/integers-and-floating-point-numbers/\n const NUMBER = {\n className: 'number',\n // supported numeric literals:\n // * binary literal (e.g. 0x10)\n // * octal literal (e.g. 0o76543210)\n // * hexadecimal literal (e.g. 0xfedcba876543210)\n // * hexadecimal floating point literal (e.g. 0x1p0, 0x1.2p2)\n // * decimal literal (e.g. 9876543210, 100_000_000)\n // * floating pointe literal (e.g. 1.2, 1.2f, .2, 1., 1.2e10, 1.2e-10)\n begin: /(\\b0x[\\d_]*(\\.[\\d_]*)?|0x\\.\\d[\\d_]*)p[-+]?\\d+|\\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\\b\\d[\\d_]*(\\.[\\d_]*)?|\\.\\d[\\d_]*)([eEfF][-+]?\\d+)?/,\n relevance: 0\n };\n\n const CHAR = {\n className: 'string',\n begin: /'(.|\\\\[xXuU][a-zA-Z0-9]+)'/\n };\n\n const INTERPOLATION = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n keywords: KEYWORDS\n };\n\n const INTERPOLATED_VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + VARIABLE_NAME_RE\n };\n\n // TODO: neatly escape normal code in string literal\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n INTERPOLATION,\n INTERPOLATED_VARIABLE\n ],\n variants: [\n {\n begin: /\\w*\"\"\"/,\n end: /\"\"\"\\w*/,\n relevance: 10\n },\n {\n begin: /\\w*\"/,\n end: /\"\\w*/\n }\n ]\n };\n\n const COMMAND = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n INTERPOLATION,\n INTERPOLATED_VARIABLE\n ],\n begin: '`',\n end: '`'\n };\n\n const MACROCALL = {\n className: 'meta',\n begin: '@' + VARIABLE_NAME_RE\n };\n\n const COMMENT = {\n className: 'comment',\n variants: [\n {\n begin: '#=',\n end: '=#',\n relevance: 10\n },\n {\n begin: '#',\n end: '$'\n }\n ]\n };\n\n DEFAULT.name = 'Julia';\n DEFAULT.contains = [\n NUMBER,\n CHAR,\n STRING,\n COMMAND,\n MACROCALL,\n COMMENT,\n hljs.HASH_COMMENT_MODE,\n {\n className: 'keyword',\n begin:\n '\\\\b(((abstract|primitive)\\\\s+)type|(mutable\\\\s+)?struct)\\\\b'\n },\n { begin: /<:/ } // relevance booster\n ];\n INTERPOLATION.contains = DEFAULT.contains;\n\n return DEFAULT;\n}\n\nexport { julia as default };\n","/*\nLanguage: Markdown\nRequires: xml.js\nAuthor: John Crepezzi \nWebsite: https://daringfireball.net/projects/markdown/\nCategory: common, markup\n*/\n\nfunction markdown(hljs) {\n const regex = hljs.regex;\n const INLINE_HTML = {\n begin: /<\\/?[A-Za-z_]/,\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n };\n // https://spec.commonmark.org/0.31.2/#thematic-breaks\n // three or more `-`, `*` or `_`, all the same character, optionally\n // separated and followed by spaces or tabs, and nothing else on the line\n const HORIZONTAL_RULE = { match: /^ {0,3}([-*_])[ \\t]*(?:\\1[ \\t]*){2,}$/ };\n const CODE = {\n className: 'code',\n variants: [\n // TODO: fix to allow these to work with sublanguage also\n { begin: '(`{3,})[^`](.|\\\\n)*?\\\\1`*[ ]*' },\n { begin: '(~{3,})[^~](.|\\\\n)*?\\\\1~*[ ]*' },\n // needed to allow markdown as a sublanguage to work\n {\n begin: '```',\n end: '```+[ ]*$'\n },\n {\n begin: '~~~',\n end: '~~~+[ ]*$'\n },\n { begin: '`.+?`' },\n {\n begin: '(?=^( {4}|\\\\t))',\n // use contains to gobble up multiple lines to allow the block to be whatever size\n // but only have a single open/close tag vs one per line\n contains: [\n {\n begin: '^( {4}|\\\\t)',\n end: '(\\\\n)$'\n }\n ],\n relevance: 0\n }\n ]\n };\n const LIST = {\n className: 'bullet',\n begin: '^[ \\t]*([*+-]|(\\\\d+\\\\.))(?=\\\\s+)',\n end: '\\\\s+',\n excludeEnd: true\n };\n const LINK_REFERENCE = {\n begin: /^\\[[^\\n]+\\]:/,\n returnBegin: true,\n contains: [\n {\n className: 'symbol',\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'link',\n begin: /:\\s*/,\n end: /$/,\n excludeBegin: true\n }\n ]\n };\n const URL_SCHEME = /[A-Za-z][A-Za-z0-9+.-]*/;\n const LINK = {\n variants: [\n // too much like nested array access in so many languages\n // to have any real relevance\n {\n begin: /\\[.+?\\]\\[.*?\\]/,\n relevance: 0\n },\n // popular internet URLs\n {\n begin: /\\[.+?\\]\\(((data|javascript|mailto):|(?:http|ftp)s?:\\/\\/).*?\\)/,\n relevance: 2\n },\n {\n begin: regex.concat(/\\[.+?\\]\\(/, URL_SCHEME, /:\\/\\/.*?\\)/),\n relevance: 2\n },\n // relative urls\n {\n begin: /\\[.+?\\]\\([./?&#].*?\\)/,\n relevance: 1\n },\n // whatever else, lower relevance (might not be a link at all)\n {\n begin: /\\[.*?\\]\\(.*?\\)/,\n relevance: 0\n }\n ],\n returnBegin: true,\n contains: [\n {\n // empty strings for alt or link text\n match: /\\[(?=\\])/ },\n {\n className: 'string',\n relevance: 0,\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n returnEnd: true\n },\n {\n className: 'link',\n relevance: 0,\n begin: '\\\\]\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'symbol',\n relevance: 0,\n begin: '\\\\]\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true\n }\n ]\n };\n const BOLD = {\n className: 'strong',\n contains: [], // defined later\n variants: [\n {\n begin: /_{2}(?!\\s)/,\n end: /_{2}/\n },\n {\n begin: /\\*{2}(?!\\s)/,\n end: /\\*{2}/\n }\n ]\n };\n const ITALIC = {\n className: 'emphasis',\n contains: [], // defined later\n variants: [\n {\n begin: /\\*(?![*\\s])/,\n end: /\\*/\n },\n {\n begin: /_(?![_\\s])/,\n end: /_/,\n relevance: 0\n }\n ]\n };\n\n // 3 level deep nesting is not allowed because it would create confusion\n // in cases like `***testing***` because where we don't know if the last\n // `***` is starting a new bold/italic or finishing the last one\n const BOLD_WITHOUT_ITALIC = hljs.inherit(BOLD, { contains: [] });\n const ITALIC_WITHOUT_BOLD = hljs.inherit(ITALIC, { contains: [] });\n BOLD.contains.push(ITALIC_WITHOUT_BOLD);\n ITALIC.contains.push(BOLD_WITHOUT_ITALIC);\n\n let CONTAINABLE = [\n INLINE_HTML,\n LINK\n ];\n\n [\n BOLD,\n ITALIC,\n BOLD_WITHOUT_ITALIC,\n ITALIC_WITHOUT_BOLD\n ].forEach(m => {\n m.contains = m.contains.concat(CONTAINABLE);\n });\n\n CONTAINABLE = CONTAINABLE.concat(BOLD, ITALIC);\n\n const HEADER = {\n className: 'section',\n variants: [\n {\n begin: '^#{1,6}',\n end: '$',\n contains: CONTAINABLE\n },\n {\n begin: '(?=^.+?\\\\n[=-]{2,}$)',\n contains: [\n { begin: '^[=-]*$' },\n {\n begin: '^',\n end: \"\\\\n\",\n contains: CONTAINABLE\n }\n ]\n }\n ]\n };\n\n const BLOCKQUOTE = {\n className: 'quote',\n begin: '^>\\\\s+',\n contains: CONTAINABLE,\n end: '$'\n };\n\n const ENTITY = {\n //https://spec.commonmark.org/0.31.2/#entity-references\n scope: 'literal',\n match: /&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/\n };\n\n return {\n name: 'Markdown',\n aliases: [\n 'md',\n 'mkdown',\n 'mkd'\n ],\n contains: [\n HEADER,\n INLINE_HTML,\n LIST,\n // must come before BOLD/ITALIC so that a `***` or `___` thematic break\n // isn't mistaken for the start of bold text\n HORIZONTAL_RULE,\n BOLD,\n ITALIC,\n BLOCKQUOTE,\n CODE,\n LINK,\n LINK_REFERENCE,\n ENTITY\n ]\n };\n}\n\nexport { markdown as default };\n","/*\nLanguage: Matlab\nAuthor: Denis Bardadym \nContributors: Eugene Nizhibitsky , Egor Rogov \nWebsite: https://www.mathworks.com/products/matlab.html\nCategory: scientific\n*/\n\n/*\n Formal syntax is not published, helpful link:\n https://github.com/kornilova-l/matlab-IntelliJ-plugin/blob/master/src/main/grammar/Matlab.bnf\n*/\nfunction matlab(hljs) {\n const TRANSPOSE_RE = '(\\'|\\\\.\\')+';\n const TRANSPOSE = {\n relevance: 0,\n contains: [ { begin: TRANSPOSE_RE } ]\n };\n\n return {\n name: 'Matlab',\n keywords: {\n keyword:\n 'arguments break case catch classdef continue else elseif end enumeration events for function '\n + 'global if methods otherwise parfor persistent properties return spmd switch try while',\n built_in:\n 'sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan '\n + 'atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot '\n + 'cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog '\n + 'realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal '\n + 'cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli '\n + 'besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma '\n + 'gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms '\n + 'nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones '\n + 'eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length '\n + 'ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril '\n + 'triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute '\n + 'shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan '\n + 'isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal '\n + 'rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table '\n + 'readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun '\n + 'legend intersect ismember procrustes hold num2cell '\n },\n illegal: '(//|\"|#|/\\\\*|\\\\s+/\\\\w+)',\n contains: [\n {\n className: 'function',\n beginKeywords: 'function',\n end: '$',\n contains: [\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'params',\n variants: [\n {\n begin: '\\\\(',\n end: '\\\\)'\n },\n {\n begin: '\\\\[',\n end: '\\\\]'\n }\n ]\n }\n ]\n },\n {\n className: 'built_in',\n begin: /true|false/,\n relevance: 0,\n starts: TRANSPOSE\n },\n {\n begin: '[a-zA-Z][a-zA-Z_0-9]*' + TRANSPOSE_RE,\n relevance: 0\n },\n {\n className: 'number',\n begin: hljs.C_NUMBER_RE,\n relevance: 0,\n starts: TRANSPOSE\n },\n {\n className: 'string',\n begin: '\\'',\n end: '\\'',\n contains: [ { begin: '\\'\\'' } ]\n },\n {\n begin: /\\]|\\}|\\)/,\n relevance: 0,\n starts: TRANSPOSE\n },\n {\n className: 'string',\n begin: '\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ],\n starts: TRANSPOSE\n },\n hljs.COMMENT('^\\\\s*%\\\\{\\\\s*$', '^\\\\s*%\\\\}\\\\s*$'),\n hljs.COMMENT('%', '$')\n ]\n };\n}\n\nexport { matlab as default };\n","/*\nLanguage: Plain text\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nDescription: Plain text without any highlighting.\nCategory: common\n*/\n\nfunction plaintext(hljs) {\n return {\n name: 'Plain text',\n aliases: [\n 'text',\n 'txt'\n ],\n disableAutodetect: true\n };\n}\n\nexport { plaintext as default };\n","/*\nLanguage: Python\nDescription: Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.\nWebsite: https://www.python.org\nCategory: common\n*/\n\nfunction python(hljs) {\n const regex = hljs.regex;\n const IDENT_RE = /[\\p{XID_Start}_]\\p{XID_Continue}*/u;\n const RESERVED_WORDS = [\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'case',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'lazy',\n 'match',\n 'nonlocal|10',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield'\n ];\n\n const BUILT_INS = [\n '__import__',\n 'abs',\n 'aiter',\n 'all',\n 'anext',\n 'any',\n 'ascii',\n 'bin',\n 'bool',\n 'breakpoint',\n 'bytearray',\n 'bytes',\n 'callable',\n 'chr',\n 'classmethod',\n 'compile',\n 'complex',\n 'delattr',\n 'dict',\n 'dir',\n 'divmod',\n 'enumerate',\n 'eval',\n 'exec',\n 'filter',\n 'float',\n 'format',\n 'frozendict',\n 'frozenset',\n 'getattr',\n 'globals',\n 'hasattr',\n 'hash',\n 'help',\n 'hex',\n 'id',\n 'input',\n 'int',\n 'isinstance',\n 'issubclass',\n 'iter',\n 'len',\n 'list',\n 'locals',\n 'map',\n 'max',\n 'memoryview',\n 'min',\n 'next',\n 'object',\n 'oct',\n 'open',\n 'ord',\n 'pow',\n 'print',\n 'property',\n 'range',\n 'repr',\n 'reversed',\n 'round',\n 'sentinel',\n 'set',\n 'setattr',\n 'slice',\n 'sorted',\n 'staticmethod',\n 'str',\n 'sum',\n 'super',\n 'tuple',\n 'type',\n 'vars',\n 'zip'\n ];\n\n const LITERALS = [\n '__debug__',\n 'Ellipsis',\n 'False',\n 'None',\n 'NotImplemented',\n 'True'\n ];\n\n // https://docs.python.org/3/library/typing.html\n // TODO: Could these be supplemented by a CamelCase matcher in certain\n // contexts, leaving these remaining only for relevance hinting?\n const TYPES = [\n \"Any\",\n \"Callable\",\n \"Coroutine\",\n \"Dict\",\n \"List\",\n \"Literal\",\n \"Generic\",\n \"Optional\",\n \"Sequence\",\n \"Set\",\n \"Tuple\",\n \"Type\",\n \"Union\"\n ];\n\n const KEYWORDS = {\n $pattern: /[A-Za-z]\\w+|__\\w+__/,\n keyword: RESERVED_WORDS,\n built_in: BUILT_INS,\n literal: LITERALS,\n type: TYPES\n };\n\n const PROMPT = {\n className: 'meta',\n begin: /^(>>>|\\.\\.\\.) /\n };\n\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS,\n illegal: /#/\n };\n\n const LITERAL_BRACKET = {\n begin: /\\{\\{/,\n relevance: 0\n };\n\n const STRING = {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fFtT][rR]|[rR][fFtT]|[fFtT])\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([uU]|[rR])'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /([uU]|[rR])\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])'/,\n end: /'/\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])\"/,\n end: /\"/\n },\n {\n begin: /([fFtT][rR]|[rR][fFtT]|[fFtT])'/,\n end: /'/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fFtT][rR]|[rR][fFtT]|[fFtT])\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n // https://docs.python.org/3.9/reference/lexical_analysis.html#numeric-literals\n const digitpart = '[0-9](_?[0-9])*';\n const pointfloat = `(\\\\b(${digitpart}))?\\\\.(${digitpart})|\\\\b(${digitpart})\\\\.`;\n // Whitespace after a number (or any lexical token) is needed only if its absence\n // would change the tokenization\n // https://docs.python.org/3.9/reference/lexical_analysis.html#whitespace-between-tokens\n // We deviate slightly, requiring a word boundary or a keyword\n // to avoid accidentally recognizing *prefixes* (e.g., `0` in `0x41` or `08` or `0__1`)\n const lookahead = `\\\\b|${RESERVED_WORDS.join('|')}`;\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // exponentfloat, pointfloat\n // https://docs.python.org/3.9/reference/lexical_analysis.html#floating-point-literals\n // optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n // Note: no leading \\b because floats can start with a decimal point\n // and we don't want to mishandle e.g. `fn(.5)`,\n // no trailing \\b for pointfloat because it can end with a decimal point\n // and we don't want to mishandle e.g. `0..hex()`; this should be safe\n // because both MUST contain a decimal point and so cannot be confused with\n // the interior part of an identifier\n {\n begin: `(\\\\b(${digitpart})|(${pointfloat}))[eE][+-]?(${digitpart})[jJ]?(?=${lookahead})`\n },\n {\n begin: `(${pointfloat})[jJ]?`\n },\n\n // decinteger, bininteger, octinteger, hexinteger\n // https://docs.python.org/3.9/reference/lexical_analysis.html#integer-literals\n // optionally \"long\" in Python 2\n // https://docs.python.org/2.7/reference/lexical_analysis.html#integer-and-long-integer-literals\n // decinteger is optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[bB](_?[01])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[oO](_?[0-7])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${lookahead})`\n },\n\n // imagnumber (digitpart-based)\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b(${digitpart})[jJ](?=${lookahead})`\n }\n ]\n };\n const COMMENT_TYPE = {\n className: \"comment\",\n begin: regex.lookahead(/# type:/),\n end: /$/,\n keywords: KEYWORDS,\n contains: [\n { // prevent keywords from coloring `type`\n begin: /# type:/\n },\n // comment within a datatype comment includes no keywords\n {\n begin: /#/,\n end: /\\b\\B/,\n endsWithParent: true\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n variants: [\n // Exclude params in functions without params\n {\n className: \"\",\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n PROMPT,\n NUMBER,\n STRING,\n hljs.HASH_COMMENT_MODE\n ]\n }\n ]\n };\n SUBST.contains = [\n STRING,\n NUMBER,\n PROMPT\n ];\n\n return {\n name: 'Python',\n aliases: [\n 'py',\n 'gyp',\n 'ipython'\n ],\n unicodeRegex: true,\n keywords: KEYWORDS,\n illegal: /(<\\/|\\?)|=>/,\n contains: [\n PROMPT,\n NUMBER,\n {\n // very common convention\n scope: 'variable.language',\n match: /\\bself\\b/\n },\n {\n // eat \"if\" prior to string so that it won't accidentally be\n // labeled as an f-string\n beginKeywords: \"if\",\n relevance: 0\n },\n { match: /\\bor\\b/, scope: \"keyword\" },\n STRING,\n COMMENT_TYPE,\n hljs.HASH_COMMENT_MODE,\n {\n match: [\n /\\bdef/, /\\s+/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [ PARAMS ]\n },\n {\n variants: [\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE, /\\s*/,\n /\\(\\s*/, IDENT_RE,/\\s*\\)/\n ],\n },\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE\n ],\n }\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 6: \"title.class.inherited\",\n }\n },\n {\n className: 'meta',\n begin: /^[\\t ]*@/,\n end: /(?=#)|$/,\n contains: [\n NUMBER,\n PARAMS,\n STRING\n ]\n }\n ]\n };\n}\n\nexport { python as default };\n","/*\nLanguage: R\nDescription: R is a free software environment for statistical computing and graphics.\nAuthor: Joe Cheng \nContributors: Konrad Rudolph \nWebsite: https://www.r-project.org\nCategory: common,scientific\n*/\n\n/** @type LanguageFn */\nfunction r(hljs) {\n const regex = hljs.regex;\n // Identifiers in R cannot start with `_`, but they can start with `.` if it\n // is not immediately followed by a digit.\n // R also supports quoted identifiers, which are near-arbitrary sequences\n // delimited by backticks (`…`), which may contain escape sequences. These are\n // handled in a separate mode. See `test/markup/r/names.txt` for examples.\n // FIXME: Support Unicode identifiers.\n const IDENT_RE = /(?:(?:[a-zA-Z]|\\.[._a-zA-Z])[._a-zA-Z0-9]*)|\\.(?!\\d)/;\n const NUMBER_TYPES_RE = regex.either(\n // Special case: only hexadecimal binary powers can contain fractions\n /0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*[pP][+-]?\\d+i?/,\n // Hexadecimal numbers without fraction and optional binary power\n /0[xX][0-9a-fA-F]+(?:[pP][+-]?\\d+)?[Li]?/,\n // Decimal numbers\n /(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?[Li]?/\n );\n const OPERATORS_RE = /[=!<>:]=|\\|\\||&&|:::?|<-|<<-|->>|->|\\|>|[-+*\\/?!$&|:<=>@^~]|\\*\\*/;\n const PUNCTUATION_RE = regex.either(\n /[()]/,\n /[{}]/,\n /\\[\\[/,\n /[[\\]]/,\n /\\\\/,\n /,/\n );\n\n return {\n name: 'R',\n\n keywords: {\n $pattern: IDENT_RE,\n keyword:\n 'function if in break next repeat else for while',\n literal:\n 'NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 '\n + 'NA_character_|10 NA_complex_|10',\n built_in:\n // Builtin constants\n 'LETTERS letters month.abb month.name pi T F '\n // Primitive functions\n // These are all the functions in `base` that are implemented as a\n // `.Primitive`, minus those functions that are also keywords.\n + 'abs acos acosh all any anyNA Arg as.call as.character '\n + 'as.complex as.double as.environment as.integer as.logical '\n + 'as.null.default as.numeric as.raw asin asinh atan atanh attr '\n + 'attributes baseenv browser c call ceiling class Conj cos cosh '\n + 'cospi cummax cummin cumprod cumsum digamma dim dimnames '\n + 'emptyenv exp expression floor forceAndCall gamma gc.time '\n + 'globalenv Im interactive invisible is.array is.atomic is.call '\n + 'is.character is.complex is.double is.environment is.expression '\n + 'is.finite is.function is.infinite is.integer is.language '\n + 'is.list is.logical is.matrix is.na is.name is.nan is.null '\n + 'is.numeric is.object is.pairlist is.raw is.recursive is.single '\n + 'is.symbol lazyLoadDBfetch length lgamma list log max min '\n + 'missing Mod names nargs nzchar oldClass on.exit pos.to.env '\n + 'proc.time prod quote range Re rep retracemem return round '\n + 'seq_along seq_len seq.int sign signif sin sinh sinpi sqrt '\n + 'standardGeneric substitute sum switch tan tanh tanpi tracemem '\n + 'trigamma trunc unclass untracemem UseMethod xtfrm',\n },\n\n contains: [\n // Roxygen comments\n hljs.COMMENT(\n /#'/,\n /$/,\n { contains: [\n {\n // Handle `@examples` separately to cause all subsequent code\n // until the next `@`-tag on its own line to be kept as-is,\n // preventing highlighting. This code is example R code, so nested\n // doctags shouldn’t be treated as such. See\n // `test/markup/r/roxygen.txt` for an example.\n scope: 'doctag',\n match: /@examples/,\n starts: {\n end: regex.lookahead(regex.either(\n // end if another doc comment\n /\\n^#'\\s*(?=@[a-zA-Z]+)/,\n // or a line with no comment\n /\\n^(?!#')/\n )),\n endsParent: true\n }\n },\n {\n // Handle `@param` to highlight the parameter name following\n // after.\n scope: 'doctag',\n begin: '@param',\n end: /$/,\n contains: [\n {\n scope: 'variable',\n variants: [\n { match: IDENT_RE },\n { match: /`(?:\\\\.|[^`\\\\])+`/ }\n ],\n endsParent: true\n }\n ]\n },\n {\n scope: 'doctag',\n match: /@[a-zA-Z]+/\n },\n {\n scope: 'keyword',\n match: /\\\\[a-zA-Z]+/\n }\n ] }\n ),\n\n hljs.HASH_COMMENT_MODE,\n\n {\n scope: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\(/,\n end: /\\)(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\{/,\n end: /\\}(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\[/,\n end: /\\](-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\(/,\n end: /\\)(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\{/,\n end: /\\}(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\[/,\n end: /\\](-*)'/\n }),\n {\n begin: '\"',\n end: '\"',\n relevance: 0\n },\n {\n begin: \"'\",\n end: \"'\",\n relevance: 0\n }\n ],\n },\n\n // Matching numbers immediately following punctuation and operators is\n // tricky since we need to look at the character ahead of a number to\n // ensure the number is not part of an identifier, and we cannot use\n // negative look-behind assertions. So instead we explicitly handle all\n // possible combinations of (operator|punctuation), number.\n // TODO: replace with negative look-behind when available\n // { begin: /(?\nContributors: Peter Leonov , Vasily Polovnyov , Loren Segal , Pascal Hurni , Cedric Sohrauer \nCategory: common, scripting\n*/\n\nfunction ruby(hljs) {\n const regex = hljs.regex;\n const RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n // TODO: move concepts like CAMEL_CASE into `modes.js`\n const CLASS_NAME_RE = regex.either(\n /\\b([A-Z]+[a-z0-9]+)+/,\n // ends in caps\n /\\b([A-Z]+[a-z0-9]+)+[A-Z]+/,\n )\n ;\n const CLASS_NAME_WITH_NAMESPACE_RE = regex.concat(CLASS_NAME_RE, /(::\\w+)*/);\n // very popular ruby built-ins that one might even assume\n // are actual keywords (despite that not being the case)\n const PSEUDO_KWS = [\n \"include\",\n \"extend\",\n \"prepend\",\n \"public\",\n \"private\",\n \"protected\",\n \"raise\",\n \"throw\"\n ];\n const RUBY_KEYWORDS = {\n \"variable.constant\": [\n \"__FILE__\",\n \"__LINE__\",\n \"__ENCODING__\"\n ],\n \"variable.language\": [\n \"self\",\n \"super\",\n ],\n keyword: [\n \"alias\",\n \"and\",\n \"begin\",\n \"BEGIN\",\n \"break\",\n \"case\",\n \"class\",\n \"defined\",\n \"do\",\n \"else\",\n \"elsif\",\n \"end\",\n \"END\",\n \"ensure\",\n \"for\",\n \"if\",\n \"in\",\n \"module\",\n \"next\",\n \"not\",\n \"or\",\n \"redo\",\n \"require\",\n \"rescue\",\n \"retry\",\n \"return\",\n \"then\",\n \"undef\",\n \"unless\",\n \"until\",\n \"when\",\n \"while\",\n \"yield\",\n ...PSEUDO_KWS\n ],\n built_in: [\n \"proc\",\n \"lambda\",\n \"attr_accessor\",\n \"attr_reader\",\n \"attr_writer\",\n \"define_method\",\n \"private_constant\",\n \"module_function\"\n ],\n literal: [\n \"true\",\n \"false\",\n \"nil\"\n ]\n };\n const YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n const IRB_OBJECT = {\n begin: '#<',\n end: '>'\n };\n const COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n { contains: [ YARDOCTAG ] }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [ YARDOCTAG ],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', hljs.MATCH_NOTHING_RE)\n ];\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: /%[qQwWx]?\\(/,\n end: /\\)/\n },\n {\n begin: /%[qQwWx]?\\[/,\n end: /\\]/\n },\n {\n begin: /%[qQwWx]?\\{/,\n end: /\\}/\n },\n {\n begin: /%[qQwWx]?/\n },\n {\n begin: /%[qQwWx]?\\//,\n end: /\\//\n },\n {\n begin: /%[qQwWx]?%/,\n end: /%/\n },\n {\n begin: /%[qQwWx]?-/,\n end: /-/\n },\n {\n begin: /%[qQwWx]?\\|/,\n end: /\\|/\n },\n // in the following expressions, \\B in the beginning suppresses recognition of ?-sequences\n // where ? is the last character of a preceding identifier, as in: `func?4`\n { begin: /\\B\\?(\\\\\\d{1,3})/ },\n { begin: /\\B\\?(\\\\x[A-Fa-f0-9]{1,2})/ },\n { begin: /\\B\\?(\\\\u\\{?[A-Fa-f0-9]{1,6}\\}?)/ },\n { begin: /\\B\\?(\\\\M-\\\\C-|\\\\M-\\\\c|\\\\c\\\\M-|\\\\M-|\\\\C-\\\\M-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\(c|C-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\?\\S/ },\n // heredocs\n {\n // this guard makes sure that we have an entire heredoc and not a false\n // positive (auto-detect, etc.)\n begin: regex.concat(\n /<<[-~]?'?/,\n regex.lookahead(/(\\w+)(?=\\W)[^\\n]*\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/)\n ),\n contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n const decimal = '[1-9](_?[0-9])*|0';\n const digits = '[0-9](_?[0-9])*';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n { begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b` },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n { begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\" },\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\" },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n { begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\" }\n ]\n };\n\n const PARAMS = {\n variants: [\n {\n match: /\\(\\)/,\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /(?=\\))/,\n excludeBegin: true,\n endsParent: true,\n keywords: RUBY_KEYWORDS,\n }\n ]\n };\n\n const INCLUDE_EXTEND = {\n match: [\n /(include|extend)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ],\n scope: {\n 2: \"title.class\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const CLASS_DEFINITION = {\n variants: [\n {\n match: [\n /class\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\s+<\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n },\n {\n match: [\n /\\b(class|module)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n }\n ],\n scope: {\n 2: \"title.class\",\n 4: \"title.class.inherited\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n const METHOD_DEFINITION = {\n match: [\n /def/, /\\s+/,\n RUBY_METHOD_RE\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n const OBJECT_CREATION = {\n relevance: 0,\n match: [\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\.new[. (]/\n ],\n scope: {\n 1: \"title.class\"\n }\n };\n\n // CamelCase\n const CLASS_REFERENCE = {\n relevance: 0,\n match: CLASS_NAME_RE,\n scope: \"title.class\"\n };\n\n const RUBY_DEFAULT_CONTAINS = [\n STRING,\n CLASS_DEFINITION,\n INCLUDE_EXTEND,\n OBJECT_CREATION,\n UPPER_CASE_CONSTANT,\n CLASS_REFERENCE,\n METHOD_DEFINITION,\n {\n // swallow the scope resolution operator so `::` is not read as a symbol\n begin: '::'\n },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [\n STRING,\n { begin: RUBY_METHOD_RE }\n ],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attempts to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|(?!=)/,\n end: /\\|/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n illegal: /\\n/,\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: /%r\\{/,\n end: /\\}[a-z]*/\n },\n {\n begin: '%r\\\\(',\n end: '\\\\)[a-z]*'\n },\n {\n begin: '%r!',\n end: '![a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n const SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n const DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+[>*]\";\n const RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n const IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$',\n contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta.prompt',\n begin: '^(' + SIMPLE_PROMPT + \"|\" + DEFAULT_PROMPT + '|' + RVM_PROMPT + ')(?=[ ])',\n starts: {\n end: '$',\n keywords: RUBY_KEYWORDS,\n contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: [\n 'rb',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb'\n ],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [ hljs.SHEBANG({ binary: \"ruby\" }) ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\nexport { ruby as default };\n","/*\nLanguage: Shell Session\nRequires: bash.js\nAuthor: TSUYUSATO Kitsune \nCategory: common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction shell(hljs) {\n return {\n name: 'Shell Session',\n aliases: [\n 'console',\n 'shellsession'\n ],\n contains: [\n {\n className: 'meta.prompt',\n // We cannot add \\s (spaces) in the regular expression otherwise it will be too broad and produce unexpected result.\n // For instance, in the following example, it would match \"echo /path/to/home >\" as a prompt:\n // echo /path/to/home > t.exe\n begin: /^\\s{0,3}[./~\\w\\d[\\]()@-]*[>%$#][ ]?/,\n starts: {\n end: /[^\\\\](?=\\s*$)/,\n subLanguage: 'bash'\n }\n }\n ]\n };\n}\n\nexport { shell as default };\n","/*\n Language: SQL\n Website: https://en.wikipedia.org/wiki/SQL\n Category: common, database\n */\n\n/*\n\nGoals:\n\nSQL is intended to highlight basic/common SQL keywords and expressions\n\n- If pretty much every single SQL server includes supports, then it's a canidate.\n- It is NOT intended to include tons of vendor specific keywords (Oracle, MySQL,\n PostgreSQL) although the list of data types is purposely a bit more expansive.\n- For more specific SQL grammars please see:\n - PostgreSQL and PL/pgSQL - core\n - T-SQL - https://github.com/highlightjs/highlightjs-tsql\n - sql_more (core)\n\n */\n\nfunction sql(hljs) {\n const regex = hljs.regex;\n const COMMENT_MODE = hljs.COMMENT('--', '$');\n const STRING = {\n scope: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/,\n contains: [ { match: /''/ } ]\n }\n ]\n };\n const QUOTED_IDENTIFIER = {\n begin: /\"/,\n end: /\"/,\n contains: [ { match: /\"\"/ } ]\n };\n\n const LITERALS = [\n \"true\",\n \"false\",\n // Not sure it's correct to call NULL literal, and clauses like IS [NOT] NULL look strange that way.\n // \"null\",\n \"unknown\"\n ];\n\n const MULTI_WORD_TYPES = [\n \"double precision\",\n \"large object\",\n \"with timezone\",\n \"without timezone\"\n ];\n\n const TYPES = [\n 'bigint',\n 'binary',\n 'blob',\n 'boolean',\n 'char',\n 'character',\n 'clob',\n 'date',\n 'dec',\n 'decfloat',\n 'decimal',\n 'float',\n 'int',\n 'integer',\n 'interval',\n 'nchar',\n 'nclob',\n 'national',\n 'numeric',\n 'real',\n 'row',\n 'smallint',\n 'time',\n 'timestamp',\n 'varchar',\n 'varying', // modifier (character varying)\n 'varbinary'\n ];\n\n const NON_RESERVED_WORDS = [\n \"add\",\n \"asc\",\n \"collation\",\n \"desc\",\n \"final\",\n \"first\",\n \"last\",\n \"view\"\n ];\n\n // https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#reserved-word\n const RESERVED_WORDS = [\n \"abs\",\n \"acos\",\n \"all\",\n \"allocate\",\n \"alter\",\n \"and\",\n \"any\",\n \"are\",\n \"array\",\n \"array_agg\",\n \"array_max_cardinality\",\n \"as\",\n \"asensitive\",\n \"asin\",\n \"asymmetric\",\n \"at\",\n \"atan\",\n \"atomic\",\n \"authorization\",\n \"avg\",\n \"begin\",\n \"begin_frame\",\n \"begin_partition\",\n \"between\",\n \"bigint\",\n \"binary\",\n \"blob\",\n \"boolean\",\n \"both\",\n \"by\",\n \"call\",\n \"called\",\n \"cardinality\",\n \"cascaded\",\n \"case\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"char\",\n \"char_length\",\n \"character\",\n \"character_length\",\n \"check\",\n \"classifier\",\n \"clob\",\n \"close\",\n \"coalesce\",\n \"collate\",\n \"collect\",\n \"column\",\n \"commit\",\n \"condition\",\n \"connect\",\n \"constraint\",\n \"contains\",\n \"convert\",\n \"copy\",\n \"corr\",\n \"corresponding\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"create\",\n \"cross\",\n \"cube\",\n \"cume_dist\",\n \"current\",\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_row\",\n \"current_schema\",\n \"current_time\",\n \"current_timestamp\",\n \"current_path\",\n \"current_role\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"cursor\",\n \"cycle\",\n \"date\",\n \"day\",\n \"deallocate\",\n \"dec\",\n \"decimal\",\n \"decfloat\",\n \"declare\",\n \"default\",\n \"define\",\n \"delete\",\n \"dense_rank\",\n \"deref\",\n \"describe\",\n \"deterministic\",\n \"disconnect\",\n \"distinct\",\n \"double\",\n \"drop\",\n \"dynamic\",\n \"each\",\n \"element\",\n \"else\",\n \"empty\",\n \"end\",\n \"end_frame\",\n \"end_partition\",\n \"end-exec\",\n \"equals\",\n \"escape\",\n \"every\",\n \"except\",\n \"exec\",\n \"execute\",\n \"exists\",\n \"exp\",\n \"external\",\n \"extract\",\n \"false\",\n \"fetch\",\n \"filter\",\n \"first_value\",\n \"float\",\n \"floor\",\n \"for\",\n \"foreign\",\n \"frame_row\",\n \"free\",\n \"from\",\n \"full\",\n \"function\",\n \"fusion\",\n \"get\",\n \"global\",\n \"grant\",\n \"group\",\n \"grouping\",\n \"groups\",\n \"having\",\n \"hold\",\n \"hour\",\n \"identity\",\n \"in\",\n \"indicator\",\n \"initial\",\n \"inner\",\n \"inout\",\n \"insensitive\",\n \"insert\",\n \"int\",\n \"integer\",\n \"intersect\",\n \"intersection\",\n \"interval\",\n \"into\",\n \"is\",\n \"join\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"language\",\n \"large\",\n \"last_value\",\n \"lateral\",\n \"lead\",\n \"leading\",\n \"left\",\n \"like\",\n \"like_regex\",\n \"listagg\",\n \"ln\",\n \"local\",\n \"localtime\",\n \"localtimestamp\",\n \"log\",\n \"log10\",\n \"lower\",\n \"match\",\n \"match_number\",\n \"match_recognize\",\n \"matches\",\n \"max\",\n \"member\",\n \"merge\",\n \"method\",\n \"min\",\n \"minute\",\n \"mod\",\n \"modifies\",\n \"module\",\n \"month\",\n \"multiset\",\n \"national\",\n \"natural\",\n \"nchar\",\n \"nclob\",\n \"new\",\n \"no\",\n \"none\",\n \"normalize\",\n \"not\",\n \"nth_value\",\n \"ntile\",\n \"null\",\n \"nullif\",\n \"numeric\",\n \"octet_length\",\n \"occurrences_regex\",\n \"of\",\n \"offset\",\n \"old\",\n \"omit\",\n \"on\",\n \"one\",\n \"only\",\n \"open\",\n \"or\",\n \"order\",\n \"out\",\n \"outer\",\n \"over\",\n \"overlaps\",\n \"overlay\",\n \"parameter\",\n \"partition\",\n \"pattern\",\n \"per\",\n \"percent\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"period\",\n \"portion\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"precedes\",\n \"precision\",\n \"prepare\",\n \"primary\",\n \"procedure\",\n \"ptf\",\n \"range\",\n \"rank\",\n \"reads\",\n \"real\",\n \"recursive\",\n \"ref\",\n \"references\",\n \"referencing\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"release\",\n \"result\",\n \"return\",\n \"returns\",\n \"revoke\",\n \"right\",\n \"rollback\",\n \"rollup\",\n \"row\",\n \"row_number\",\n \"rows\",\n \"running\",\n \"savepoint\",\n \"scope\",\n \"scroll\",\n \"search\",\n \"second\",\n \"seek\",\n \"select\",\n \"sensitive\",\n \"session_user\",\n \"set\",\n \"show\",\n \"similar\",\n \"sin\",\n \"sinh\",\n \"skip\",\n \"smallint\",\n \"some\",\n \"specific\",\n \"specifictype\",\n \"sql\",\n \"sqlexception\",\n \"sqlstate\",\n \"sqlwarning\",\n \"sqrt\",\n \"start\",\n \"static\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"submultiset\",\n \"subset\",\n \"substring\",\n \"substring_regex\",\n \"succeeds\",\n \"sum\",\n \"symmetric\",\n \"system\",\n \"system_time\",\n \"system_user\",\n \"table\",\n \"tablesample\",\n \"tan\",\n \"tanh\",\n \"then\",\n \"time\",\n \"timestamp\",\n \"timezone_hour\",\n \"timezone_minute\",\n \"to\",\n \"trailing\",\n \"translate\",\n \"translate_regex\",\n \"translation\",\n \"treat\",\n \"trigger\",\n \"trim\",\n \"trim_array\",\n \"true\",\n \"truncate\",\n \"uescape\",\n \"union\",\n \"unique\",\n \"unknown\",\n \"unnest\",\n \"update\",\n \"upper\",\n \"user\",\n \"using\",\n \"value\",\n \"values\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"varbinary\",\n \"varchar\",\n \"varying\",\n \"versioning\",\n \"when\",\n \"whenever\",\n \"where\",\n \"width_bucket\",\n \"window\",\n \"with\",\n \"within\",\n \"without\",\n \"year\",\n ];\n\n // these are reserved words we have identified to be functions\n // and should only be highlighted in a dispatch-like context\n // ie, array_agg(...), etc.\n const RESERVED_FUNCTIONS = [\n \"abs\",\n \"acos\",\n \"array_agg\",\n \"asin\",\n \"atan\",\n \"avg\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"coalesce\",\n \"corr\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"cume_dist\",\n \"dense_rank\",\n \"deref\",\n \"element\",\n \"exp\",\n \"extract\",\n \"first_value\",\n \"floor\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"last_value\",\n \"lead\",\n \"listagg\",\n \"ln\",\n \"log\",\n \"log10\",\n \"lower\",\n \"max\",\n \"min\",\n \"mod\",\n \"nth_value\",\n \"ntile\",\n \"nullif\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"rank\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"row_number\",\n \"sin\",\n \"sinh\",\n \"sqrt\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"substring\",\n \"substring_regex\",\n \"sum\",\n \"tan\",\n \"tanh\",\n \"translate\",\n \"translate_regex\",\n \"treat\",\n \"trim\",\n \"trim_array\",\n \"unnest\",\n \"upper\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"width_bucket\",\n ];\n\n // these functions can\n const POSSIBLE_WITHOUT_PARENS = [\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_schema\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"session_user\",\n \"system_time\",\n \"system_user\",\n \"current_time\",\n \"localtime\",\n \"current_timestamp\",\n \"localtimestamp\"\n ];\n\n // those exist to boost relevance making these very\n // \"SQL like\" keyword combos worth +1 extra relevance\n const COMBOS = [\n \"create table\",\n \"insert into\",\n \"primary key\",\n \"foreign key\",\n \"not null\",\n \"alter table\",\n \"add constraint\",\n \"grouping sets\",\n \"on overflow\",\n \"character set\",\n \"respect nulls\",\n \"ignore nulls\",\n \"nulls first\",\n \"nulls last\",\n \"depth first\",\n \"breadth first\"\n ];\n\n const FUNCTIONS = RESERVED_FUNCTIONS;\n\n const KEYWORDS = [\n ...RESERVED_WORDS,\n ...NON_RESERVED_WORDS\n ].filter((keyword) => {\n return !RESERVED_FUNCTIONS.includes(keyword);\n });\n\n const VARIABLE = {\n scope: \"variable\",\n match: /@[a-z0-9][a-z0-9_]*/,\n };\n\n const OPERATOR = {\n scope: \"operator\",\n match: /[-+*/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,\n relevance: 0,\n };\n\n const FUNCTION_CALL = {\n match: regex.concat(/\\b/, regex.either(...FUNCTIONS), /\\s*\\(/),\n relevance: 0,\n keywords: { built_in: FUNCTIONS }\n };\n\n // turns a multi-word keyword combo into a regex that doesn't\n // care about extra whitespace etc.\n // input: \"START QUERY\"\n // output: /\\bSTART\\s+QUERY\\b/\n function kws_to_regex(list) {\n return regex.concat(\n /\\b/,\n regex.either(...list.map((kw) => {\n return kw.replace(/\\s+/, \"\\\\s+\")\n })),\n /\\b/\n )\n }\n\n const MULTI_WORD_KEYWORDS = {\n scope: \"keyword\",\n match: kws_to_regex(COMBOS),\n relevance: 0,\n };\n\n // keywords with less than 3 letters are reduced in relevancy\n function reduceRelevancy(list, {\n exceptions, when\n } = {}) {\n const qualifyFn = when;\n exceptions = exceptions || [];\n return list.map((item) => {\n if (item.match(/\\|\\d+$/) || exceptions.includes(item)) {\n return item;\n } else if (qualifyFn(item)) {\n return `${item}|0`;\n } else {\n return item;\n }\n });\n }\n\n return {\n name: 'SQL',\n case_insensitive: true,\n // does not include {} or HTML tags ` x.length < 3 }),\n literal: LITERALS,\n type: TYPES,\n built_in: POSSIBLE_WITHOUT_PARENS\n },\n contains: [\n {\n scope: \"type\",\n match: kws_to_regex(MULTI_WORD_TYPES)\n },\n MULTI_WORD_KEYWORDS,\n FUNCTION_CALL,\n VARIABLE,\n STRING,\n QUOTED_IDENTIFIER,\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n OPERATOR\n ]\n };\n}\n\nexport { sql as default };\n","/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: 'css'\n }\n },\n {\n className: 'tag',\n // See the comment in the \n \n );\n};\n\nexport default GraphSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\nconst CubeSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n /* eslint-disable no-magic-numbers */\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default CubeSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst CircleSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default CircleSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DotSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default DotSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DefaultSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default DefaultSpinner;\n","import {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {type} from 'ramda';\n\nimport {History} from '@plotly/dash-component-plugins';\n\n/**\n * Update and track the current window.location object through the window.history state.\n * Use in conjunction with the `dash_core_components.Link` component to make apps with multiple pages.\n */\nexport default class Location extends Component {\n constructor(props) {\n super(props);\n this.updateLocation = this.updateLocation.bind(this);\n this.onLocationChange = this.onLocationChange.bind(this);\n }\n\n updateLocation(props) {\n const {hash, href, pathname, refresh, search, setProps} = props;\n\n // Keep track of props relating to window.location that may need to be updated via setProps\n const propsToSet = {};\n\n /**\n * Check if the field exists in props. If the prop with \"fieldName\" is not defined,\n * then it was not set by the user and needs to be equal to the value in window.location.\n * This only happens on page load (since props will no longer be undefined after componentDidMount).\n *\n * @param {string} fieldName\n * The name of the prop in window.location and in the component's prop\n *\n * @returns {boolean}\n * Returns true if the prop with fieldName is different and the window state needs to be updated\n */\n const checkExistsUpdateWindowLocation = fieldName => {\n const propVal = props[fieldName];\n\n if (\n (type(propVal) === 'Undefined' || propVal === null) &&\n type(window.location[fieldName]) !== 'Undefined'\n ) {\n // propVal is undefined or null, but window.location has this fieldName defined\n propsToSet[fieldName] = window.location[fieldName];\n } else if (propVal !== window.location[fieldName]) {\n // Prop has changed?\n if (refresh === true) {\n // Refresh the page?\n if (\n fieldName === 'href' &&\n window.dash_clientside.clean_url(propVal) !== propVal\n ) {\n setProps({\n _dash_error: new Error(\n `Dangerous link detected: ${propVal}`\n ),\n });\n return false;\n }\n window.location[fieldName] = propVal;\n } else if (this.props[fieldName] !== propVal) {\n // If this prop has changed, need to setProps\n propsToSet[fieldName] = propVal;\n // This (`${fieldName}`: propVal) needs to be pushed in the window.history\n return true;\n }\n }\n // This (`${fieldName}`: propVal) DOES NOT need to be pushed in the window.history\n return false;\n };\n\n // Check if the prop value needs to be updated (note that this mutates propsToSet)\n const pathnameUpdated = checkExistsUpdateWindowLocation('pathname');\n const hrefUpdated = checkExistsUpdateWindowLocation('href');\n const hashUpdated = checkExistsUpdateWindowLocation('hash');\n const searchUpdated = checkExistsUpdateWindowLocation('search');\n\n // propsToSet has been updated -- batch update to Dash\n if (Object.keys(propsToSet).length > 0) {\n setProps(propsToSet);\n }\n\n // Special case -- overrides everything!\n if (hrefUpdated) {\n window.history.pushState({}, '', href);\n if (refresh === 'callback-nav') {\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n } else if (pathnameUpdated || hashUpdated || searchUpdated) {\n // Otherwise, we can mash everything together\n const searchVal = type(search) !== 'Undefined' ? search : '';\n const hashVal = type(hash) !== 'Undefined' ? hash : '';\n window.history.pushState(\n {},\n '',\n `${pathname}${searchVal}${hashVal}`\n );\n if (refresh === 'callback-nav') {\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n }\n }\n\n onLocationChange() {\n const {setProps} = this.props;\n const propsToChange = {};\n\n if (this.props.pathname !== window.location.pathname) {\n propsToChange.pathname = window.location.pathname;\n }\n if (this.props.href !== window.location.href) {\n propsToChange.href = window.location.href;\n }\n if (this.props.hash !== window.location.hash) {\n propsToChange.hash = window.location.hash;\n }\n if (this.props.search !== window.location.search) {\n propsToChange.search = window.location.search;\n }\n\n setProps(propsToChange);\n\n History.dispatchChangeEvent();\n }\n\n componentDidMount() {\n window.addEventListener('popstate', this.onLocationChange);\n\n window.addEventListener(\n '_dashprivate_pushstate',\n this.onLocationChange\n );\n this.updateLocation(this.props);\n }\n\n componentWillUnmount() {\n window.removeEventListener('popstate', this.onLocationChange);\n window.removeEventListener(\n '_dashprivate_pushstate',\n this.onLocationChange\n );\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateLocation(nextProps);\n }\n\n render() {\n return null;\n }\n}\n\nLocation.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string.isRequired,\n\n /** pathname in window.location - e.g., \"/my/full/pathname\" */\n pathname: PropTypes.string,\n /** search in window.location - e.g., \"?myargument=1\" */\n search: PropTypes.string,\n /** hash in window.location - e.g., \"#myhash\" */\n hash: PropTypes.string,\n /** href in window.location - e.g., \"/my/full/pathname?myargument=1#myhash\" */\n href: PropTypes.string,\n\n /**\n * Use `True` to navigate outside the Dash app or to manually refresh a page.\n * Use `False` if the same callback that updates the Location component is also\n * updating the page content - typically used in multi-page apps that do not use Pages.\n * Use 'callback-nav' if you are updating the URL in a callback, or a different\n * callback will respond to the new Location with updated content. This is\n * typical with multi-page apps that use Pages. This will allow for\n * navigating to a new page without refreshing the page.\n */\n refresh: PropTypes.oneOfType([\n PropTypes.oneOf(['callback-nav']),\n PropTypes.bool,\n ]),\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n\nLocation.defaultProps = {\n refresh: true,\n};\n","export default () =>\n import(/* webpackChunkName: \"markdown\" */ '../../fragments/Markdown');\n","import React, {lazy, Suspense, useEffect} from 'react';\nimport {MarkdownProps} from '../types';\nimport markdown from '../utils/LazyLoader/markdown';\nimport lazyLoadMathJax from '../utils/LazyLoader/third-party/mathjax';\n\nconst RealMarkdown = lazy(markdown);\n\n/**\n * A component that renders Markdown text as specified by the\n * GitHub Markdown spec. These component uses\n * [react-markdown](https://github.com/remarkjs/react-markdown) under the hood.\n */\nexport default function Markdown({\n mathjax = false,\n dangerously_allow_html = false,\n dedent = true,\n ...props\n}: MarkdownProps) {\n useEffect(() => {\n if (mathjax) {\n lazyLoadMathJax();\n }\n }, [mathjax]);\n\n return (\n \n \n \n );\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./radioitems.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./radioitems.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {useMemo} from 'react';\nimport {RadioItemsProps, PersistedProps, PersistenceTypes} from '../types';\nimport './css/radioitems.css';\n\nimport {sanitizeOptions} from '../utils/optionTypes';\nimport LoadingElement from '../utils/_LoadingElement';\nimport {OptionsList} from '../utils/optionRendering';\nimport {isNil} from 'ramda';\n\n/**\n * RadioItems is a component that encapsulates several radio item inputs.\n * The values and labels of the RadioItems is specified in the `options`\n * property and the seleced item is specified with the `value` property.\n * Each radio item is rendered as an input with a surrounding label.\n */\nexport default function RadioItems({\n className,\n id,\n style,\n setProps,\n value,\n inputStyle = {},\n inputClassName = '',\n labelStyle = {},\n labelClassName = '',\n options = [],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n inline = false,\n}: RadioItemsProps) {\n const sanitizedOptions = useMemo(() => {\n return sanitizeOptions(options).options;\n }, [options]);\n\n const stylingProps = {\n id,\n className: 'dash-radioitems ' + (className ?? ''),\n style,\n optionClassName: inline ? 'dash-radioitems-inline' : undefined,\n inputStyle,\n inputClassName,\n labelStyle,\n labelClassName,\n };\n\n return (\n \n {loadingProps => (\n {\n if (selection.length) {\n setProps({value: selection[selection.length - 1]});\n }\n }}\n {...stylingProps}\n />\n )}\n \n );\n}\n\nRadioItems.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","export default () =>\n import(/* webpackChunkName: \"slider\" */ '../../fragments/RangeSlider');\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./sliders.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./sliders.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {lazy, Suspense} from 'react';\nimport {PersistedProps, PersistenceTypes, RangeSliderProps} from '../types';\nimport rangeSlider from '../utils/LazyLoader/rangeSlider';\n\nimport './css/sliders.css';\n\nconst RealRangeSlider = lazy(rangeSlider);\n\n/**\n * A double slider with two handles.\n * Used for specifying a range of numerical values.\n */\nexport default function RangeSlider({\n updatemode = 'mouseup',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n // eslint-disable-next-line no-magic-numbers\n verticalHeight = 400,\n step = undefined,\n allow_direct_input = true,\n ...props\n}: RangeSliderProps) {\n // Some considerations for the default value of `step`:\n // If the range consists of integers, default to a value of `1`\n // Otherwise, leave it undefined\n if (\n typeof step === 'undefined' &&\n Number.isInteger(props.min) &&\n Number.isInteger(props.max)\n ) {\n step = 1;\n }\n\n return (\n \n \n \n );\n}\n\nRangeSlider.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","import {omit} from 'ramda';\nimport React, {lazy, Suspense, useCallback, useMemo} from 'react';\nimport {\n PersistedProps,\n PersistenceTypes,\n RangeSliderProps,\n SliderProps,\n} from '../types';\nimport rangeSlider from '../utils/LazyLoader/rangeSlider';\nimport './css/sliders.css';\n\nconst RealSlider = lazy(rangeSlider);\n\n/**\n * A slider component with a single handle.\n */\nexport default function Slider({\n updatemode = 'mouseup',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n // eslint-disable-next-line no-magic-numbers\n verticalHeight = 400,\n step = undefined,\n allow_direct_input = true,\n setProps,\n value,\n drag_value,\n ...props\n}: SliderProps) {\n // This is actually a wrapper around a RangeSlider.\n // We'll modify key `Slider` props to be compatible with a Range Slider.\n\n // Some considerations for the default value of `step`:\n // If the range consists of integers, default to a value of `1`\n // Otherwise, leave it undefined\n if (\n typeof step === 'undefined' &&\n Number.isInteger(props.min) &&\n Number.isInteger(props.max)\n ) {\n step = 1;\n }\n\n const mappedValue: RangeSliderProps['value'] = useMemo(() => {\n return typeof value === 'number' ? [value] : value;\n }, [value]);\n\n const mappedDragValue: RangeSliderProps['drag_value'] = useMemo(() => {\n return typeof drag_value === 'number' ? [drag_value] : drag_value;\n }, [drag_value]);\n\n const mappedSetProps: RangeSliderProps['setProps'] = useCallback(\n newProps => {\n const {value, drag_value} = newProps;\n const mappedProps: Partial = omit(\n ['value', 'drag_value', 'setProps'],\n newProps\n );\n if ('value' in newProps) {\n mappedProps.value = value ? value[0] : value;\n }\n if ('drag_value' in newProps) {\n mappedProps.drag_value = drag_value\n ? drag_value[0]\n : drag_value;\n }\n\n setProps(mappedProps);\n },\n [setProps]\n );\n\n return (\n \n \n \n );\n}\n\nSlider.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","import {equals, isNil} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Abstraction for the memory storage_type to work the same way as local/session\n *\n * Each memory Store component get it's own MemStore.\n */\nclass MemStore {\n constructor() {\n this._data = {};\n this._modified = -1;\n }\n\n getItem(key) {\n return this._data[key];\n }\n\n setItem(key, value) {\n this._data[key] = value;\n this.setModified(key);\n }\n\n removeItem(key) {\n delete this._data[key];\n this.setModified(key);\n }\n\n // noinspection JSUnusedLocalSymbols\n setModified(_) {\n this._modified = Date.now();\n }\n\n // noinspection JSUnusedLocalSymbols\n getModified(_) {\n return this._modified;\n }\n}\n\n/**\n * Abstraction for local/session storage_type.\n *\n * Single instances for localStorage, sessionStorage\n */\nclass WebStore {\n constructor(storage) {\n this._storage = storage;\n }\n\n getItem(key) {\n try {\n return JSON.parse(this._storage.getItem(key));\n } catch (e) {\n // in case we somehow got a non-JSON value in storage,\n // just ignore it.\n return null;\n }\n }\n\n setItem(key, value) {\n this._storage.setItem(key, JSON.stringify(value));\n this.setModified(key);\n }\n\n removeItem(key) {\n this._storage.removeItem(key);\n this._storage.removeItem(`${key}-timestamp`);\n }\n\n setModified(key) {\n this._storage.setItem(`${key}-timestamp`, Date.now());\n }\n\n getModified(key) {\n return (\n Number.parseInt(this._storage.getItem(`${key}-timestamp`), 10) || -1\n );\n }\n}\n\n/**\n * Easily keep data on the client side with this component.\n * The data is not inserted in the DOM.\n * Data can be in memory, localStorage or sessionStorage.\n * The data will be kept with the id as key.\n */\nexport default class Store extends React.Component {\n constructor(props) {\n super(props);\n\n if (props.storage_type === 'local') {\n this._backstore = new WebStore(window.localStorage);\n } else if (props.storage_type === 'session') {\n this._backstore = new WebStore(window.sessionStorage);\n } else if (props.storage_type === 'memory') {\n this._backstore = new MemStore();\n }\n\n this.onStorageChange = this.onStorageChange.bind(this);\n }\n\n onStorageChange(e) {\n const {id, setProps} = this.props;\n if (e.key === id && setProps && e.newValue !== e.oldValue) {\n setProps({\n data: JSON.parse(e.newValue),\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n\n UNSAFE_componentWillMount() {\n const {setProps, id, data, storage_type} = this.props;\n if (storage_type !== 'memory') {\n window.addEventListener('storage', this.onStorageChange);\n }\n\n const old = this._backstore.getItem(id);\n if (isNil(old) && !isNil(data)) {\n // Initial data mount\n this._backstore.setItem(id, data);\n setProps({\n modified_timestamp: this._backstore.getModified(id),\n });\n return;\n }\n\n if (!equals(old, data)) {\n setProps({\n data: old,\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n\n componentWillUnmount() {\n if (this.props.storage_type !== 'memory') {\n window.removeEventListener('storage', this.onStorageChange);\n }\n }\n\n componentDidUpdate() {\n const {data, id, clear_data, setProps} = this.props;\n if (clear_data) {\n this._backstore.removeItem(id);\n setProps({\n clear_data: false,\n data: null,\n modified_timestamp: this._backstore.getModified(id),\n });\n return;\n }\n const old = this._backstore.getItem(id);\n // Only set the data if it's not the same data.\n // If the new data is undefined, we got here by overwriting the entire\n // component with a new copy that has no `data` specified - so pull back\n // out the old value.\n // Note: this still allows you to set data to null\n if (!equals(data, old)) {\n if (data === undefined) {\n setProps({data: old});\n } else {\n this._backstore.setItem(id, data);\n setProps({\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n }\n\n render() {\n return null;\n }\n}\n\nStore.defaultProps = {\n storage_type: 'memory',\n clear_data: false,\n modified_timestamp: -1,\n};\n\nStore.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string.isRequired,\n\n /**\n * The type of the web storage.\n *\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n storage_type: PropTypes.oneOf(['local', 'session', 'memory']),\n\n /**\n * The stored data for the id.\n */\n data: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n /**\n * Set to true to remove the data contained in `data_key`.\n */\n clear_data: PropTypes.bool,\n\n /**\n * The last time the storage was modified.\n */\n modified_timestamp: PropTypes.number,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./tabs.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./tabs.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport './css/tabs.css';\nimport {TabProps} from '../types';\n\n/**\n * Part of dcc.Tabs - this is the child Tab component used to render a tabbed page.\n * Its children will be set as the content of that tab, which if clicked will become visible.\n */\nfunction Tab({\n children,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disabled = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disabled_style = {color: 'var(--Dash-Text-Disabled)'},\n}: TabProps) {\n return <>{children};\n}\n\nexport default Tab;\n","import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport {has, isNil} from 'ramda';\n\nimport LoadingElement from '../utils/_LoadingElement';\nimport {PersistedProps, PersistenceTypes, TabProps, TabsProps} from '../types';\nimport './css/tabs.css';\nimport {DashComponent} from '@dash-renderer/types';\n\ninterface EnhancedTabProps extends TabProps {\n selected: boolean;\n componentPath?: (string | number)[];\n}\n\n// EnhancedTab is defined here instead of in Tab.tsx because if exported there,\n// it will mess up the Python imports and metadata.json\nconst EnhancedTab = ({\n id,\n label,\n selected,\n className,\n style,\n selected_className,\n selected_style,\n setProps: selectHandler,\n value,\n disabled = false,\n disabled_style = {color: 'var(--Dash-Text-Disabled)'},\n disabled_className,\n componentPath,\n}: EnhancedTabProps) => {\n const ExternalWrapper = window.dash_component_api.ExternalWrapper;\n const ctx = window.dash_component_api.useDashContext();\n componentPath = componentPath ?? ctx.componentPath;\n // We use the raw path here since it's up one level from\n // the tabs child.\n const isLoading = ctx.useLoading({rawPath: componentPath});\n const tabStyle = useMemo(() => {\n return {\n ...style,\n ...(disabled ? disabled_style : {}),\n ...(selected ? selected_style : {}),\n };\n }, [style, disabled, disabled_style, selected, selected_style]);\n\n const tabClassNames = useMemo(() => {\n let names = 'tab';\n if (disabled) {\n names += ' tab--disabled';\n if (disabled_className) {\n names += ` ${disabled_className}`;\n }\n }\n if (selected) {\n names += ' tab--selected';\n if (selected_className) {\n names += ` ${selected_className}`;\n }\n }\n if (className) {\n names += ` ${className}`;\n }\n return names;\n }, [className, disabled, disabled_className, selected, selected_className]);\n\n let labelDisplay;\n if (typeof label === 'object') {\n labelDisplay = (\n \n );\n } else {\n labelDisplay = {label};\n }\n\n return (\n {\n if (!disabled) {\n selectHandler({value});\n }\n }}\n >\n {labelDisplay}\n
\n );\n};\n\n/**\n * A Dash component that lets you render pages with tabs - the Tabs component's children\n * can be dcc.Tab components, which can hold a label that will be displayed as a tab, and can in turn hold\n * children components that will be that tab's content.\n */\nfunction Tabs({\n // eslint-disable-next-line no-magic-numbers\n mobile_breakpoint = 800,\n colors = {\n border: 'var(--Dash-Stroke-Weak)',\n primary: 'var(--Dash-Fill-Interactive-Strong)',\n background: 'var(--Dash-Fill-Interactive-Weak)',\n },\n vertical = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n children,\n ...props\n}: TabsProps) {\n const initializedRef = useRef(false);\n const [isAboveBreakpoint, setIsAboveBreakpoint] = useState(false);\n\n const parseChildrenToArray = useCallback((): DashComponent[] => {\n if (!children) {\n return [];\n }\n if (children instanceof Array) {\n return children;\n }\n return [children];\n }, [children]);\n\n const valueOrDefault = (): string | undefined => {\n if (has('value', props)) {\n return props.value;\n }\n const children = parseChildrenToArray();\n if (children && children.length && children[0].props.componentPath) {\n const firstChildren: TabProps = window.dash_component_api.getLayout(\n [...children[0].props.componentPath, 'props']\n );\n return firstChildren.value ?? 'tab-1';\n }\n return 'tab-1';\n };\n\n // Initialize value on mount if not set\n useEffect(() => {\n if (!initializedRef.current && !has('value', props)) {\n props.setProps({\n value: `${valueOrDefault()}`,\n });\n initializedRef.current = true;\n }\n }, []);\n\n // Setup matchMedia for responsive breakpoint\n useEffect(() => {\n const mediaQuery = window.matchMedia(\n `(min-width: ${mobile_breakpoint}px)`\n );\n\n // Set initial value\n setIsAboveBreakpoint(mediaQuery.matches);\n\n // Listen for changes\n const handler = (e: MediaQueryListEvent) =>\n setIsAboveBreakpoint(e.matches);\n mediaQuery.addEventListener('change', handler);\n\n return () => mediaQuery.removeEventListener('change', handler);\n }, [mobile_breakpoint]);\n\n let EnhancedTabs: JSX.Element[];\n let selectedTab;\n\n const value = valueOrDefault();\n\n if (children) {\n const children = parseChildrenToArray();\n\n EnhancedTabs = children.map((child, index) => {\n // TODO: handle components that are not dcc.Tab components (throw error)\n // enhance Tab components coming from Dash (as dcc.Tab) with methods needed for handling logic\n let childProps: Omit;\n\n if (React.isValidElement(child) && child.props.componentPath) {\n childProps = window.dash_component_api.getLayout([\n ...child.props.componentPath,\n 'props',\n ]);\n } else {\n // In case the selected tab is a string.\n childProps = {};\n }\n\n if (!childProps.value) {\n childProps = {...childProps, value: `tab-${index + 1}`};\n }\n\n // check if this child/Tab is currently selected\n if (childProps.value === value) {\n selectedTab = child;\n }\n\n const style = childProps.style ?? {};\n if (typeof childProps.width === 'number') {\n style.width = `${childProps.width}px`;\n style.flex = '0 0 auto';\n } else if (typeof childProps.width === 'string') {\n style.width = childProps.width;\n style.flex = '0 0 auto';\n }\n\n return (\n \n );\n });\n }\n\n const selectedTabContent = !isNil(selectedTab) ? selectedTab : '';\n\n const tabContainerClassNames = useMemo(() => {\n let names = 'tab-container';\n if (vertical) {\n names += ` tab-container--vert`;\n }\n if (props.className) {\n names += ` ${props.className}`;\n }\n return names;\n }, [vertical, props.className]);\n\n const tabContentClassNames = useMemo(() => {\n let names = 'tab-content';\n if (vertical) {\n names += ` tab-content--vert`;\n }\n if (props.content_className) {\n names += ` ${props.content_className}`;\n }\n return names;\n }, [vertical, props.content_className]);\n\n const tabParentClassNames = useMemo(() => {\n let names = 'tab-parent';\n if (vertical) {\n names += ` tab-parent--vert`;\n }\n if (isAboveBreakpoint) {\n names += ' tab-parent--above-breakpoint';\n }\n if (props.parent_className) {\n names += ` ${props.parent_className}`;\n }\n return names;\n }, [vertical, isAboveBreakpoint, props.parent_className]);\n\n // Set CSS variables for dynamic styling\n const cssVars = {\n '--tabs-border': colors.border,\n '--tabs-primary': colors.primary,\n '--tabs-background': colors.background,\n } as const;\n\n return (\n \n {loadingProps => (\n \n \n {EnhancedTabs}\n
\n \n {selectedTabContent || ''}\n
\n
\n )}\n \n );\n}\n\nTabs.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n\nTabs.dashChildrenUpdate = true;\n\nexport default Tabs;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./textarea.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./textarea.css\";\n export default content && content.locals ? content.locals : undefined;\n","/* eslint-disable no-unused-vars */\nimport React from 'react';\nimport {pick} from 'ramda';\nimport {PersistedProps, PersistenceTypes, TextAreaProps} from '../types';\nimport './css/textarea.css';\n\nconst textAreaProps = [\n 'id',\n 'cols',\n 'rows',\n 'minLength',\n 'maxLength',\n 'contentEditable',\n 'tabIndex',\n 'form',\n 'name',\n 'placeholder',\n 'wrap',\n 'accessKey',\n 'contextMenu',\n 'dir',\n 'draggable',\n 'lang',\n 'spellCheck',\n 'style',\n 'title',\n] as const;\n\n/**\n * A basic HTML textarea for entering multiline text.\n *\n */\nconst Textarea = ({\n setProps,\n n_blur = 0,\n n_blur_timestamp = -1,\n n_clicks = 0,\n n_clicks_timestamp = -1,\n ...props\n}: TextAreaProps) => {\n const ctx = window.dash_component_api.useDashContext();\n const isLoading = ctx.useLoading();\n\n return (\n
\n
\n \n );\n};\n\nexport default Tooltip;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./dcc.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./dcc.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","e","window","module","exports","__webpack_require__","n","t","r","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","u","a","done","Promise","resolve","then","this","arguments","apply","isReady","lazy","setTimeout","regeneratorRuntime","mark","wrap","prev","next","stop","_dashprivate_isLazyComponentReady","f","length","configurable","writable","key","TypeError","dispatchEvent","CustomEvent","addEventListener","removeEventListener","_typeof","iterator","constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","Constructor","protoProps","staticProps","arg","input","prim","toPrimitive","undefined","res","hint","String","_toPrimitive","isDeepEqual","isDeepStrictEqual","_require$codes","codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","inspect","_require$types","isPromise","isRegExp","objectAssign","objectIs","RegExpPrototypeTest","lazyLoadComparison","comparison","Map","warned","assert","ok","NO_EXCEPTION_SENTINEL","innerFail","obj","message","Error","innerOk","fn","argLen","generatedMessage","err","actual","expected","operator","stackStartFn","_len","args","Array","_key","concat","fail","internalMessage","argsLen","process","emitWarning","console","warn","errArgs","equal","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","strictEqual","notStrictEqual","Comparison","keys","_this","instance","_classCallCheck","forEach","expectedException","msg","name","push","b","compareExceptionKey","isPrototypeOf","getActual","checkIsPromise","catch","waitForActual","promiseFn","resultPromise","expectsError","error","details","fnType","expectsNoError","internalMatch","string","regexp","fnName","match","strict","_len6","_key6","throws","_len2","_key2","rejects","_len3","_key3","result","doesNotThrow","_len4","_key4","doesNotReject","_len5","_key5","ifError","newErr","origStack","stack","tmp2","split","shift","tmp1","pos","indexOf","slice","join","doesNotMatch","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","getOwnPropertyDescriptors","defineProperties","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Function","toString","has","set","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","setPrototypeOf","__proto__","getPrototypeOf","endsWith","str","search","this_len","substring","blue","green","red","white","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","copyError","source","inspectValue","val","compact","customInspect","depth","maxArrayLength","Infinity","showHidden","breakLength","showProxy","sorted","getters","_Error","_inspect$custom","subClass","superClass","_inherits","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","options","limit","stackTraceLimit","stderr","isTTY","getColorDepth","other","lastPos","end","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","columns","count","Math","floor","maxCount","log","repeat","pop","maxLines","max","_actualLines","printedLines","skippedMsg","cur","expectedLine","actualLine","divergingLines","createErrDiff","base","_res","knownOperators","code","captureStackTrace","recurseTimes","ctx","custom","util","createErrorType","Base","NodeError","_Base","arg1","arg2","arg3","getMessage","oneOf","thing","isArray","len","map","determiner","start","substr","replace","type","reason","inspected","RangeError","_slicedToArray","arr","_arrayWithHoles","return","_iterableToArrayLimit","minLen","_arrayLikeToArray","from","test","_unsupportedIterableToArray","_nonIterableRest","arr2","regexFlagsSupported","flags","arrayFromSet","array","arrayFromMap","is","objectGetOwnPropertySymbols","numberIsNaN","Number","isNaN","uncurryThis","propertyIsEnumerable","objectToString","isAnyArrayBuffer","isArrayBufferView","isDate","isMap","isSet","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","charCodeAt","pow","getOwnNonIndexProperties","compare","x","y","min","innerDeepEqual","val1","val2","memos","buf1","buf2","val1Tag","keys1","keys2","keyCheck","Date","getTime","RegExp","byteLength","Uint8Array","buffer","byteOffset","areSimilarTypedArrays","offset","areSimilarFloatArrays","_keys","_keys2","size","BigInt","isEqualBoxedPrimitive","getEnumerables","k","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","position","val2MemoA","val2MemoB","areEq","memo","aValues","Set","add","setMightHaveLoosePrim","bValues","_i","_val","setHasEqualElement","setEquiv","aEntries","_aEntries$i","item1","item2","mapMightHaveLoosePrim","bEntries","_i2","_bEntries$_i","item","mapHasEqualEntry","mapEquiv","keysA","objEquiv","delete","setValues","findLooseMatchingPrimitives","altValue","curB","key1","key2","privatePropTypes","_dashprivate_transformConfig","PropTypes","_dashprivate_transformFigure","_dashprivate_onFigureModified","EMPTY_DATA","PlotlyGraph","_Component","_callSuper","mathjax","_loadMathjax","state","prependData","extendData","clearState","setState","nextProps","figure","dataKey","data","React","ControlledPlotlyGraph","_extends","Component","RealPlotlyGraph","asyncDecorator","all","Plotly","reject","timeoutId","element","document","createElement","src","_dashPlotlyJSURL","async","onload","clearTimeout","onerror","querySelector","appendChild","lazyLoadMathJax","_ref","className","id","extendedClassName","Suspense","fallback","displayName","propTypes","responsive","clickData","clickAnnotationData","hoverData","clear_on_unhover","selectedData","relayoutData","restyleData","layout","frames","style","animate","animation_options","config","staticPlot","plotlyServerURL","editable","editSelection","edits","annotationPosition","annotationTail","annotationText","axisTitleText","colorbarPosition","colorbarTitleText","legendPosition","legendText","shapePosition","titleText","autosizable","queueLength","fillFrame","frameMargins","scrollZoom","doubleClick","doubleClickDelay","showTips","showAxisDragHandles","showAxisRangeEntryBoxes","showLink","sendData","linkText","displayModeBar","showSendToCloud","showEditInChartStudio","modeBarButtonsToRemove","modeBarButtonsToAdd","modeBarButtons","toImageButtonOptions","format","filename","width","height","scale","displaylogo","watermark","plotGlPixelRatio","topojsonURL","mapboxAccessToken","locale","locales","displayNotifier","setProps","defaultProps","frame","redraw","transition","duration","ease","graphPropTypes","graphDefaultProps","Graph_react","upload","RealUpload","Upload","contents","last_modified","children","accept","disabled","disable_click","max_size","min_size","multiple","enable_folder_selection","className_active","className_reject","className_disabled","style_active","style_reject","style_disabled","borderStyle","borderColor","backgroundColor","opacity","LoadingElement","ref","_ref$elementType","elementType","_objectWithoutProperties","_excluded","loading","dash_component_api","useDashContext","useLoading","givenProps","__webpack_exports__","A","dropdown","RealDropdown","defaultLabels","select_all","deselect_all","selected_count","clear_search","clear_selection","no_options_found","Dropdown","_ref$clearable","clearable","_ref$disabled","_ref$multi","multi","_ref$searchable","searchable","_ref$labels","labels","_ref$optionHeight","optionHeight","_ref$maxHeight","maxHeight","_ref$closeOnSelect","closeOnSelect","persisted_props","PersistedProps","persistence_type","PersistenceTypes","local","dashPersistence","allBlankCharCodes","is_string_blank_namespaceFn","original","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","parent","lastInsertedElement","_lastElementInsertedByStyleLoader","nextSibling","insertBefore","firstChild","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","locals","convert","fastIsNumeric","isNumeric","NaN","isEquivalent","v1","v2","inputProps","Input","_ref$type","HTMLInputTypes","text","_ref$inputMode","inputMode","_ref$n_blur","n_blur","_ref$n_submit","n_blur_timestamp","n_submit","_ref$debounce","n_submit_timestamp","debounce","_ref$step","step","_ref$autoComplete","autoComplete","useRef","_useState2","useState","setValue","_useState4","pendingEvent","setPendingEvent","inputId","uniqid","valprops","number","setPropValue","useCallback","current","checkValidity","onEvent","inputValue","valueAsNumber","propValue","onBlur","now","onChange","onKeyDown","setInputValue","debounceEvent","seconds","handleStepperClick","direction","currentValue","parseFloat","stepAsNum","decimalPlaces","constrainedValue","roundedValue","toFixed","useEffect","cursorPosition","selectionStart","isFinite","setSelectionRange","disabledAsBool","includes","pickedInputs","pick","isNumberInput","currentNumericValue","minValue","maxValue","isDecrementDisabled","isIncrementDisabled","loadingProps","hidden","trim","onClick","components_Input","_ref$refresh","refresh","_ref$scrollToTop","scrollToTop","href","title","cleanUrl","dash_clientside","clean_url","sanitizedUrl","useMemo","updateLocation","metaKey","shiftKey","altKey","ctrlKey","isNil","preventDefault","location","history","pushState","scrollTo","_dash_error","CalendarDirection","MathJax","additionalProps","assign","safeIsNaN","isEqual","first","second","areInputsEqual","newInputs","lastInputs","memoize_one_esm","resultFn","lastThis","lastResult","lastArgs","calledOnce","newArgs","performance","cancelTimeout","timeoutID","cancelAnimationFrame","getScrollbarSize","recalculate","div","overflow","body","offsetWidth","clientWidth","removeChild","cachedRTLResult","getRTLOffsetType","outerDiv","outerStyle","innerDiv","innerStyle","scrollLeft","defaultItemKey$1","index","createListComponent","_class","getItemOffset","getEstimatedTotalSize","getItemSize","getOffsetForIndexAndAlignment","getStartIndexForOffset","getStopIndexForStartIndex","initInstanceProps","shouldResetStyleCacheOnItemSizeChange","validateProps","_PureComponent","List","_instanceProps","_outerRef","_resetIsScrollingTimeoutId","isScrolling","scrollDirection","scrollOffset","initialScrollOffset","scrollUpdateWasRequested","_callOnItemsRendered","memoizeOne","overscanStartIndex","overscanStopIndex","visibleStartIndex","visibleStopIndex","onItemsRendered","_callOnScroll","onScroll","_getItemStyle","_this$props","itemSize","itemStyleCache","_getItemStyleCache","isHorizontal","isRtl","offsetHorizontal","left","right","top","_offset","_","__","___","_onScrollHorizontal","event","_event$currentTarget","currentTarget","scrollWidth","prevState","_resetIsScrollingDebounced","_onScrollVertical","_event$currentTarget2","clientHeight","scrollHeight","scrollTop","_outerRefSetter","outerRef","callback","delay","_resetIsScrolling","requestAnimationFrame","tick","getDerivedStateFromProps","validateSharedProps","_proto","scrollToItem","align","_this$props2","itemCount","scrollbarSize","componentDidMount","_this$props3","_callPropsCallbacks","componentDidUpdate","_this$props4","_this$state","componentWillUnmount","render","_this$props5","innerRef","innerElementType","innerTagName","itemData","_this$props5$itemKey","itemKey","outerElementType","outerTagName","useIsScrolling","_this$_getRangeToRend","_getRangeToRender","startIndex","stopIndex","items","_index","estimatedTotalSize","WebkitOverflowScrolling","willChange","pointerEvents","_this$_getRangeToRend2","_overscanStartIndex","_overscanStopIndex","_visibleStartIndex","_visibleStopIndex","_this$state2","_scrollDirection","_scrollOffset","_scrollUpdateWasRequested","_this$props6","overscanCount","_this$state3","overscanBackward","overscanForward","PureComponent","validateSharedProps$1","_ref2","_ref3","getItemMetadata$1","instanceProps","itemMetadataMap","lastMeasuredIndex","itemMetadata","findNearestItemBinarySearch$1","high","low","middle","currentOffset","estimatedItemSize","totalSizeOfMeasuredItems","VariableSizeList","maxOffset","minOffset","round","findNearestItemBinarySearch","interval","findNearestItemExponentialSearch","findNearestItem$1","getItemMetadata","resetAfterIndex","shouldForceUpdate","forceUpdate","_ref5","optionslist","OptionLabel","label","ExternalWrapper","component","componentPath","displayLabel","Option","option","isSelected","optionClassName","optionStyle","_ref2$inputType","inputType","inputClassName","inputStyle","labelClassName","labelStyle","classNames","inputClassNames","labelClassNames","role","checked","onKeyUp","readOnly","Row","selected","passThruProps","setOptionHeight","measureRef","el","immediateHeight","getBoundingClientRect","ResizeObserver","_ref4","_entry$borderBoxSize$","_entry$borderBoxSize","entry","borderBoxSize","blockSize","contentRect","observe","OptionsList","forwardRef","_ref6","onSelectionChange","_ref6$maxHeight","innerHeight","listRef","containerRef","pendingFocusRef","heightsRef","measuredHeight","setMeasuredHeight","defaultOptionHeight","getOptionHeight","_heightsRef$current$g","_listRef$current","useLayoutEffect","_listRef$current2","h","defaultListHeight","listHeight","focusOption","optionIndex","_containerRef$current","deferred","HTMLElement","focus","useImperativeHandle","focusItem","handleChange","newValue","without","append","handleItemsRendered","sizerDiv","longestOption","maxLen","_data$options$index$v","_data$options$index","sanitizeOptions","valueSet","opt","isOptionValue","entries","$apply","$call","$reflectApply","actualApply","$TypeError","$actualApply","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$defineProperty","callBindBasic","applyBind","originalFunction","func","adjustedLength","times","g","functions","time","object","expression","tuple","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","version","sources","names","mappings","sourcesContent","sourceRoot","cssWithMappingToString","list","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","sourceMapping","$SyntaxError","gopd","property","nonEnumerable","nonWritable","nonConfigurable","loose","desc","hasSymbols","toStr","defineDataProperty","supportsDescriptors","predicate","predicates","hasProtoAccessor","gOPD","$Object","$getPrototypeOf","EvalError","SyntaxError","URIError","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","XMLHttpRequest","open","responseType","response","send","status","MouseEvent","createEvent","initMouseEvent","global","navigator","userAgent","saveAs","HTMLAnchorElement","URL","webkitURL","j","download","rel","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","innerText","safari","FileReader","onloadend","readAsDataURL","isCallable","thisArg","receiver","forEachArray","charAt","forEachString","forEachObject","concatty","that","bound","arrLike","slicy","boundLength","boundArgs","joiny","Empty","implementation","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","abs","sign","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","$ObjectGPO","$ReflectGPO","needsEval","TypedArray","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt64Array","BigUint64Array","DataView","decodeURI","decodeURIComponent","encodeURI","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","parseInt","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","$exec","exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","last","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","reflectGetProto","originalGetProto","getDunderProto","O","hasPropertyDescriptors","hasArrayLengthDefineBug","origSymbol","hasSymbolSham","sym","symObj","getOwnPropertyNames","syms","$hasOwn","ctor","superCtor","super_","TempCtor","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","strClass","isFnRegex","safeRegexTest","getGeneratorFunction","GeneratorFunction","define","getPolyfill","shim","polyfill","isRegexMarker","throwRegexMarker","badStringifier","whichTypedArray","$isNaN","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isObject","isFunction","isArguments","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","objectKeys","$push","$propIsEnumerable","originalGetSymbols","source1","to","getSymbols","nextKey","letters","lacksProperEnumerationOrder","preventExtensions","thrower","assignHasPendingExceptions","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","isRegex","regex","hasDescriptors","$floor","functionLengthIsConfigurable","functionLengthIsWritable","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","css","sourceMap","references","updater","addElementStyle","byIndex","api","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","attributes","styleElement","nonce","nc","setAttribute","parentNode","removeStyleElement","styleSheet","cssText","createTextNode","pid","prefix","suffix","copy","fill","readUInt8","isArgumentsObject","isGeneratorFunction","isTypedArray","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","method","descriptors","formatRegExp","objects","isNull","deprecate","noDeprecation","throwDeprecation","traceDeprecation","trace","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","toUpperCase","opts","seen","stylize","stylizeNoColor","colors","isBoolean","_extend","isUndefined","stylizeWithColor","formatValue","styleType","styles","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","hash","idx","arrayToHash","isError","formatError","output","braces","toUTCString","formatProperty","formatArray","reduce","reduceToSingleString","line","ar","re","pad","debuglog","bold","italic","underline","inverse","grey","black","cyan","magenta","yellow","special","boolean","null","date","types","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","months","prop","getHours","getMinutes","getSeconds","getDate","getMonth","inherits","kCustomPromisifiedSymbol","callbackifyOnRejected","cb","newReason","promisify","promiseResolve","promiseReject","promise","callbackify","callbackified","maybeCb","rej","availableTypedArrays","globalThis","typedArrays","$slice","cache","typedArray","proto","superProto","tag","isTATag","found","getter","trySlices","tryTypedArrays","ReactJSXRuntime","jsx","maybeKey","propName","jsxs","jsxDEV","Fragment","possibleNames","out","defaultOptions","getDefaultOptions","dateLongFormatter","pattern","formatLong","timeLongFormatter","longFormatters","P","dateTimeLongFormatter","dateTimeFormat","matchResult","datePattern","timePattern","dateTime","getTimezoneOffsetInMilliseconds","_date","toDate","utcDate","UTC","getFullYear","getMilliseconds","setUTCFullYear","normalizeDates","context","dates","normalize","constructFrom","find","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isProtectedDayOfYearToken","token","isProtectedWeekYearToken","warnOrThrowProtectedError","_message","subject","toLowerCase","millisecondsInWeek","millisecondsInDay","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","constructFromSymbol","for","differenceInCalendarDays","laterDate","earlierDate","_normalizeDates2","in","laterDate_","earlierDate_","laterStartOfDay","startOfDay","earlierStartOfDay","laterTimestamp","earlierTimestamp","getDayOfYear","date_","setFullYear","setHours","startOfYear","addLeadingZeros","targetLength","padStart","lightFormatters","signedYear","year","M","month","dayPeriodEnumValue","H","S","numberOfDigits","milliseconds","trunc","formatters","G","localize","era","ordinalNumber","unit","Y","signedWeekYear","getWeekYear","weekYear","R","getISOWeekYear","Q","quarter","ceil","q","L","w","week","getWeek","I","isoWeek","getISOWeek","D","dayOfYear","E","dayOfWeek","getDay","day","localDayOfWeek","weekStartsOn","isoDayOfWeek","dayPeriod","hours","B","K","X","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","z","T","delimiter","absOffset","minutes","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","_options$locale","_options$firstWeekCon","_options$locale2","_defaultOptions$local","_ref7","_options$weekStartsOn","_options$locale3","_defaultOptions$local2","defaultLocale","firstWeekContainsDate","originalDate","isValid","firstCharacter","longFormatter","isToken","matched","preprocessor","formatterOptions","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","formatter","diff","startOfISOWeek","fourthOfJanuary","startOfISOWeekYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfWeek","firstWeek","startOfWeekYear","firstWeekOfNextYear","firstWeekOfThisYear","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","buildFormatLongFn","defaultWidth","formats","full","long","medium","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","values","argumentCallback","dirtyNumber","_options","rem100","narrow","abbreviated","wide","am","pm","midnight","noon","morning","afternoon","evening","night","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findIndex","findKey","valueCallback","rest","parsePattern","parseResult","any","enUS","formatDistance","tokenValue","addSuffix","formatRelative","_baseDate","parseISO","argument","_options$additionalDi","invalidDate","additionalDigits","dateStrings","dateString","timeString","patterns","dateTimeDelimiter","timeZoneDelimiter","timezone","splitDateString","parseYearResult","captures","restDateString","century","parseYear","dateRegex","isWeekDate","parseDateUnit","_year","validateWeekDate","isoWeekYear","getUTCDay","setUTCDate","getUTCDate","dayOfISOWeekYear","daysInMonths","isLeapYearIndex","validateDate","validateDayOfYearDate","parseDate","timestamp","timeRegex","parseTimeUnit","validateTime","parseTime","tmpDate","getUTCFullYear","getUTCMonth","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","timezoneString","timezoneRegex","_hours","validateTimezone","parseTimezone","setDate","cached","es_append","set1","set2","len1","len2","_concat","_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__","_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__","_toString_js__WEBPACK_IMPORTED_MODULE_4__","_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__","_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__","_arrayFromIterator","iter","_includesWith","pred","internal_objectIs","_uniqContentEquals","aIterator","bIterator","stackA","stackB","eq","_a","_b","_equals","aItem","typeA","equals","ignoreCase","multiline","sticky","unicode","extendedStackA","extendedStackB","_has","es_equals","_curry2","XFilter","xf","_xfBase","init","_xfilter","es_filter","_dispatchable","filterable","_isObject","reducer","acc","_arrayReduce","_filterMap","_filter","es_hasPath","_path","es_has","_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__","_curry1","f1","_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__","f2","_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__","_curry1_js__WEBPACK_IMPORTED_MODULE_0__","methodNames","transducerCreator","_isArray","_isTransformer","transducer","_includes","inf","_indexOf","_isArguments","_has_js__WEBPACK_IMPORTED_MODULE_0__","_isFunction","_isPlaceholder","_isString","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","contains","_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__","nIdx","ks","checkArgsLength","_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__","_internal_has_js__WEBPACK_IMPORTED_MODULE_1__","omit","es_reject","_map","functor","_quote","internal_toISOString","toISOString","_toString","recur","xs","mapPairs","sort","repr","es_toString","hasOrAdd","shouldAdd","prevSize","_items","_nativeSet","bIdx","internal_Set","_Set","es_without","toRemove","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","cw","mod","mode","ns","def","definition","chunkId","promises","url","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","onScriptComplete","doneFns","head","scriptUrl","importScripts","currentScript","tagName","getCurrentScript","doc_scripts","textContent","jsonpScriptSrc","__jsonpScriptSrc__","isLocal","srcFragments","fileFragments","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","bg","b64","tmp","lens","validLen","getLens","placeHoldersLen","Arr","_byteLength","curByte","revLookup","lookup","css_button","components_Button","_ref$n_clicks","n_clicks","n_clicks_timestamp","isLoading","checklist_options","checklist","Checklist","_ref$inputStyle","_ref$inputClassName","_ref$labelStyle","_ref$labelClassName","_ref$options","_ref$value","_ref$inline","inline","sanitizedOptions","stylingProps","selection","_defineProperty","_arr","_n","_d","_e","_s","_WINDOW","_DOCUMENT","_PERFORMANCE","measure","MutationObserver","_ref$userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","NAMESPACE_IDENTIFIER","DEFAULT_REPLACEMENT_CLASS","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","FontAwesomeConfig","attr","coerce","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","hooks","shims","namespace","doScroll","readyState","listener","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","invokeCallback","subscriber","owner","settled","_state","_data","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","resolver","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","results","remaining","race","meaninglessTransform","rotate","flipX","flipY","nextUniqueId","random","htmlEscape","joinStyles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","fillBlack","abstract","force","initialValue","thisContext","bindInternal4","defineIcons","icons","_params$skipHooks","skipHooks","normalized","iconName","icon","addPack","build","ligatures","ligature","hasRegular","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","joinAttributes","MissingIcon","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","asFoundIcon","vectorData","class","cx","cy","Library","definitions","additions","_pullDefinitions","_normalized$key","ensureCss","_cssInserted","innerHTML","headChildren","childNodes","beforeChild","child","insertCss","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","findIconDefinition","iconLookup","_iconLookup$prefix","library","parse","transformString","parseTransformString","iconDefinition","abstractCreator","params","_params$transform","_params$symbol","symbol","_params$mask","mask","_params$maskId","maskId","_params$title","_params$titleId","titleId","_params$classes","classes","_params$attributes","_params$styles","_params$icons","main","extra","_params$watchable","watchable","isUploadedIcon","widthClass","attrClass","xmlns","viewBox","uploadedIconWidthStyle","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","asIcon","makeInlineSvgAbstract","container","html","maybeIconDefinition","enumerableOnly","symbols","_objectSpread2","index_es_defineProperty","index_es_typeof","index_es_objectWithoutProperties","excluded","sourceKeys","index_es_objectWithoutPropertiesLoose","sourceSymbolKeys","index_es_toConsumableArray","index_es_arrayWithoutHoles","index_es_iterableToArray","index_es_nonIterableSpread","camelize","chr","_excluded$1","index_es_PRODUCTION","normalizeIconArgs","objectWithKey","index_es_excluded","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","_classes","beat","fade","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","border","listItem","flip","rotation","pull","swapOpacity","classList","renderedIcon","_console","index_es_console","extraProps","convertCurry","external_PropTypes_default","bool","oneOfType","mixins","attrs","pair","startsWith","_extraProps$style","existingStyle","external_React_default","faCheckCircle","faCopy","Generator","_regeneratorDefine2","v","GeneratorFunctionPrototype","_regenerator","_invoke","asyncGeneratorStep","_asyncToGenerator","_next","_throw","clipboardAPI","clipboard","wait","ms","Clipboard","_React$Component","copyToClipboard","onClickHandler","copySuccess","getTargetText","stringifyId","copied","prevProps","wild","_copySuccess","_callee","htmlContent","showCopiedIcon","blobHtml","blobText","_context","ClipboardItem","write","writeText","_x","_x2","target_id","getElementById","_loading","_callee2","_context2","_copyToClipboard","_callee3","_context3","html_content","copied_children","button_children","DashContext","ConfirmDialog","_update","displayed","shouldTriggerDisplay","cancel_n_clicks","submit_n_clicks","confirm","submit_n_clicks_timestamp","cancel_n_clicks_timestamp","ConfirmDialogProvider","wrapClick","datePickerRange","DatePickerPersistence","extract","parsed","storedValue","RealDatePickerRange","DatePickerRange","_ref$calendar_orienta","calendar_orientation","_ref$is_RTL","is_RTL","_ref$day_size","day_size","_ref$with_portal","with_portal","_ref$with_full_screen","with_full_screen_portal","_ref$first_day_of_wee","first_day_of_week","_ref$number_of_months","number_of_months_shown","_ref$stay_open_on_sel","stay_open_on_select","_ref$reopen_calendar_","reopen_calendar_on_clear","_ref$show_outside_day","show_outside_days","_ref$updatemode","updatemode","_ref$disabled_days","start_date","end_date","disabled_days","persistenceTransforms","transformDate","datePickerSingle","RealDatePickerSingle","DatePickerSingle","_ref$placeholder","placeholder","getValue","Download","toByteArray","blob","isRequired","Geolocation","success","update_now","geolocation","positionOptions","enableHighAccuracy","high_accuracy","maximumAge","maximum_age","getCurrentPosition","updatePosition","_crd$latitude","_crd$longitude","_crd$accuracy","_crd$altitude","_crd$altitudeAccuracy","_crd$speed","_crd$heading","crd","coords","position_obj","lat","latitude","lon","longitude","accuracy","alt","altitude","alt_accuracy","altitudeAccuracy","speed","heading","local_date","toLocaleString","position_error","show_alert","alert","Interval","intervalId","reportInterval","handleTimer","max_intervals","n_intervals","clearTimer","setInterval","clearInterval","resetTimer","_toPairs","pairs","es_toPairs","XAny","_xany","es_any","DebugTitle","spinnerComponentOptions","graph","debugTitle","fullscreen","debug","spinnerClass","cube","color","circle","dot","coveringSpinner","visibility","display","justifyContent","alignItems","components_Loading","targetComponents","_ref3$display","_ref3$color","parent_className","parent_style","overlay_style","_ref3$show_initially","show_initially","_ref3$type","spinnerType","_ref3$delay_hide","delay_hide","_ref3$delay_show","delay_show","target_components","custom_spinner","useSelector","stringPath","loadingChildren","toPairs","load","showSpinner","setShowSpinner","dismissTimer","showTimer","containerStyle","Spinner","getSpinner","Location","onLocationChange","_this2","pathname","propsToSet","checkExistsUpdateWindowLocation","fieldName","propVal","pathnameUpdated","hrefUpdated","hashUpdated","searchUpdated","searchVal","hashVal","propsToChange","History","dispatchChangeEvent","markdown","RealMarkdown","Markdown","_ref$mathjax","_ref$dangerously_allo","dangerously_allow_html","_ref$dedent","dedent","radioitems_options","RadioItems","radioitems","rangeSlider","sliders_options","sliders","RealRangeSlider","RangeSlider","_ref$verticalHeight","verticalHeight","_ref$allow_direct_inp","allow_direct_input","isInteger","RealSlider","Slider","drag_value","mappedValue","mappedDragValue","mappedSetProps","newProps","mappedProps","MemStore","_modified","setModified","WebStore","storage","_storage","getItem","setItem","removeItem","Store","storage_type","_backstore","localStorage","sessionStorage","onStorageChange","oldValue","modified_timestamp","getModified","old","clear_data","tabs_options","tabs","components_Tab","disabled_style","EnhancedTab","selected_className","selected_style","selectHandler","_ref$disabled_style","disabled_className","labelDisplay","rawPath","tabStyle","tabClassNames","_toConsumableArray","Tabs","EnhancedTabs","selectedTab","_ref2$mobile_breakpoi","mobile_breakpoint","_ref2$colors","primary","background","_ref2$vertical","vertical","initializedRef","isAboveBreakpoint","setIsAboveBreakpoint","parseChildrenToArray","valueOrDefault","_firstChildren$value","getLayout","mediaQuery","matchMedia","matches","handler","_childProps$style","childProps","flex","selectedTabContent","tabContainerClassNames","tabContentClassNames","content_className","tabParentClassNames","cssVars","content_style","dashChildrenUpdate","components_Tabs","textarea_options","css_textarea","textAreaProps","Textarea","required","autoFocus","components_Textarea","tooltip_options","tooltip","components_Tooltip","_ref$show","show","_ref$targetable","targetable","_ref$direction","_ref$border_color","border_color","_ref$background_color","background_color","_ref$className","_ref$zindex","zindex","_ref$loading_text","loading_text","bbox","show_tooltip","is_loading","x0","x1","y0","y1","dcc_options","dcc"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"dash_core_components.js","mappings":"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","sources":["webpack:///webpack/runtime/create fake namespace object","webpack:///webpack/runtime/load script","webpack:///./node_modules/@plotly/dash-component-plugins/dist/index.js","webpack:///./node_modules/assert/build/assert.js","webpack:///./node_modules/assert/build/internal/assert/assertion_error.js","webpack:///./node_modules/assert/build/internal/errors.js","webpack:///./node_modules/assert/build/internal/util/comparisons.js","webpack:///./src/fragments/Graph.privateprops.js","webpack:///./src/components/Graph.react.js","webpack:///./src/utils/LazyLoader/graph.js","webpack:///./src/utils/LazyLoader/plotly.js","webpack:///./src/utils/LazyLoader/upload.js","webpack:///./src/components/Upload.react.js","webpack:///./src/utils/LoadingElement.js","webpack:///./src/utils/LazyLoader/dropdown.ts","webpack:///./src/components/Dropdown.tsx","webpack:///./node_modules/fast-isnumeric/index.js","webpack:///./src/components/css/input.css?ceae","webpack:///./src/components/Input.tsx","webpack:///./src/components/Link.tsx","webpack:///./src/types.ts","webpack:///./src/utils/LazyLoader/third-party/mathjax.ts","webpack:///./src/utils/_LoadingElement.tsx","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///../src/timer.js","webpack:///../src/domHelpers.js","webpack:///../src/createGridComponent.js","webpack:///../src/createListComponent.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///../src/VariableSizeList.js","webpack:///./src/components/css/optionslist.css?1ebf","webpack:///./src/utils/optionRendering.tsx","webpack:///./src/utils/optionTypes.ts","webpack:///./node_modules/call-bind-apply-helpers/actualApply.js","webpack:///./node_modules/call-bind-apply-helpers/applyBind.js","webpack:///./node_modules/call-bind-apply-helpers/functionApply.js","webpack:///./node_modules/call-bind-apply-helpers/functionCall.js","webpack:///./node_modules/call-bind-apply-helpers/index.js","webpack:///./node_modules/call-bind-apply-helpers/reflectApply.js","webpack:///./node_modules/call-bind/callBound.js","webpack:///./node_modules/call-bind/index.js","webpack:///./node_modules/call-bound/index.js","webpack:///./node_modules/console-browserify/index.js","webpack:///./src/components/css/button.css","webpack:///./src/components/css/checklist.css","webpack:///./src/components/css/dcc.css","webpack:///./src/components/css/input.css","webpack:///./src/components/css/optionslist.css","webpack:///./src/components/css/radioitems.css","webpack:///./src/components/css/sliders.css","webpack:///./src/components/css/tabs.css","webpack:///./src/components/css/textarea.css","webpack:///./src/components/css/tooltip.css","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack:///./node_modules/define-data-property/index.js","webpack:///./node_modules/define-properties/index.js","webpack:///./node_modules/dunder-proto/get.js","webpack:///./node_modules/es-define-property/index.js","webpack:///./node_modules/es-errors/eval.js","webpack:///./node_modules/es-errors/index.js","webpack:///./node_modules/es-errors/range.js","webpack:///./node_modules/es-errors/ref.js","webpack:///./node_modules/es-errors/syntax.js","webpack:///./node_modules/es-errors/type.js","webpack:///./node_modules/es-errors/uri.js","webpack:///./node_modules/es-object-atoms/index.js","webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./node_modules/for-each/index.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/get-intrinsic/index.js","webpack:///./node_modules/get-proto/Object.getPrototypeOf.js","webpack:///./node_modules/get-proto/Reflect.getPrototypeOf.js","webpack:///./node_modules/get-proto/index.js","webpack:///./node_modules/gopd/gOPD.js","webpack:///./node_modules/gopd/index.js","webpack:///./node_modules/has-property-descriptors/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/has-tostringtag/shams.js","webpack:///./node_modules/hasown/index.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/is-arguments/index.js","webpack:///./node_modules/is-callable/index.js","webpack:///./node_modules/is-generator-function/index.js","webpack:///./node_modules/is-nan/implementation.js","webpack:///./node_modules/is-nan/index.js","webpack:///./node_modules/is-nan/polyfill.js","webpack:///./node_modules/is-nan/shim.js","webpack:///./node_modules/is-regex/index.js","webpack:///./node_modules/is-string-blank/index.js","webpack:///./node_modules/is-typed-array/index.js","webpack:///./node_modules/math-intrinsics/abs.js","webpack:///./node_modules/math-intrinsics/floor.js","webpack:///./node_modules/math-intrinsics/isNaN.js","webpack:///./node_modules/math-intrinsics/max.js","webpack:///./node_modules/math-intrinsics/min.js","webpack:///./node_modules/math-intrinsics/pow.js","webpack:///./node_modules/math-intrinsics/round.js","webpack:///./node_modules/math-intrinsics/sign.js","webpack:///./node_modules/object-is/implementation.js","webpack:///./node_modules/object-is/index.js","webpack:///./node_modules/object-is/polyfill.js","webpack:///./node_modules/object-is/shim.js","webpack:///./node_modules/object-keys/implementation.js","webpack:///./node_modules/object-keys/index.js","webpack:///./node_modules/object-keys/isArguments.js","webpack:///./node_modules/object.assign/implementation.js","webpack:///./node_modules/object.assign/polyfill.js","webpack:///./node_modules/possible-typed-array-names/index.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/safe-regex-test/index.js","webpack:///./node_modules/set-function-length/index.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///./node_modules/uniqid/index.js","webpack:///./node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/util/support/types.js","webpack:///./node_modules/util/util.js","webpack:///./node_modules/which-typed-array/index.js","webpack:///== undefined) {\\n props.key = '' + maybeKey;\\n }\\n if (children === null || children === undefined) {\\n return React.createElement(type, props);\\n }\\n return Array.isArray(children)\\n ","webpack:///external window \"PropTypes\"","webpack:///external window \"React\"","webpack:///external window \"ReactDOM\"","webpack:///./node_modules/available-typed-arrays/index.js","webpack:///./node_modules/date-fns/_lib/defaultOptions.js","webpack:///./node_modules/date-fns/_lib/format/longFormatters.js","webpack:///./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","webpack:///./node_modules/date-fns/_lib/normalizeDates.js","webpack:///./node_modules/date-fns/_lib/protectedTokens.js","webpack:///./node_modules/date-fns/constants.js","webpack:///./node_modules/date-fns/constructFrom.js","webpack:///./node_modules/date-fns/differenceInCalendarDays.js","webpack:///./node_modules/date-fns/getDayOfYear.js","webpack:///./node_modules/date-fns/startOfYear.js","webpack:///./node_modules/date-fns/_lib/addLeadingZeros.js","webpack:///./node_modules/date-fns/_lib/format/lightFormatters.js","webpack:///./node_modules/date-fns/_lib/format/formatters.js","webpack:///./node_modules/date-fns/format.js","webpack:///./node_modules/date-fns/startOfISOWeekYear.js","webpack:///./node_modules/date-fns/getISOWeek.js","webpack:///./node_modules/date-fns/getISOWeekYear.js","webpack:///./node_modules/date-fns/startOfWeekYear.js","webpack:///./node_modules/date-fns/getWeek.js","webpack:///./node_modules/date-fns/getWeekYear.js","webpack:///./node_modules/date-fns/isDate.js","webpack:///./node_modules/date-fns/isValid.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/formatDistance.js","webpack:///./node_modules/date-fns/locale/_lib/buildFormatLongFn.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/formatLong.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/formatRelative.js","webpack:///./node_modules/date-fns/locale/_lib/buildLocalizeFn.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/localize.js","webpack:///./node_modules/date-fns/locale/_lib/buildMatchFn.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/match.js","webpack:///./node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","webpack:///./node_modules/date-fns/locale/en-US.js","webpack:///./node_modules/date-fns/parseISO.js","webpack:///./node_modules/date-fns/startOfDay.js","webpack:///./node_modules/date-fns/startOfISOWeek.js","webpack:///./node_modules/date-fns/startOfWeek.js","webpack:///./node_modules/date-fns/toDate.js","webpack:///./node_modules/generator-function/index.js","webpack:///./node_modules/ramda/es/append.js","webpack:///./node_modules/ramda/es/internal/_concat.js","webpack:///./node_modules/ramda/es/concat.js","webpack:///./node_modules/ramda/es/internal/_arrayFromIterator.js","webpack:///./node_modules/ramda/es/internal/_includesWith.js","webpack:///./node_modules/ramda/es/internal/_objectIs.js","webpack:///./node_modules/ramda/es/internal/_equals.js","webpack:///./node_modules/ramda/es/internal/_functionName.js","webpack:///./node_modules/ramda/es/equals.js","webpack:///./node_modules/ramda/es/internal/_xfilter.js","webpack:///./node_modules/ramda/es/filter.js","webpack:///./node_modules/ramda/es/internal/_arrayReduce.js","webpack:///./node_modules/ramda/es/internal/_isMap.js","webpack:///./node_modules/ramda/es/internal/_filterMap.js","webpack:///./node_modules/ramda/es/internal/_filter.js","webpack:///./node_modules/ramda/es/hasPath.js","webpack:///./node_modules/ramda/es/has.js","webpack:///./node_modules/ramda/es/includes.js","webpack:///./node_modules/ramda/es/internal/_curry1.js","webpack:///./node_modules/ramda/es/internal/_curry2.js","webpack:///./node_modules/ramda/es/internal/_dispatchable.js","webpack:///./node_modules/ramda/es/internal/_isTransformer.js","webpack:///./node_modules/ramda/es/internal/_has.js","webpack:///./node_modules/ramda/es/internal/_includes.js","webpack:///./node_modules/ramda/es/internal/_indexOf.js","webpack:///./node_modules/ramda/es/internal/_isArguments.js","webpack:///./node_modules/ramda/es/internal/_isArray.js","webpack:///./node_modules/ramda/es/internal/_isFunction.js","webpack:///./node_modules/ramda/es/internal/_isObject.js","webpack:///./node_modules/ramda/es/internal/_isPlaceholder.js","webpack:///./node_modules/ramda/es/internal/_isString.js","webpack:///./node_modules/ramda/es/internal/_xfBase.js","webpack:///./node_modules/ramda/es/isNil.js","webpack:///./node_modules/ramda/es/keys.js","webpack:///./node_modules/ramda/es/omit.js","webpack:///./node_modules/ramda/es/pick.js","webpack:///./node_modules/ramda/es/reject.js","webpack:///./node_modules/ramda/es/internal/_complement.js","webpack:///./node_modules/ramda/es/internal/_map.js","webpack:///./node_modules/ramda/es/internal/_quote.js","webpack:///./node_modules/ramda/es/internal/_toISOString.js","webpack:///./node_modules/ramda/es/internal/_toString.js","webpack:///./node_modules/ramda/es/toString.js","webpack:///./node_modules/ramda/es/type.js","webpack:///./node_modules/ramda/es/internal/_Set.js","webpack:///./node_modules/ramda/es/without.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/concatenation wrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/compat","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/runtime/nonce","webpack:///./node_modules/base64-js/index.js","webpack:///./src/components/css/button.css?4110","webpack:///./src/components/Button.tsx","webpack:///./src/components/css/checklist.css?4b9a","webpack:///./src/components/Checklist.tsx","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack:///./node_modules/@fortawesome/free-regular-svg-icons/index.es.js","webpack:///./src/components/Clipboard.react.js","webpack:///./src/components/ConfirmDialog.react.js","webpack:///./src/components/ConfirmDialogProvider.react.js","webpack:///./src/utils/LazyLoader/datePickerRange.ts","webpack:///./src/utils/DatePickerPersistence.ts","webpack:///./src/components/DatePickerRange.tsx","webpack:///./src/utils/LazyLoader/datePickerSingle.ts","webpack:///./src/components/DatePickerSingle.tsx","webpack:///./src/components/Download.react.js","webpack:///./src/components/Geolocation.react.js","webpack:///./src/components/Interval.react.js","webpack:///./node_modules/ramda/es/internal/_toPairs.js","webpack:///./node_modules/ramda/es/toPairs.js","webpack:///./node_modules/ramda/es/internal/_xany.js","webpack:///./node_modules/ramda/es/internal/_reduced.js","webpack:///./node_modules/ramda/es/any.js","webpack:///./src/fragments/Loading/spinners/DebugTitle.tsx","webpack:///./src/components/Loading.tsx","webpack:///./src/fragments/Loading/spinners/GraphSpinner.tsx","webpack:///./src/fragments/Loading/spinners/CubeSpinner.tsx","webpack:///./src/fragments/Loading/spinners/CircleSpinner.tsx","webpack:///./src/fragments/Loading/spinners/DotSpinner.tsx","webpack:///./src/fragments/Loading/spinners/DefaultSpinner.tsx","webpack:///./src/components/Location.react.js","webpack:///./src/utils/LazyLoader/markdown.ts","webpack:///./src/components/Markdown.tsx","webpack:///./src/components/css/radioitems.css?af42","webpack:///./src/components/RadioItems.tsx","webpack:///./src/utils/LazyLoader/rangeSlider.ts","webpack:///./src/components/css/sliders.css?9e50","webpack:///./src/components/RangeSlider.tsx","webpack:///./src/components/Slider.tsx","webpack:///./src/components/Store.react.js","webpack:///./src/components/css/tabs.css?ebc8","webpack:///./src/components/Tab.tsx","webpack:///./src/components/Tabs.tsx","webpack:///./src/components/css/textarea.css?4273","webpack:///./src/components/Textarea.tsx","webpack:///./src/components/css/tooltip.css?1c92","webpack:///./src/components/Tooltip.tsx","webpack:///./src/components/css/dcc.css?95b0"],"sourcesContent":["var getProto = Object.getPrototypeOf;\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; (typeof current == 'object' || typeof current == 'function') && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"dash_core_components:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","!function(e,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],n):\"object\"==typeof exports?exports[\"dash-component-plugins\"]=n(require(\"react\")):e[\"dash-component-plugins\"]=n(e.React)}(window,(function(e){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p=\"\",t(t.s=1)}([function(n,t){n.exports=e},function(e,n,t){\"use strict\";t.r(n),t.d(n,\"asyncDecorator\",(function(){return u})),t.d(n,\"inheritAsyncDecorator\",(function(){return a})),t.d(n,\"isReady\",(function(){return c})),t.d(n,\"History\",(function(){return d}));var r=t(0);function o(e,n,t,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void t(e)}a.done?n(c):Promise.resolve(c).then(r,o)}function i(e){return function(){var n=this,t=arguments;return new Promise((function(r,i){var u=e.apply(n,t);function a(e){o(u,r,i,a,c,\"next\",e)}function c(e){o(u,r,i,a,c,\"throw\",e)}a(void 0)}))}}var u=function(e,n){var t,o={isReady:new Promise((function(e){t=e})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(e){return setTimeout(i(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t(!0);case 2:o.isReady=!0;case 3:case\"end\":return e.stop()}}),e)}))),0),e}))}))};return Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return o.isReady}}),o.get},a=function(e,n){Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return c(n)}})},c=function(e){return e&&e._dashprivate_isLazyComponentReady};function f(e,n){for(var t=0;t\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nvar _require = require('./internal/errors'),\n _require$codes = _require.codes,\n ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\nvar AssertionError = require('./internal/assert/assertion_error');\nvar _require2 = require('util/'),\n inspect = _require2.inspect;\nvar _require$types = require('util/').types,\n isPromise = _require$types.isPromise,\n isRegExp = _require$types.isRegExp;\nvar objectAssign = require('object.assign/polyfill')();\nvar objectIs = require('object-is/polyfill')();\nvar RegExpPrototypeTest = require('call-bind/callBound')('RegExp.prototype.test');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\nfunction lazyLoadComparison() {\n var comparison = require('./internal/util/comparisons');\n isDeepEqual = comparison.isDeepEqual;\n isDeepStrictEqual = comparison.isDeepStrictEqual;\n}\n\n// Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\nvar escapeFn = function escapeFn(str) {\n return meta[str.charCodeAt(0)];\n};\nvar warned = false;\n\n// The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {};\n\n// All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new AssertionError(obj);\n}\nfunction fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n if (argsLen === 0) {\n internalMessage = 'Failed';\n } else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if (warned === false) {\n warned = true;\n var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n }\n if (argsLen === 2) operator = '!=';\n }\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? 'fail' : operator,\n stackStartFn: stackStartFn || fail\n };\n if (message !== undefined) {\n errArgs.message = message;\n }\n var err = new AssertionError(errArgs);\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n throw err;\n}\nassert.fail = fail;\n\n// The AssertionError is defined in internal/error.\nassert.AssertionError = AssertionError;\nfunction innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n if (argLen === 0) {\n generatedMessage = true;\n message = 'No value argument passed to `assert.ok()`';\n } else if (message instanceof Error) {\n throw message;\n }\n var err = new AssertionError({\n actual: value,\n expected: true,\n message: message,\n operator: '==',\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n}\n\n// Pure assertion tests whether a value is truthy, as determined\n// by !!value.\nfunction ok() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n innerOk.apply(void 0, [ok, args.length].concat(args));\n}\nassert.ok = ok;\n\n// The equality assertion tests shallow, coercive equality with ==.\n/* eslint-disable no-restricted-properties */\nassert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n // eslint-disable-next-line eqeqeq\n if (actual != expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '==',\n stackStartFn: equal\n });\n }\n};\n\n// The non-equality assertion tests for whether two objects are not\n// equal with !=.\nassert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n // eslint-disable-next-line eqeqeq\n if (actual == expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '!=',\n stackStartFn: notEqual\n });\n }\n};\n\n// The equivalence assertion tests a deep equality relation.\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n if (!isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepEqual',\n stackStartFn: deepEqual\n });\n }\n};\n\n// The non-equivalence assertion tests for any deep inequality.\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n if (isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepEqual',\n stackStartFn: notDeepEqual\n });\n }\n};\n/* eslint-enable */\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n if (!isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepStrictEqual',\n stackStartFn: deepStrictEqual\n });\n }\n};\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n if (isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepStrictEqual',\n stackStartFn: notDeepStrictEqual\n });\n }\n}\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (!objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'strictEqual',\n stackStartFn: strictEqual\n });\n }\n};\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notStrictEqual',\n stackStartFn: notStrictEqual\n });\n }\n};\nvar Comparison = /*#__PURE__*/_createClass(function Comparison(obj, keys, actual) {\n var _this = this;\n _classCallCheck(this, Comparison);\n keys.forEach(function (key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && RegExpPrototypeTest(obj[key], actual[key])) {\n _this[key] = actual[key];\n } else {\n _this[key] = obj[key];\n }\n }\n });\n});\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new Comparison(actual, keys);\n var b = new Comparison(expected, keys, actual);\n var err = new AssertionError({\n actual: a,\n expected: b,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\nfunction expectedException(actual, expected, msg, fn) {\n if (typeof expected !== 'function') {\n if (isRegExp(expected)) return RegExpPrototypeTest(expected, actual);\n // assert.doesNotThrow does not accept objects.\n if (arguments.length === 2) {\n throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n }\n\n // Handle primitives properly.\n if (_typeof(actual) !== 'object' || actual === null) {\n var err = new AssertionError({\n actual: actual,\n expected: expected,\n message: msg,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n var keys = Object.keys(expected);\n // Special handle errors to make sure the name and the message are compared\n // as well.\n if (expected instanceof Error) {\n keys.push('name', 'message');\n } else if (keys.length === 0) {\n throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n keys.forEach(function (key) {\n if (typeof actual[key] === 'string' && isRegExp(expected[key]) && RegExpPrototypeTest(expected[key], actual[key])) {\n return;\n }\n compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n }\n // Guard instanceof against arrow functions as they don't have a prototype.\n if (expected.prototype !== undefined && actual instanceof expected) {\n return true;\n }\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n return expected.call({}, actual) === true;\n}\nfunction getActual(fn) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n }\n try {\n fn();\n } catch (e) {\n return e;\n }\n return NO_EXCEPTION_SENTINEL;\n}\nfunction checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n\n return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\nfunction waitForActual(promiseFn) {\n return Promise.resolve().then(function () {\n var resultPromise;\n if (typeof promiseFn === 'function') {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn();\n // Fail in case no promise is returned.\n if (!checkIsPromise(resultPromise)) {\n throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n }\n } else if (checkIsPromise(promiseFn)) {\n resultPromise = promiseFn;\n } else {\n throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n }\n return Promise.resolve().then(function () {\n return resultPromise;\n }).then(function () {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function (e) {\n return e;\n });\n });\n}\nfunction expectsError(stackStartFn, actual, error, message) {\n if (typeof error === 'string') {\n if (arguments.length === 4) {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n if (_typeof(actual) === 'object' && actual !== null) {\n if (actual.message === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n }\n } else if (actual === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n }\n message = error;\n error = undefined;\n } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = '';\n if (error && error.name) {\n details += \" (\".concat(error.name, \")\");\n }\n details += message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n if (error && !expectedException(actual, error, message, stackStartFn)) {\n throw actual;\n }\n}\nfunction expectsNoError(stackStartFn, actual, error, message) {\n if (actual === NO_EXCEPTION_SENTINEL) return;\n if (typeof error === 'string') {\n message = error;\n error = undefined;\n }\n if (!error || expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n stackStartFn: stackStartFn\n });\n }\n throw actual;\n}\nassert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\nassert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return waitForActual(promiseFn).then(function (result) {\n return expectsError.apply(void 0, [rejects, result].concat(args));\n });\n};\nassert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\nassert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n return waitForActual(fn).then(function (result) {\n return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n });\n};\nassert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = 'ifError got unwanted exception: ';\n if (_typeof(err) === 'object' && typeof err.message === 'string') {\n if (err.message.length === 0 && err.constructor) {\n message += err.constructor.name;\n } else {\n message += err.message;\n }\n } else {\n message += inspect(err);\n }\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: 'ifError',\n message: message,\n stackStartFn: ifError\n });\n\n // Make sure we actually have a stack trace!\n var origStack = err.stack;\n if (typeof origStack === 'string') {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split('\\n');\n tmp2.shift();\n // Filter all frames existing in err.stack.\n var tmp1 = newErr.stack.split('\\n');\n for (var i = 0; i < tmp2.length; i++) {\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n }\n throw newErr;\n }\n};\n\n// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a871df3dfb8ea663ef5e1f8f62701ec51384ecb\nfunction internalMatch(string, regexp, message, fn, fnName) {\n if (!isRegExp(regexp)) {\n throw new ERR_INVALID_ARG_TYPE('regexp', 'RegExp', regexp);\n }\n var match = fnName === 'match';\n if (typeof string !== 'string' || RegExpPrototypeTest(regexp, string) !== match) {\n if (message instanceof Error) {\n throw message;\n }\n var generatedMessage = !message;\n\n // 'The input was expected to not match the regular expression ' +\n message = message || (typeof string !== 'string' ? 'The \"string\" argument must be of type string. Received type ' + \"\".concat(_typeof(string), \" (\").concat(inspect(string), \")\") : (match ? 'The input did not match the regular expression ' : 'The input was expected to not match the regular expression ') + \"\".concat(inspect(regexp), \". Input:\\n\\n\").concat(inspect(string), \"\\n\"));\n var err = new AssertionError({\n actual: string,\n expected: regexp,\n message: message,\n operator: fnName,\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n}\nassert.match = function match(string, regexp, message) {\n internalMatch(string, regexp, message, match, 'match');\n};\nassert.doesNotMatch = function doesNotMatch(string, regexp, message) {\n internalMatch(string, regexp, message, doesNotMatch, 'doesNotMatch');\n};\n\n// Expose a strict only variant of assert\nfunction strict() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n innerOk.apply(void 0, [strict, args.length].concat(args));\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n\n'use strict';\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\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); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\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; } }\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _require = require('util/'),\n inspect = _require.inspect;\nvar _require2 = require('../errors'),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n while (count) {\n str += str;\n count--;\n }\n str += str.substring(0, maxCount - str.length);\n return str;\n}\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n};\n\n// Comparing short primitives should just show === / !== instead of using the\n// diff.\nvar kMaxShortLength = 10;\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = '';\n\n // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n }\n\n // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length;\n // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n }\n // Ignore the first characters.\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n }\n\n // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n var maxLines = Math.max(actualLines.length, expectedLines.length);\n // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n');\n\n // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n }\n // Mark the current line as the last diverging one.\n lastPos = i;\n // Add the expected line to the cache.\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++;\n // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n }\n // Mark the current line as the last diverging one.\n lastPos = i;\n // Add the actual line to the result.\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++;\n // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i];\n // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine);\n // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n }\n // Mark the current line as the last diverging one.\n lastPos = i;\n // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2;\n // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = '';\n // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n }\n // Inspected object to big (Show ~20 rows max)\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\nvar AssertionError = /*#__PURE__*/function (_Error, _inspect$custom) {\n _inherits(AssertionError, _Error);\n var _super = _createSuper(AssertionError);\n function AssertionError(options) {\n var _this;\n _classCallCheck(this, AssertionError);\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n if (message != null) {\n _this = _super.call(this, String(message));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n }\n // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _super.call(this, createErrDiff(actual, expected, operator));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n');\n\n // In case \"actual\" is an object, it should not be reference equal.\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n }\n\n // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n while (res.length > 27) {\n res.pop();\n }\n }\n\n // Only print a single input.\n if (res.length === 1) {\n _this = _super.call(this, \"\".concat(base, \" \").concat(res[0]));\n } else {\n _this = _super.call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\"));\n }\n } else {\n var _res = inspectValue(actual);\n var other = '';\n var knownOperators = kReadableOperator[operator];\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n _this = _super.call(this, \"\".concat(_res).concat(other));\n }\n }\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n }\n // Create error message including the error code in the name.\n _this.stack;\n // Reset the name.\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: _inspect$custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread(_objectSpread({}, ctx), {}, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n return AssertionError;\n}( /*#__PURE__*/_wrapNativeSuper(Error), inspect.custom);\nmodule.exports = AssertionError;","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n/* eslint node-core/alphabetize-errors: \"error\" */\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n\n'use strict';\n\n// The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar codes = {};\n\n// Lazy loaded\nvar assert;\nvar util;\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /*#__PURE__*/function (_Base) {\n _inherits(NodeError, _Base);\n var _super = _createSuper(NodeError);\n function NodeError(arg1, arg2, arg3) {\n var _this;\n _classCallCheck(this, NodeError);\n _this = _super.call(this, getMessage(arg1, arg2, arg3));\n _this.code = code;\n return _this;\n }\n return _createClass(NodeError);\n }(Base);\n codes[code] = NodeError;\n}\n\n// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n if (assert === undefined) assert = require('../assert');\n assert(typeof name === 'string', \"'name' must be a string\");\n\n // determiner: 'must be' or 'must not be'\n var determiner;\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n var msg;\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n // TODO(BridgeAR): Improve the output by showing `null` and similar.\n msg += \". Received type \".concat(_typeof(actual));\n return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n if (util === undefined) util = require('util/');\n var inspected = util.inspect(value);\n if (inspected.length > 128) {\n inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n }\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n var type;\n if (value && value.constructor && value.constructor.name) {\n type = \"instance of \".concat(value.constructor.name);\n } else {\n type = \"type \".concat(_typeof(value));\n }\n return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (assert === undefined) assert = require('../assert');\n assert(args.length > 0, 'At least one arg needs to be specified');\n var msg = 'The ';\n var len = args.length;\n args = args.map(function (a) {\n return \"\\\"\".concat(a, \"\\\"\");\n });\n switch (len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar regexFlagsSupported = /a/g.flags !== undefined;\nvar arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function (value) {\n return array.push(value);\n });\n return array;\n};\nvar arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function (value, key) {\n return array.push([key, value]);\n });\n return array;\n};\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\nvar _require$types = require('util/').types,\n isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n isArrayBufferView = _require$types.isArrayBufferView,\n isDate = _require$types.isDate,\n isMap = _require$types.isMap,\n isRegExp = _require$types.isRegExp,\n isSet = _require$types.isSet,\n isNativeError = _require$types.isNativeError,\n isBoxedPrimitive = _require$types.isBoxedPrimitive,\n isNumberObject = _require$types.isNumberObject,\n isStringObject = _require$types.isStringObject,\n isBooleanObject = _require$types.isBooleanObject,\n isBigIntObject = _require$types.isBigIntObject,\n isSymbolObject = _require$types.isSymbolObject,\n isFloat32Array = _require$types.isFloat32Array,\n isFloat64Array = _require$types.isFloat64Array;\nfunction isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n for (var i = 0; i < key.length; i++) {\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n }\n // The maximum size for an array is 2 ** 32 -1.\n return key.length === 10 && key >= Math.pow(2, 32);\n}\nfunction getOwnNonIndexProperties(value) {\n return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n}\n\n// Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n var x = a.length;\n var y = b.length;\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3;\n\n// Check if they have the same source and flags\nfunction areSimilarRegExps(a, b) {\n return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\nfunction areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n for (var offset = 0; offset < a.byteLength; offset++) {\n if (a[offset] !== b[offset]) {\n return false;\n }\n }\n return true;\n}\nfunction areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\nfunction areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\nfunction isEqualBoxedPrimitive(val1, val2) {\n if (isNumberObject(val1)) {\n return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n }\n if (isStringObject(val1)) {\n return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n }\n if (isBooleanObject(val1)) {\n return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n }\n if (isBigIntObject(val1)) {\n return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n }\n return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n}\n\n// Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? objectIs(val1, val2) : true;\n }\n\n // Check more closely if val1 and val2 are equal.\n if (strict) {\n if (_typeof(val1) !== 'object') {\n return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n }\n if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n return false;\n }\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n return false;\n }\n } else {\n if (val1 === null || _typeof(val1) !== 'object') {\n if (val2 === null || _typeof(val2) !== 'object') {\n // eslint-disable-next-line eqeqeq\n return val1 == val2;\n }\n return false;\n }\n if (val2 === null || _typeof(val2) !== 'object') {\n return false;\n }\n }\n var val1Tag = objectToString(val1);\n var val2Tag = objectToString(val2);\n if (val1Tag !== val2Tag) {\n return false;\n }\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) {\n return false;\n }\n var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n if (keys1.length !== keys2.length) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n }\n // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n if (val1Tag === '[object Object]') {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n return false;\n }\n }\n if (isDate(val1)) {\n if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n return false;\n }\n } else if (isRegExp(val1)) {\n if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n return false;\n }\n } else if (isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) {\n return false;\n }\n } else if (isArrayBufferView(val1)) {\n if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n if (!areSimilarFloatArrays(val1, val2)) {\n return false;\n }\n } else if (!areSimilarTypedArrays(val1, val2)) {\n return false;\n }\n // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n if (_keys.length !== _keys2.length) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n } else if (isSet(val1)) {\n if (!isSet(val2) || val1.size !== val2.size) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kIsSet);\n } else if (isMap(val1)) {\n if (!isMap(val2) || val1.size !== val2.size) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kIsMap);\n } else if (isAnyArrayBuffer(val1)) {\n if (!areEqualArrayBuffers(val1, val2)) {\n return false;\n }\n } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\nfunction getEnumerables(val, keys) {\n return keys.filter(function (k) {\n return propertyIsEnumerable(val, k);\n });\n}\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2);\n\n // The pair must have the same number of owned properties.\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n }\n\n // Cheap key test\n var i = 0;\n for (; i < aKeys.length; i++) {\n if (!hasOwnProperty(val2, aKeys[i])) {\n return false;\n }\n }\n if (strict && arguments.length === 5) {\n var symbolKeysA = objectGetOwnPropertySymbols(val1);\n if (symbolKeysA.length !== 0) {\n var count = 0;\n for (i = 0; i < symbolKeysA.length; i++) {\n var key = symbolKeysA[i];\n if (propertyIsEnumerable(val1, key)) {\n if (!propertyIsEnumerable(val2, key)) {\n return false;\n }\n aKeys.push(key);\n count++;\n } else if (propertyIsEnumerable(val2, key)) {\n return false;\n }\n }\n var symbolKeysB = objectGetOwnPropertySymbols(val2);\n if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n return false;\n }\n } else {\n var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n return false;\n }\n }\n }\n if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n return true;\n }\n\n // Use memos to handle cycles.\n if (memos === undefined) {\n memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n } else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n if (val2MemoB !== undefined) {\n return val2MemoA === val2MemoB;\n }\n }\n memos.position++;\n }\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\nfunction setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = arrayFromSet(set);\n for (var i = 0; i < setValues.length; i++) {\n var val2 = setValues[i];\n if (innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n return false;\n}\n\n// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\nfunction findLooseMatchingPrimitives(prim) {\n switch (_typeof(prim)) {\n case 'undefined':\n return null;\n case 'object':\n // Only pass in null as object!\n return undefined;\n case 'symbol':\n return false;\n case 'string':\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n case 'number':\n if (numberIsNaN(prim)) {\n return false;\n }\n }\n return true;\n}\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) {\n return altValue;\n }\n var curB = b.get(altValue);\n if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n return false;\n }\n return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\nfunction setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = arrayFromSet(a);\n for (var i = 0; i < aValues.length; i++) {\n var val = aValues[i];\n // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n if (_typeof(val) === 'object' && val !== null) {\n if (set === null) {\n set = new Set();\n }\n // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false;\n\n // Fast path to detect missing string, symbol, undefined and null values.\n if (!setMightHaveLoosePrim(a, b, val)) {\n return false;\n }\n if (set === null) {\n set = new Set();\n }\n set.add(val);\n }\n }\n if (set !== null) {\n var bValues = arrayFromSet(b);\n for (var _i = 0; _i < bValues.length; _i++) {\n var _val = bValues[_i];\n // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n if (_typeof(_val) === 'object' && _val !== null) {\n if (!setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n return false;\n }\n }\n return set.size === 0;\n }\n return true;\n}\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = arrayFromSet(set);\n for (var i = 0; i < setValues.length; i++) {\n var key2 = setValues[i];\n if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n return false;\n}\nfunction mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = arrayFromMap(a);\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n key = _aEntries$i[0],\n item1 = _aEntries$i[1];\n if (_typeof(key) === 'object' && key !== null) {\n if (set === null) {\n set = new Set();\n }\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false;\n // Fast path to detect missing string, symbol, undefined and null\n // keys.\n if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n if (set === null) {\n set = new Set();\n }\n set.add(key);\n }\n }\n }\n if (set !== null) {\n var bEntries = arrayFromMap(b);\n for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n _key = _bEntries$_i[0],\n item = _bEntries$_i[1];\n if (_typeof(_key) === 'object' && _key !== null) {\n if (!mapHasEqualEntry(set, a, _key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(_key) || !innerDeepEqual(a.get(_key), item, false, memo)) && !mapHasEqualEntry(set, a, _key, item, false, memo)) {\n return false;\n }\n }\n return set.size === 0;\n }\n return true;\n}\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n if (iterationType === kIsSet) {\n if (!setEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsMap) {\n if (!mapEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsArray) {\n for (; i < a.length; i++) {\n if (hasOwnProperty(a, i)) {\n if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n return false;\n }\n } else if (hasOwnProperty(b, i)) {\n return false;\n } else {\n // Array is sparse.\n var keysA = Object.keys(a);\n for (; i < keysA.length; i++) {\n var key = keysA[i];\n if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n return false;\n }\n }\n if (keysA.length !== Object.keys(b).length) {\n return false;\n }\n return true;\n }\n }\n }\n\n // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n for (i = 0; i < keys.length; i++) {\n var _key2 = keys[i];\n if (!innerDeepEqual(a[_key2], b[_key2], strict, memos)) {\n return false;\n }\n }\n return true;\n}\nfunction isDeepEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kLoose);\n}\nfunction isDeepStrictEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kStrict);\n}\nmodule.exports = {\n isDeepEqual: isDeepEqual,\n isDeepStrictEqual: isDeepStrictEqual\n};","import PropTypes from 'prop-types';\n\nexport const privatePropTypes = {\n _dashprivate_transformConfig: PropTypes.func,\n _dashprivate_transformFigure: PropTypes.func,\n _dashprivate_onFigureModified: PropTypes.func,\n};\n\nexport const privateDefaultProps = {\n _dashprivate_transformConfig: c => c,\n _dashprivate_transformFigure: f => f,\n _dashprivate_onFigureModified: f => f,\n};\n","import React, {Component, memo, Suspense} from 'react';\nimport PropTypes from 'prop-types';\n\nimport {asyncDecorator} from '@plotly/dash-component-plugins';\nimport graph from '../utils/LazyLoader/graph';\nimport plotly from '../utils/LazyLoader/plotly';\nimport lazyLoadMathJax from '../utils/LazyLoader/third-party/mathjax';\nimport {\n privatePropTypes,\n privateDefaultProps,\n} from '../fragments/Graph.privateprops';\n\nconst EMPTY_DATA = [];\n\n/**\n * Graph can be used to render any plotly.js-powered data visualization.\n *\n * You can define callbacks based on user interaction with Graphs such as\n * hovering, clicking or selecting\n */\nclass PlotlyGraph extends Component {\n constructor(props) {\n super(props);\n\n if (props.mathjax) {\n PlotlyGraph._loadMathjax = true;\n }\n\n this.state = {\n prependData: [],\n extendData: [],\n };\n\n this.clearState = this.clearState.bind(this);\n }\n\n componentDidMount() {\n if (this.props.prependData) {\n this.setState({\n prependData: [this.props.prependData],\n });\n }\n if (this.props.extendData) {\n this.setState({\n extendData: [this.props.extendData],\n });\n }\n }\n\n componentWillUnmount() {\n this.setState({\n prependData: [],\n extendData: [],\n });\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let prependData = this.state.prependData.slice(0);\n\n if (this.props.figure !== nextProps.figure) {\n prependData = EMPTY_DATA;\n }\n\n if (\n nextProps.prependData &&\n this.props.prependData !== nextProps.prependData\n ) {\n prependData.push(nextProps.prependData);\n } else {\n prependData = EMPTY_DATA;\n }\n\n if (prependData !== EMPTY_DATA) {\n this.setState({\n prependData,\n });\n }\n\n let extendData = this.state.extendData.slice(0);\n\n if (this.props.figure !== nextProps.figure) {\n extendData = EMPTY_DATA;\n }\n\n if (\n nextProps.extendData &&\n this.props.extendData !== nextProps.extendData\n ) {\n extendData.push(nextProps.extendData);\n } else {\n extendData = EMPTY_DATA;\n }\n\n if (extendData !== EMPTY_DATA) {\n this.setState({\n extendData,\n });\n }\n }\n\n clearState(dataKey) {\n this.setState(props => {\n var data = props[dataKey];\n const res =\n data && data.length\n ? {\n [dataKey]: EMPTY_DATA,\n }\n : undefined;\n\n return res;\n });\n }\n\n render() {\n return (\n \n );\n }\n}\n\nconst RealPlotlyGraph = asyncDecorator(PlotlyGraph, () =>\n Promise.all([\n graph(),\n plotly(),\n PlotlyGraph._loadMathjax ? lazyLoadMathJax() : undefined,\n ]).then(([graph]) => graph)\n);\n\nconst ControlledPlotlyGraph = memo(props => {\n const {className, id} = props;\n\n const extendedClassName = className\n ? 'dash-graph ' + className\n : 'dash-graph';\n\n return (\n \n }\n >\n \n \n );\n});\n\nControlledPlotlyGraph.displayName = 'ControlledPlotlyGraph';\n\nPlotlyGraph.propTypes = {\n ...privatePropTypes,\n\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * If True, the Plotly.js plot will be fully responsive to window resize\n * and parent element resize event. This is achieved by overriding\n * `config.responsive` to True, `figure.layout.autosize` to True and unsetting\n * `figure.layout.height` and `figure.layout.width`.\n * If False, the Plotly.js plot not be responsive to window resize and\n * parent element resize event. This is achieved by overriding `config.responsive`\n * to False and `figure.layout.autosize` to False.\n * If 'auto' (default), the Graph will determine if the Plotly.js plot can be made fully\n * responsive (True) or not (False) based on the values in `config.responsive`,\n * `figure.layout.autosize`, `figure.layout.height`, `figure.layout.width`.\n * This is the legacy behavior of the Graph component.\n *\n * Needs to be combined with appropriate dimension / styling through the `style` prop\n * to fully take effect.\n */\n responsive: PropTypes.oneOf([true, false, 'auto']),\n\n /**\n * Data from latest click event. Read-only.\n */\n clickData: PropTypes.object,\n\n /**\n * Data from latest click annotation event. Read-only.\n */\n clickAnnotationData: PropTypes.object,\n\n /**\n * Data from latest hover event. Read-only.\n */\n hoverData: PropTypes.object,\n\n /**\n * If True, `clear_on_unhover` will clear the `hoverData` property\n * when the user \"unhovers\" from a point.\n * If False, then the `hoverData` property will be equal to the\n * data from the last point that was hovered over.\n */\n clear_on_unhover: PropTypes.bool,\n\n /**\n * Data from latest select event. Read-only.\n */\n selectedData: PropTypes.object,\n\n /**\n * Data from latest relayout event which occurs\n * when the user zooms or pans on the plot or other\n * layout-level edits. Has the form `{: }`\n * describing the changes made. Read-only.\n */\n relayoutData: PropTypes.object,\n\n /**\n * Data that should be appended to existing traces. Has the form\n * `[updateData, traceIndices, maxPoints]`, where `updateData` is an object\n * containing the data to extend, `traceIndices` (optional) is an array of\n * trace indices that should be extended, and `maxPoints` (optional) is\n * either an integer defining the maximum number of points allowed or an\n * object with key:value pairs matching `updateData`\n * Reference the Plotly.extendTraces API for full usage:\n * https://plotly.com/javascript/plotlyjs-function-reference/#plotlyextendtraces\n */\n extendData: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n\n /**\n * Data that should be prepended to existing traces. Has the form\n * `[updateData, traceIndices, maxPoints]`, where `updateData` is an object\n * containing the data to prepend, `traceIndices` (optional) is an array of\n * trace indices that should be prepended, and `maxPoints` (optional) is\n * either an integer defining the maximum number of points allowed or an\n * object with key:value pairs matching `updateData`\n * Reference the Plotly.prependTraces API for full usage:\n * https://plotly.com/javascript/plotlyjs-function-reference/#plotlyprependtraces\n */\n prependData: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n\n /**\n * Data from latest restyle event which occurs\n * when the user toggles a legend item, changes\n * parcoords selections, or other trace-level edits.\n * Has the form `[edits, indices]`, where `edits` is an object\n * `{: }` describing the changes made,\n * and `indices` is an array of trace indices that were edited.\n * Read-only.\n */\n restyleData: PropTypes.array,\n\n /**\n * Plotly `figure` object. See schema:\n * https://plotly.com/javascript/reference\n *\n * `config` is set separately by the `config` property\n */\n figure: PropTypes.exact({\n data: PropTypes.arrayOf(PropTypes.object),\n layout: PropTypes.object,\n frames: PropTypes.arrayOf(PropTypes.object),\n }),\n\n /**\n * Generic style overrides on the plot div\n */\n style: PropTypes.object,\n\n /**\n * className of the parent div\n */\n className: PropTypes.string,\n\n /**\n * If true, loads mathjax v3 (tex-svg) into the page and use it in the graph\n */\n mathjax: PropTypes.bool,\n\n /**\n * Beta: If true, animate between updates using\n * plotly.js's `animate` function\n */\n animate: PropTypes.bool,\n\n /**\n * Beta: Object containing animation settings.\n * Only applies if `animate` is `true`\n */\n animation_options: PropTypes.object,\n\n /**\n * Plotly.js config options.\n * See https://plotly.com/javascript/configuration-options/\n * for more info.\n */\n config: PropTypes.exact({\n /**\n * No interactivity, for export or image generation\n */\n staticPlot: PropTypes.bool,\n\n /**\n * Base URL for a Plotly cloud instance, if `showSendToCloud` is enabled\n */\n plotlyServerURL: PropTypes.string,\n\n /**\n * We can edit titles, move annotations, etc - sets all pieces of `edits`\n * unless a separate `edits` config item overrides individual parts\n */\n editable: PropTypes.bool,\n\n /**\n * Enables moving selections\n */\n editSelection: PropTypes.bool,\n\n /**\n * A set of editable properties\n */\n edits: PropTypes.exact({\n /**\n * The main anchor of the annotation, which is the\n * text (if no arrow) or the arrow (which drags the whole thing leaving\n * the arrow length & direction unchanged)\n */\n annotationPosition: PropTypes.bool,\n\n /**\n * Just for annotations with arrows, change the length and direction of the arrow\n */\n annotationTail: PropTypes.bool,\n\n annotationText: PropTypes.bool,\n\n axisTitleText: PropTypes.bool,\n\n colorbarPosition: PropTypes.bool,\n\n colorbarTitleText: PropTypes.bool,\n\n legendPosition: PropTypes.bool,\n\n /**\n * Edit the trace name fields from the legend\n */\n legendText: PropTypes.bool,\n\n shapePosition: PropTypes.bool,\n\n /**\n * The global `layout.title`\n */\n titleText: PropTypes.bool,\n }),\n\n /**\n * DO autosize once regardless of layout.autosize\n * (use default width or height values otherwise)\n */\n autosizable: PropTypes.bool,\n\n /**\n * Whether to change layout size when the window size changes\n */\n responsive: PropTypes.bool,\n\n /**\n * Set the length of the undo/redo queue\n */\n queueLength: PropTypes.number,\n\n /**\n * If we DO autosize, do we fill the container or the screen?\n */\n fillFrame: PropTypes.bool,\n\n /**\n * If we DO autosize, set the frame margins in percents of plot size\n */\n frameMargins: PropTypes.number,\n\n /**\n * Mousewheel or two-finger scroll zooms the plot\n */\n scrollZoom: PropTypes.bool,\n\n /**\n * Double click interaction (false, 'reset', 'autosize' or 'reset+autosize')\n */\n doubleClick: PropTypes.oneOf([\n false,\n 'reset',\n 'autosize',\n 'reset+autosize',\n ]),\n\n /**\n * Delay for registering a double-click event in ms. The\n * minimum value is 100 and the maximum value is 1000. By\n * default this is 300.\n */\n doubleClickDelay: PropTypes.number,\n\n /**\n * New users see some hints about interactivity\n */\n showTips: PropTypes.bool,\n\n /**\n * Enable axis pan/zoom drag handles\n */\n showAxisDragHandles: PropTypes.bool,\n\n /**\n * Enable direct range entry at the pan/zoom drag points\n * (drag handles must be enabled above)\n */\n showAxisRangeEntryBoxes: PropTypes.bool,\n\n /**\n * Link to open this plot in plotly\n */\n showLink: PropTypes.bool,\n\n /**\n * If we show a link, does it contain data or just link to a plotly file?\n */\n sendData: PropTypes.bool,\n\n /**\n * Text appearing in the sendData link\n */\n linkText: PropTypes.string,\n\n /**\n * Display the mode bar (true, false, or 'hover')\n */\n displayModeBar: PropTypes.oneOf([true, false, 'hover']),\n\n /**\n * Should we include a modebar button to send this data to a\n * Plotly Cloud instance, linked by `plotlyServerURL`.\n * By default this is false.\n */\n showSendToCloud: PropTypes.bool,\n\n /**\n * Should we show a modebar button to send this data to a\n * Plotly Chart Studio plot. If both this and showSendToCloud\n * are selected, only showEditInChartStudio will be\n * honored. By default this is false.\n */\n showEditInChartStudio: PropTypes.bool,\n\n /**\n * Remove mode bar button by name.\n * All modebar button names at https://github.com/plotly/plotly.js/blob/master/src/components/modebar/buttons.js\n * Common names include:\n * sendDataToCloud;\n * (2D) zoom2d, pan2d, select2d, lasso2d, zoomIn2d, zoomOut2d, autoScale2d, resetScale2d;\n * (Cartesian) hoverClosestCartesian, hoverCompareCartesian;\n * (3D) zoom3d, pan3d, orbitRotation, tableRotation, handleDrag3d, resetCameraDefault3d, resetCameraLastSave3d, hoverClosest3d;\n * (Geo) zoomInGeo, zoomOutGeo, resetGeo, hoverClosestGeo;\n * hoverClosestGl2d, hoverClosestPie, toggleHover, resetViews.\n */\n modeBarButtonsToRemove: PropTypes.array,\n\n /**\n * Add mode bar button using config objects\n */\n modeBarButtonsToAdd: PropTypes.array,\n\n /**\n * Fully custom mode bar buttons as nested array,\n * where the outer arrays represents button groups, and\n * the inner arrays have buttons config objects or names of default buttons\n */\n modeBarButtons: PropTypes.any,\n\n /**\n * Modifications to how the toImage modebar button works\n */\n toImageButtonOptions: PropTypes.exact({\n /**\n * The file format to create\n */\n format: PropTypes.oneOf(['jpeg', 'png', 'webp', 'svg']),\n /**\n * The name given to the downloaded file\n */\n filename: PropTypes.string,\n /**\n * Width of the downloaded file, in px\n */\n width: PropTypes.number,\n /**\n * Height of the downloaded file, in px\n */\n height: PropTypes.number,\n /**\n * Extra resolution to give the file after\n * rendering it with the given width and height\n */\n scale: PropTypes.number,\n }),\n\n /**\n * Add the plotly logo on the end of the mode bar\n */\n displaylogo: PropTypes.bool,\n\n /**\n * Add the plotly logo even with no modebar\n */\n watermark: PropTypes.bool,\n\n /**\n * Increase the pixel ratio for Gl plot images\n */\n plotGlPixelRatio: PropTypes.number,\n\n /**\n * URL to topojson files used in geo charts\n */\n topojsonURL: PropTypes.string,\n\n /**\n * Mapbox access token (required to plot mapbox trace types)\n * If using an Mapbox Atlas server, set this option to '',\n * so that plotly.js won't attempt to authenticate to the public Mapbox server.\n */\n mapboxAccessToken: PropTypes.any,\n\n /**\n * The locale to use. Locales may be provided with the plot\n * (`locales` below) or by loading them on the page, see:\n * https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization\n */\n locale: PropTypes.string,\n\n /**\n * Localization definitions, if you choose to provide them with the\n * plot rather than registering them globally.\n */\n locales: PropTypes.object,\n\n /**\n * Determines whether or not notifier is displayed\n */\n displayNotifier: PropTypes.bool,\n }),\n\n /**\n * Function that updates the state tree.\n */\n setProps: PropTypes.func,\n};\n\nControlledPlotlyGraph.propTypes = PlotlyGraph.propTypes;\n\nPlotlyGraph.defaultProps = {\n ...privateDefaultProps,\n\n clickData: null,\n clickAnnotationData: null,\n hoverData: null,\n selectedData: null,\n relayoutData: null,\n prependData: null,\n extendData: null,\n restyleData: null,\n figure: {\n data: [],\n layout: {},\n frames: [],\n },\n responsive: 'auto',\n mathjax: false,\n animate: false,\n animation_options: {\n frame: {\n redraw: false,\n },\n transition: {\n duration: 750,\n ease: 'cubic-in-out',\n },\n },\n clear_on_unhover: false,\n config: {},\n};\n\nexport const graphPropTypes = PlotlyGraph.propTypes;\nexport const graphDefaultProps = PlotlyGraph.defaultProps;\n\nexport default PlotlyGraph;\n","export default () => import(/* webpackChunkName: \"graph\" */ '../../fragments/Graph.react');\n\n","export default () => {\n return Promise.resolve(window.Plotly || new Promise((resolve, reject) => {\n /* eslint-disable prefer-const */\n let timeoutId;\n\n const element = document.createElement('script');\n element.src = window._dashPlotlyJSURL;\n element.async = true;\n element.onload = () => {\n clearTimeout(timeoutId);\n resolve();\n };\n element.onerror = (error) => {\n clearTimeout(timeoutId);\n reject(error);\n };\n\n timeoutId = setTimeout(() => {\n element.src = '';\n reject(new Error(`plotly.js did not load after 30 seconds`));\n }, 3 * 10 * 1000);\n\n document.querySelector('body').appendChild(element);\n }));\n}\n","export default () => import(/* webpackChunkName: \"upload\" */ '../../fragments/Upload.react');\n","import PropTypes from 'prop-types';\nimport React, {Component, lazy, Suspense} from 'react';\nimport upload from '../utils/LazyLoader/upload';\n\nconst RealUpload = lazy(upload);\n\n/**\n * Upload components allow your app to accept user-uploaded files via drag'n'drop\n */\nexport default class Upload extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nUpload.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The contents of the uploaded file as a binary string\n */\n contents: PropTypes.oneOfType([\n /**\n * If `multiple` is `false`, then the contents will be a string\n */\n PropTypes.string,\n\n /**\n * If `multiple` is `true`, then the contents will be a list of strings\n */\n PropTypes.arrayOf(PropTypes.string),\n ]),\n\n /**\n * The name of the file(s) that was(were) uploaded.\n * Note that this does not include the path of the file\n * (for security reasons).\n */\n filename: PropTypes.oneOfType([\n /**\n * If `multiple` is `false`, then the contents will be a string\n */\n PropTypes.string,\n\n /**\n * If `multiple` is `true`, then the contents will be a list of strings\n */\n PropTypes.arrayOf(PropTypes.string),\n ]),\n\n /**\n * The last modified date of the file that was uploaded in unix time\n * (seconds since 1970).\n */\n last_modified: PropTypes.oneOfType([\n /**\n * If `multiple` is `false`, then the contents will be a number\n */\n PropTypes.number,\n\n /**\n * If `multiple` is `true`, then the contents will be a list of numbers\n */\n PropTypes.arrayOf(PropTypes.number),\n ]),\n\n /**\n * Contents of the upload component\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\n /**\n * Allow specific types of files.\n * See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across\n * platforms. CSV files, for example, are reported as text/plain\n * under macOS but as application/vnd.ms-excel under Windows.\n * In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n */\n accept: PropTypes.string,\n\n /**\n * Enable/disable the upload component entirely\n */\n disabled: PropTypes.bool,\n\n /**\n * Disallow clicking on the component to open the file dialog\n */\n disable_click: PropTypes.bool,\n\n /**\n * Maximum file size in bytes. If `-1`, then infinite\n */\n max_size: PropTypes.number,\n\n /**\n * Minimum file size in bytes\n */\n min_size: PropTypes.number,\n\n /**\n * Allow dropping multiple files.\n * When true, enables folder drag-and-drop support.\n * The folder hierarchy is preserved in filenames (e.g., 'folder/subfolder/file.txt').\n * Note: Folder drag-and-drop is supported in Chrome, Edge, and Opera.\n */\n multiple: PropTypes.bool,\n\n /**\n * Enable folder selection in the file picker dialog.\n * When true with multiple=True, the file picker allows selecting folders instead of files.\n * Note: When folder selection is enabled, individual files cannot be selected via the button.\n * Use separate Upload components if you need both file and folder selection options.\n * Folder selection is supported in Chrome, Edge, and Opera.\n */\n enable_folder_selection: PropTypes.bool,\n\n /**\n * HTML class name of the component\n */\n className: PropTypes.string,\n\n /**\n * HTML class name of the component while active\n */\n className_active: PropTypes.string,\n\n /**\n * HTML class name of the component if rejected\n */\n className_reject: PropTypes.string,\n\n /**\n * HTML class name of the component if disabled\n */\n className_disabled: PropTypes.string,\n\n /**\n * CSS styles to apply\n */\n style: PropTypes.object,\n\n /**\n * CSS styles to apply while active\n */\n style_active: PropTypes.object,\n\n /**\n * CSS styles if rejected\n */\n style_reject: PropTypes.object,\n\n /**\n * CSS styles if disabled\n */\n style_disabled: PropTypes.object,\n\n /**\n * Dash-supplied function for updating props\n */\n setProps: PropTypes.func,\n};\n\nUpload.defaultProps = {\n disabled: false,\n disable_click: false,\n max_size: -1,\n min_size: 0,\n multiple: false,\n enable_folder_selection: false,\n style: {},\n style_active: {\n borderStyle: 'solid',\n borderColor: '#6c6',\n backgroundColor: '#eee',\n },\n style_disabled: {\n opacity: 0.5,\n },\n style_reject: {\n borderStyle: 'solid',\n borderColor: '#c66',\n backgroundColor: '#eee',\n },\n};\n\nexport const propTypes = Upload.propTypes;\nexport const defaultProps = Upload.defaultProps;\n","import React from 'react';\n\n/**\n * The loading element is used to add `data-dash-is-loading` attribute\n * on html elements. This is used to customize CSS when a component is\n * loading.\n *\n * See: https://dash.plotly.com/loading-states#check-loading-states-from-components\n */\n// eslint-disable-next-line react/prop-types\nfunction LoadingElement({elementType = 'div', ...props}, ref) {\n const ctx = window.dash_component_api.useDashContext();\n const loading = ctx.useLoading();\n\n const givenProps = {\n ...props,\n ref,\n };\n if (loading) {\n givenProps['data-dash-is-loading'] = true;\n }\n\n return React.createElement(elementType, givenProps);\n}\n\nexport default React.forwardRef(LoadingElement);\n","export default () =>\n import(/* webpackChunkName: \"dropdown\" */ '../../fragments/Dropdown');\n","import React, {lazy, Suspense} from 'react';\nimport {DropdownProps, PersistedProps, PersistenceTypes} from '../types';\nimport dropdown from '../utils/LazyLoader/dropdown';\n\nconst RealDropdown = lazy(dropdown);\n\nconst defaultLabels: DropdownProps['labels'] = {\n select_all: 'Select All',\n deselect_all: 'Deselect All',\n selected_count: '{num_selected} selected',\n search: 'Search',\n clear_search: 'Clear search',\n clear_selection: 'Clear selection',\n no_options_found: 'No options found',\n};\n\n/**\n * Dropdown is an interactive dropdown element for selecting one or more\n * items.\n * The values and labels of the dropdown items are specified in the `options`\n * property and the selected item(s) are specified with the `value` property.\n *\n * Use a dropdown when you have many options (more than 5) or when you are\n * constrained for space. Otherwise, you can use RadioItems or a Checklist,\n * which have the benefit of showing the users all of the items at once.\n */\nexport default function Dropdown({\n clearable = true,\n disabled = false,\n multi = false,\n searchable = true,\n labels = defaultLabels,\n optionHeight = 'auto',\n // eslint-disable-next-line no-magic-numbers\n maxHeight = 200,\n closeOnSelect = !multi,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n ...props\n}: DropdownProps) {\n labels = {\n ...defaultLabels,\n ...labels,\n };\n\n return (\n \n \n \n );\n}\n\nDropdown.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","/**\n * inspired by is-number \n * but significantly simplified and sped up by ignoring number and string constructors\n * ie these return false:\n * new Number(1)\n * new String('1')\n */\n\n'use strict';\n\nvar allBlankCharCodes = require('is-string-blank');\n\nmodule.exports = function(n) {\n var type = typeof n;\n if(type === 'string') {\n var original = n;\n n = +n;\n // whitespace strings cast to zero - filter them out\n if(n===0 && allBlankCharCodes(original)) return false;\n }\n else if(type !== 'number') return false;\n\n return n - n < 1;\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./input.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./input.css\";\n export default content && content.locals ? content.locals : undefined;\n","import {pick} from 'ramda';\nimport React, {\n InputHTMLAttributes,\n KeyboardEvent,\n KeyboardEventHandler,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport uniqid from 'uniqid';\nimport fastIsNumeric from 'fast-isnumeric';\nimport LoadingElement from '../utils/_LoadingElement';\nimport {\n HTMLInputTypes,\n InputProps,\n PersistedProps,\n PersistenceTypes,\n} from '../types';\nimport './css/input.css';\n\nconst isNumeric = (val: unknown): val is number => fastIsNumeric(val);\nconst convert = (val: unknown) => (isNumeric(val) ? +val : NaN);\n\nconst isEquivalent = (v1: number, v2: number) =>\n v1 === v2 || (isNaN(v1) && isNaN(v2));\n\nconst inputProps = [\n 'type',\n 'placeholder',\n 'inputMode',\n 'autoComplete',\n 'readOnly',\n 'required',\n 'autoFocus',\n 'list',\n 'multiple',\n 'spellCheck',\n 'name',\n 'min',\n 'max',\n 'step',\n 'minLength',\n 'maxLength',\n 'pattern',\n 'size',\n] as const;\n\ntype HTMLInputProps = Extract<\n (typeof inputProps)[number],\n keyof InputHTMLAttributes\n>;\n\n/**\n * A basic HTML input control for entering text, numbers, or passwords.\n *\n * Note that checkbox and radio types are supported through\n * the Checklist and RadioItems component. Dates, times, and file uploads\n * are also supported through separate components.\n */\nfunction Input({\n type = HTMLInputTypes.text,\n inputMode = 'verbatim',\n n_blur = 0,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n n_blur_timestamp = -1,\n n_submit = 0,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n n_submit_timestamp = -1,\n debounce = false,\n step = 'any',\n autoComplete = 'off',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n disabled,\n ...props\n}: InputProps) {\n const input = useRef(document.createElement('input'));\n const [value, setValue] = useState(props.value);\n const [pendingEvent, setPendingEvent] = useState();\n const inputId = useState(() => uniqid('input-'))[0];\n\n const valprops = type === HTMLInputTypes.number ? {} : {value: value ?? ''};\n let {className} = props;\n className = 'dash-input' + (className ? ` ${className}` : '');\n\n const setPropValue = useCallback(\n (base: InputProps['value'], value: InputProps['value']) => {\n const {setProps} = props;\n base = convert(base);\n value = input.current.checkValidity() ? convert(value) : NaN;\n\n if (!isEquivalent(base, value)) {\n setProps({value});\n }\n },\n [props.setProps]\n );\n\n const onEvent = () => {\n const {value: inputValue} = input.current;\n const valueAsNumber = convert(inputValue);\n if (type === HTMLInputTypes.number) {\n setPropValue(props.value, valueAsNumber ?? value);\n } else {\n const propValue =\n inputValue === '' && props.value === undefined\n ? undefined\n : inputValue;\n props.setProps({value: propValue});\n }\n setPendingEvent(undefined);\n };\n\n const onBlur = useCallback(() => {\n props.setProps({\n n_blur: (n_blur ?? 0) + 1,\n n_blur_timestamp: Date.now(),\n });\n input.current.checkValidity();\n return debounce === true && onEvent();\n }, [n_blur, debounce]);\n\n const onChange = useCallback(() => {\n const {value} = input.current;\n setValue(value);\n }, []);\n\n const onKeyDown: KeyboardEventHandler = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n props.setProps({\n n_submit: (n_submit ?? 0) + 1,\n n_submit_timestamp: Date.now(),\n });\n }\n return debounce === true && e.key === 'Enter' && onEvent();\n },\n [n_submit, debounce]\n );\n\n const setInputValue = useCallback(\n (base: InputProps['value'], value: InputProps['value']) => {\n base = input.current.checkValidity() ? convert(base) : NaN;\n value = convert(value);\n\n if (!isEquivalent(base, value)) {\n if (typeof value === 'undefined') {\n input.current.value = '';\n } else {\n input.current.value = `${value}`;\n }\n }\n },\n []\n );\n\n const debounceEvent = useCallback(\n (seconds = 0.5) => {\n const {value} = input.current;\n window.clearTimeout(pendingEvent);\n setPendingEvent(\n window.setTimeout(() => {\n onEvent();\n }, seconds * 1000)\n );\n\n setValue(value);\n },\n [pendingEvent]\n );\n\n const handleStepperClick = useCallback(\n (direction: 'increment' | 'decrement') => {\n const currentValue = parseFloat(input.current.value) || 0;\n const stepAsNum = parseFloat(step as string) || 1;\n\n // Count decimal places to avoid floating point precision issues\n const decimalPlaces = (stepAsNum.toString().split('.')[1] || '')\n .length;\n\n const newValue =\n direction === 'increment'\n ? currentValue + stepAsNum\n : currentValue - stepAsNum;\n\n // Apply min/max constraints\n let constrainedValue = newValue;\n if (props.min !== null && props.min !== undefined) {\n constrainedValue = Math.max(\n constrainedValue,\n parseFloat(props.min as string)\n );\n }\n if (props.max !== null && props.max !== undefined) {\n constrainedValue = Math.min(\n constrainedValue,\n parseFloat(props.max as string)\n );\n }\n\n // Round to the step's decimal precision\n const roundedValue = parseFloat(\n constrainedValue.toFixed(decimalPlaces)\n );\n\n input.current.value = roundedValue.toString();\n setValue(roundedValue.toString());\n onEvent();\n },\n [step, props.min, props.max, onEvent]\n );\n\n useEffect(() => {\n const {value} = input.current;\n if (pendingEvent || props.value === value) {\n return;\n }\n const valueAsNumber = convert(value);\n setInputValue(valueAsNumber ?? value, props.value);\n if (type !== HTMLInputTypes.number) {\n setValue(props.value);\n }\n }, [props.value, type, pendingEvent]);\n\n useEffect(() => {\n // Skip this effect if the value change came from props update (not user input)\n if (value === props.value) {\n return;\n }\n\n const {selectionStart: cursorPosition} = input.current;\n if (debounce) {\n if (typeof debounce === 'number' && Number.isFinite(debounce)) {\n debounceEvent(debounce);\n }\n if (type !== HTMLInputTypes.number) {\n setTimeout(() => {\n input.current.setSelectionRange(\n cursorPosition,\n cursorPosition\n );\n }, 0);\n }\n } else {\n onEvent();\n }\n }, [value, debounce, type]);\n\n const disabledAsBool = [true, 'disabled', 'DISABLED'].includes(\n disabled ?? false\n );\n\n const pickedInputs = pick(inputProps, {\n ...props,\n type,\n inputMode,\n step,\n autoComplete,\n disabled: disabledAsBool,\n }) as Pick, HTMLInputProps>;\n\n const isNumberInput = type === HTMLInputTypes.number;\n const currentNumericValue = parseFloat(String(value ?? 0)) || 0;\n const minValue = convert(props.min);\n const maxValue = convert(props.max);\n const isDecrementDisabled =\n disabledAsBool || currentNumericValue <= minValue;\n const isIncrementDisabled =\n disabledAsBool || currentNumericValue >= maxValue;\n\n return (\n \n {loadingProps => (\n \n \n {isNumberInput && (\n handleStepperClick('decrement')}\n disabled={isDecrementDisabled}\n aria-controls={props.id || inputId}\n aria-label=\"Decrease value\"\n >\n −\n \n )}\n {isNumberInput && (\n handleStepperClick('increment')}\n disabled={isIncrementDisabled}\n aria-controls={props.id || inputId}\n aria-label=\"Increase value\"\n >\n +\n \n )}\n
\n )}\n \n );\n}\n\nInput.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n\nexport default Input;\n","import React, {useEffect, useMemo} from 'react';\nimport {isNil} from 'ramda';\n\nimport LoadingElement from '../utils/_LoadingElement';\nimport {LinkProps} from '../types';\n\ntype LinkComponentProps = LinkProps & {\n setProps?: (props: Record) => void;\n};\n\n/**\n * Link allows you to create a clickable link within a multi-page app.\n *\n * For links with destinations outside the current app, `html.A` is a better\n * component to use.\n */\nconst Link = ({\n refresh = false,\n scrollToTop = true,\n ...props\n}: LinkComponentProps) => {\n const {className, style, id, href, children, title, target, setProps} =\n props;\n const cleanUrl = window.dash_clientside.clean_url;\n const sanitizedUrl = useMemo(() => {\n return href ? cleanUrl(href) : undefined;\n }, [href]);\n\n const updateLocation = (e: React.MouseEvent) => {\n const hasModifiers = e.metaKey || e.shiftKey || e.altKey || e.ctrlKey;\n\n if (hasModifiers) {\n return;\n }\n if (target !== '_self' && !isNil(target)) {\n return;\n }\n // prevent anchor from updating location\n e.preventDefault();\n if (refresh) {\n window.location.href = sanitizedUrl as string;\n } else {\n window.history.pushState({}, '', sanitizedUrl);\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n if (scrollToTop) {\n window.scrollTo(0, 0);\n }\n };\n\n useEffect(() => {\n if (sanitizedUrl && sanitizedUrl !== href) {\n setProps?.({\n _dash_error: new Error(`Dangerous link detected:: ${href}`),\n });\n }\n }, [href, sanitizedUrl]);\n\n return (\n \n {loadingProps => (\n \n {isNil(children) ? sanitizedUrl : children}\n \n )}\n \n );\n};\n\nexport default Link;\n","import React, {ButtonHTMLAttributes, DetailedHTMLProps} from 'react';\nimport {BaseDashProps, DashComponent} from '@dash-renderer/types';\n\nexport enum PersistenceTypes {\n 'local' = 'local',\n 'session' = 'session',\n 'memory' = 'memory',\n}\n\nexport enum PersistedProps {\n 'value' = 'value',\n 'date' = 'date',\n 'start_date' = 'start_date',\n 'end_date' = 'end_date',\n}\n\nexport interface BaseDccProps\n extends Pick {\n /**\n * Additional CSS class for the root DOM node\n */\n className?: string;\n\n /**\n * Dash-assigned callback that gets fired when component properties change\n */\n setProps: (props: Partial) => void;\n\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, a `value` that the user has\n * changed while using the app will keep that change, as long as\n * the new `value` also matches what was given originally.\n * Used in conjunction with `persistence_type`.\n */\n persistence?: boolean | string | number;\n\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page. Since only `value` is allowed this prop can\n * normally be ignored.\n */\n persisted_props?: PersistedProps[];\n\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type?: PersistenceTypes;\n}\n\nexport type ButtonProps = BaseDccProps & {\n /**\n * The children of this component.\n */\n children?: React.ReactNode;\n /**\n * Defines the type of the element.\n */\n type?: 'submit' | 'reset' | 'button';\n /**\n * The element should be automatically focused after the page loaded.\n */\n autoFocus?: boolean;\n /**\n * Indicates whether the user can interact with the element.\n */\n disabled?: boolean;\n /**\n * Indicates the form that is the owner of the element.\n */\n form?: string;\n /**\n * Indicates the action of the element, overriding the action defined in the
.\n */\n formAction?: string;\n /**\n * If the button/input is a submit button (type=\"submit\"), this attribute sets the encoding type to use during form submission. If this attribute is specified, it overrides the enctype attribute of the button's form owner.\n */\n formEncType?: string;\n /**\n * If the button/input is a submit button (type=\"submit\"), this attribute sets the submission method to use during form submission (GET, POST, etc.). If this attribute is specified, it overrides the method attribute of the button's form owner.\n */\n formMethod?: string;\n /**\n * If the button/input is a submit button (type=\"submit\"), this boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the novalidate attribute of the button's form owner.\n */\n formNoValidate?: boolean;\n /**\n * If the button/input is a submit button (type=\"submit\"), this attribute specifies the browsing context (for example, tab, window, or inline frame) in which to display the response that is received after submitting the form. If this attribute is specified, it overrides the target attribute of the button's form owner.\n */\n formTarget?: string;\n /**\n * Name of the element. For example used by the server to identify the fields in form submits.\n */\n name?: string;\n /**\n * Defines a default value which will be displayed in the element on page load.\n */\n value?: string | string[] | number;\n /**\n * Keyboard shortcut to activate or add focus to the element.\n */\n accessKey?: string;\n /**\n * Indicates whether the element's content is editable.\n */\n contentEditable?: boolean | 'true' | 'false' | 'inherit';\n /**\n * Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left).\n */\n dir?: string;\n /**\n * Defines whether the element can be dragged.\n */\n draggable?: boolean;\n /**\n * Prevents rendering of given element, while keeping child elements, e.g. script elements, active.\n */\n hidden?: boolean;\n /**\n * Defines the language used in the element.\n */\n lang?: string;\n /**\n * Defines the role of an element in the context of accessibility.\n */\n role?: string;\n /**\n * Indicates whether spell checking is allowed for the element.\n */\n spellCheck?: boolean;\n /**\n * Defines CSS styles which will override styles previously set.\n */\n style?: React.CSSProperties;\n /**\n * Overrides the browser's default tab order and follows the one specified instead.\n */\n tabIndex?: number;\n /**\n * Text to be displayed in a tooltip when hovering over the element.\n */\n title?: string;\n /**\n * Number of times the button lost focus.\n */\n n_blur?: number;\n /**\n * Last time the button lost focus.\n */\n n_blur_timestamp?: number;\n /**\n * Number of times the button has been clicked.\n */\n n_clicks?: number;\n /**\n * Last time the button was clicked.\n */\n n_clicks_timestamp?: number;\n};\n\nexport enum HTMLInputTypes {\n // Only allowing the input types with wide browser compatibility\n 'text' = 'text',\n 'number' = 'number',\n 'password' = 'password',\n 'email' = 'email',\n 'range' = 'range',\n 'search' = 'search',\n 'tel' = 'tel',\n 'url' = 'url',\n 'hidden' = 'hidden',\n}\n\nexport interface InputProps extends BaseDccProps {\n /**\n * The value of the input\n */\n value?: string | number;\n /**\n * The type of control to render.\n */\n type?: HTMLInputTypes;\n /**\n * If true, changes to input will be sent back to the Dash server only on enter or when losing focus.\n * If it's false, it will send the value back on every change.\n * If a number, it will not send anything back to the Dash server until the user has stopped\n * typing for that number of seconds.\n */\n debounce?: boolean | number;\n /**\n * A hint to the user of what can be entered in the control . The placeholder text must not contain carriage returns or line-feeds. Note: Do not use the placeholder attribute instead of a
\n );\n }\n\n return (\n \n \n String(data.options[index]?.value ?? index)\n }\n >\n {Row}\n \n {sizerDiv && (\n
\n {sizerDiv}\n
\n )}\n
\n );\n }\n);\n\nOptionsList.displayName = 'OptionsList';\n","import React from 'react';\nimport {DetailedOption, DropdownProps, OptionValue} from '../types';\n\nconst isOptionValue = (option: unknown): option is OptionValue => {\n return ['string', 'number', 'boolean'].includes(typeof option);\n};\n\nexport interface SanitizedResult {\n options: DetailedOption[];\n valueSet: Set;\n}\n\nexport const sanitizeOptions = (\n options: DropdownProps['options']\n): SanitizedResult => {\n const valueSet = new Set();\n let result: DetailedOption[];\n\n if (typeof options === 'object' && !(options instanceof Array)) {\n result = Object.entries(options).map(([value, label]) => {\n const opt = {\n label: React.isValidElement(label) ? label : String(label),\n value,\n };\n valueSet.add(value);\n return opt;\n });\n } else if (options instanceof Array) {\n result = options.map(option => {\n const opt = isOptionValue(option)\n ? {label: String(option), value: option}\n : option;\n valueSet.add(opt.value);\n return opt;\n });\n } else {\n result = [];\n }\n\n return {options: result, valueSet};\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = 1 + originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\tadjustedLength > 0 ? adjustedLength : 0,\n\t\ttrue\n\t);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-button {\\n line-height: 32px;\\n background: var(--Dash-Fill-Interactive-Weak);\\n color: var(--Dash-Fill-Interactive-Strong);\\n padding: 0 calc(var(--Dash-Spacing) * 2);\\n border-radius: 4px;\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n box-sizing: border-box;\\n vertical-align: middle;\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n/* Hover state - stronger background */\\n.dash-button:hover {\\n cursor: pointer;\\n background: var(--Dash-Fill-Inverse-Strong);\\n color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Active state (clicking) - inverted colors */\\n.dash-button:active {\\n background: var(--Dash-Fill-Interactive-Strong);\\n color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Keyboard focus - inverted colors */\\n.dash-button:focus-visible {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Hover after keyboard focus - keep inverted but acknowledge hover */\\n.dash-button:focus-visible:hover {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Active state after keyboard focus - inverted colors */\\n.dash-button:focus-visible:active {\\n background: var(--Dash-Fill-Interactive-Strong);\\n color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Disabled state */\\n.dash-button:disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n background: var(--Dash-Fill-Disabled);\\n color: var(--Dash-Text-Strong);\\n border-color: var(--Dash-Stroke-Weak);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/button.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,iBAAiB;IACjB,6CAA6C;IAC7C,0CAA0C;IAC1C,wCAAwC;IACxC,kBAAkB;IAClB,qDAAqD;IACrD,sBAAsB;IACtB,sBAAsB;IACtB,oBAAoB;IACpB,kBAAkB;AACtB;;AAEA,sCAAsC;AACtC;IACI,eAAe;IACf,2CAA2C;IAC3C,0CAA0C;AAC9C;;AAEA,8CAA8C;AAC9C;IACI,+CAA+C;IAC/C,sCAAsC;AAC1C;;AAEA,qCAAqC;AACrC;IACI,sDAAsD;AAC1D;;AAEA,qEAAqE;AACrE;IACI,sDAAsD;AAC1D;;AAEA,wDAAwD;AACxD;IACI,+CAA+C;IAC/C,sCAAsC;AAC1C;;AAEA,mBAAmB;AACnB;IACI,YAAY;IACZ,mBAAmB;IACnB,qCAAqC;IACrC,8BAA8B;IAC9B,qCAAqC;AACzC\",\"sourcesContent\":[\".dash-button {\\n line-height: 32px;\\n background: var(--Dash-Fill-Interactive-Weak);\\n color: var(--Dash-Fill-Interactive-Strong);\\n padding: 0 calc(var(--Dash-Spacing) * 2);\\n border-radius: 4px;\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n box-sizing: border-box;\\n vertical-align: middle;\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n/* Hover state - stronger background */\\n.dash-button:hover {\\n cursor: pointer;\\n background: var(--Dash-Fill-Inverse-Strong);\\n color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Active state (clicking) - inverted colors */\\n.dash-button:active {\\n background: var(--Dash-Fill-Interactive-Strong);\\n color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Keyboard focus - inverted colors */\\n.dash-button:focus-visible {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Hover after keyboard focus - keep inverted but acknowledge hover */\\n.dash-button:focus-visible:hover {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Active state after keyboard focus - inverted colors */\\n.dash-button:focus-visible:active {\\n background: var(--Dash-Fill-Interactive-Strong);\\n color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Disabled state */\\n.dash-button:disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n background: var(--Dash-Fill-Disabled);\\n color: var(--Dash-Text-Strong);\\n border-color: var(--Dash-Stroke-Weak);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-options-list-option.dash-checklist-inline {\\n display: inline-flex;\\n margin-right: calc(var(--Dash-Spacing) * 4);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/checklist.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,oBAAoB;IACpB,2CAA2C;AAC/C\",\"sourcesContent\":[\".dash-options-list-option.dash-checklist-inline {\\n display: inline-flex;\\n margin-right: calc(var(--Dash-Spacing) * 4);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root {\\n --Dash-Spacing: 4px;\\n --Dash-Stroke-Strong: rgba(0, 18, 77, 0.45);\\n --Dash-Stroke-Weak: rgba(0, 24, 102, 0.1);\\n --Dash-Fill-Interactive-Strong: #7f4bc4;\\n --Dash-Fill-Interactive-Weak: rgba(0, 30, 128, 0.04);\\n --Dash-Fill-Inverse-Strong: #fff;\\n --Dash-Text-Primary: rgba(0, 18, 77, 0.87);\\n --Dash-Text-Strong: rgba(0, 9, 38, 0.9);\\n --Dash-Text-Weak: rgba(0, 12, 51, 0.65);\\n --Dash-Text-Disabled: rgba(0, 21, 89, 0.6);\\n --Dash-Fill-Primary-Hover: rgba(0, 18, 77, 0.04);\\n --Dash-Fill-Primary-Active: rgba(0, 18, 77, 0.08);\\n --Dash-Fill-Disabled: rgba(0, 24, 102, 0.1);\\n --Dash-Shading-Strong: rgba(22, 23, 24, 0.35);\\n --Dash-Shading-Weak: rgba(22, 23, 24, 0.2);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/dcc.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,mBAAmB;IACnB,2CAA2C;IAC3C,yCAAyC;IACzC,uCAAuC;IACvC,oDAAoD;IACpD,gCAAgC;IAChC,0CAA0C;IAC1C,uCAAuC;IACvC,uCAAuC;IACvC,0CAA0C;IAC1C,gDAAgD;IAChD,iDAAiD;IACjD,2CAA2C;IAC3C,6CAA6C;IAC7C,0CAA0C;AAC9C\",\"sourcesContent\":[\":root {\\n --Dash-Spacing: 4px;\\n --Dash-Stroke-Strong: rgba(0, 18, 77, 0.45);\\n --Dash-Stroke-Weak: rgba(0, 24, 102, 0.1);\\n --Dash-Fill-Interactive-Strong: #7f4bc4;\\n --Dash-Fill-Interactive-Weak: rgba(0, 30, 128, 0.04);\\n --Dash-Fill-Inverse-Strong: #fff;\\n --Dash-Text-Primary: rgba(0, 18, 77, 0.87);\\n --Dash-Text-Strong: rgba(0, 9, 38, 0.9);\\n --Dash-Text-Weak: rgba(0, 12, 51, 0.65);\\n --Dash-Text-Disabled: rgba(0, 21, 89, 0.6);\\n --Dash-Fill-Primary-Hover: rgba(0, 18, 77, 0.04);\\n --Dash-Fill-Primary-Active: rgba(0, 18, 77, 0.08);\\n --Dash-Fill-Disabled: rgba(0, 24, 102, 0.1);\\n --Dash-Shading-Strong: rgba(22, 23, 24, 0.35);\\n --Dash-Shading-Weak: rgba(22, 23, 24, 0.2);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Input container styles */\\n.dash-input-container {\\n position: relative;\\n display: inline-flex;\\n align-items: center;\\n width: 100%;\\n height: 34px;\\n background: var(--Dash-Fill-Inverse-Strong);\\n border-radius: var(--Dash-Spacing);\\n border: 1px solid var(--Dash-Stroke-Strong);\\n box-sizing: border-box;\\n container-type: inline-size;\\n vertical-align: middle;\\n color: inherit;\\n overflow: hidden;\\n}\\n\\n.dash-input-container:focus-within {\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-container:has(:focus-visible) {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-container:has(.dash-input-element:disabled) {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n.dash-input-container input:focus {\\n outline: none;\\n}\\n\\n.dash-input-container:has(input[type='range']) {\\n background: inherit;\\n}\\n\\n/* Input field styles */\\n.dash-input-element {\\n padding: var(--Dash-Spacing) calc(2 * var(--Dash-Spacing));\\n color: inherit;\\n background: inherit;\\n border: none;\\n border-radius: var(--Dash-Spacing);\\n flex: 1 1 0;\\n min-width: 0;\\n height: 100%;\\n box-sizing: border-box;\\n z-index: 1;\\n order: 2;\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n.dash-input-element::selection,\\n.dash-input-element::-webkit-selection {\\n color: var(--Dash-Fill-Inverse-Strong);\\n background: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-element:disabled {\\n cursor: not-allowed;\\n}\\n\\n/* Hide native steppers for number inputs */\\n.dash-input-element[type='number'] {\\n -moz-appearance: textfield;\\n border-radius: 0;\\n}\\n\\n.dash-input-element[type='number']::-webkit-outer-spin-button,\\n.dash-input-element[type='number']::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n\\n/* Show native steppers when container is narrow and input is number type */\\n@container (max-width: 99px) {\\n .dash-input-element[type='number'] {\\n -moz-appearance: number-input;\\n }\\n\\n .dash-input-element[type='number']::-webkit-outer-spin-button,\\n .dash-input-element[type='number']::-webkit-inner-spin-button {\\n -webkit-appearance: inner-spin-button;\\n margin: 0;\\n }\\n}\\n\\n/* Stepper button base styles */\\n.dash-input-stepper {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 32px;\\n height: 100%;\\n border: none;\\n background: var(--Dash-Fill-Inverse-Strong);\\n cursor: pointer;\\n font-size: 16px;\\n font-weight: bold;\\n color: var(--Dash-Text-Primary);\\n}\\n\\n.dash-input-stepper:hover,\\n.dash-input-stepper:focus {\\n background: var(--Dash-Fill-Primary-Hover);\\n}\\n\\n.dash-input-stepper:active {\\n background: var(--Dash-Fill-Primary-Active);\\n}\\n\\n.dash-input-stepper:disabled {\\n background: var(--Dash-Fill-Inverse-Strong);\\n opacity: 0.5;\\n cursor: default;\\n}\\n\\n@container (max-width: 99px) {\\n .dash-input-stepper {\\n display: none;\\n }\\n}\\n\\n/* Decrement button specific styles */\\n.dash-input-stepper.dash-stepper-decrement {\\n border-right: 1px solid var(--Dash-Stroke-Weak);\\n border-radius: var(--Dash-Spacing) 0 0 var(--Dash-Spacing);\\n order: 1;\\n}\\n\\n/* Increment button specific styles */\\n.dash-input-stepper.dash-stepper-increment {\\n border-left: 1px solid var(--Dash-Stroke-Weak);\\n border-radius: 0 var(--Dash-Spacing) var(--Dash-Spacing) 0;\\n order: 3;\\n}\\n\\n/* Hidden input type */\\n.dash-input-container.dash-input-hidden {\\n display: none;\\n}\\n\\ninput.dash-input-element:invalid {\\n color: red;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/input.css\"],\"names\":[],\"mappings\":\"AAAA,2BAA2B;AAC3B;IACI,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,WAAW;IACX,YAAY;IACZ,2CAA2C;IAC3C,kCAAkC;IAClC,2CAA2C;IAC3C,sBAAsB;IACtB,2BAA2B;IAC3B,sBAAsB;IACtB,cAAc;IACd,gBAAgB;AACpB;;AAEA;IACI,qDAAqD;AACzD;;AAEA;IACI,sDAAsD;AAC1D;;AAEA;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,mBAAmB;AACvB;;AAEA,uBAAuB;AACvB;IACI,0DAA0D;IAC1D,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,kCAAkC;IAClC,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,sBAAsB;IACtB,UAAU;IACV,QAAQ;IACR,iDAAiD;IACjD,oBAAoB;IACpB,kBAAkB;AACtB;;AAEA;;IAEI,sCAAsC;IACtC,+CAA+C;AACnD;;AAEA;IACI,mBAAmB;AACvB;;AAEA,2CAA2C;AAC3C;IACI,0BAA0B;IAC1B,gBAAgB;AACpB;;AAEA;;IAEI,wBAAwB;IACxB,SAAS;AACb;;AAEA,2EAA2E;AAC3E;IACI;QACI,6BAA6B;IACjC;;IAEA;;QAEI,qCAAqC;QACrC,SAAS;IACb;AACJ;;AAEA,+BAA+B;AAC/B;IACI,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,2CAA2C;IAC3C,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,+BAA+B;AACnC;;AAEA;;IAEI,0CAA0C;AAC9C;;AAEA;IACI,2CAA2C;AAC/C;;AAEA;IACI,2CAA2C;IAC3C,YAAY;IACZ,eAAe;AACnB;;AAEA;IACI;QACI,aAAa;IACjB;AACJ;;AAEA,qCAAqC;AACrC;IACI,+CAA+C;IAC/C,0DAA0D;IAC1D,QAAQ;AACZ;;AAEA,qCAAqC;AACrC;IACI,8CAA8C;IAC9C,0DAA0D;IAC1D,QAAQ;AACZ;;AAEA,sBAAsB;AACtB;IACI,aAAa;AACjB;;AAEA;IACI,UAAU;AACd\",\"sourcesContent\":[\"/* Input container styles */\\n.dash-input-container {\\n position: relative;\\n display: inline-flex;\\n align-items: center;\\n width: 100%;\\n height: 34px;\\n background: var(--Dash-Fill-Inverse-Strong);\\n border-radius: var(--Dash-Spacing);\\n border: 1px solid var(--Dash-Stroke-Strong);\\n box-sizing: border-box;\\n container-type: inline-size;\\n vertical-align: middle;\\n color: inherit;\\n overflow: hidden;\\n}\\n\\n.dash-input-container:focus-within {\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-container:has(:focus-visible) {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-container:has(.dash-input-element:disabled) {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n.dash-input-container input:focus {\\n outline: none;\\n}\\n\\n.dash-input-container:has(input[type='range']) {\\n background: inherit;\\n}\\n\\n/* Input field styles */\\n.dash-input-element {\\n padding: var(--Dash-Spacing) calc(2 * var(--Dash-Spacing));\\n color: inherit;\\n background: inherit;\\n border: none;\\n border-radius: var(--Dash-Spacing);\\n flex: 1 1 0;\\n min-width: 0;\\n height: 100%;\\n box-sizing: border-box;\\n z-index: 1;\\n order: 2;\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n.dash-input-element::selection,\\n.dash-input-element::-webkit-selection {\\n color: var(--Dash-Fill-Inverse-Strong);\\n background: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-element:disabled {\\n cursor: not-allowed;\\n}\\n\\n/* Hide native steppers for number inputs */\\n.dash-input-element[type='number'] {\\n -moz-appearance: textfield;\\n border-radius: 0;\\n}\\n\\n.dash-input-element[type='number']::-webkit-outer-spin-button,\\n.dash-input-element[type='number']::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n\\n/* Show native steppers when container is narrow and input is number type */\\n@container (max-width: 99px) {\\n .dash-input-element[type='number'] {\\n -moz-appearance: number-input;\\n }\\n\\n .dash-input-element[type='number']::-webkit-outer-spin-button,\\n .dash-input-element[type='number']::-webkit-inner-spin-button {\\n -webkit-appearance: inner-spin-button;\\n margin: 0;\\n }\\n}\\n\\n/* Stepper button base styles */\\n.dash-input-stepper {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 32px;\\n height: 100%;\\n border: none;\\n background: var(--Dash-Fill-Inverse-Strong);\\n cursor: pointer;\\n font-size: 16px;\\n font-weight: bold;\\n color: var(--Dash-Text-Primary);\\n}\\n\\n.dash-input-stepper:hover,\\n.dash-input-stepper:focus {\\n background: var(--Dash-Fill-Primary-Hover);\\n}\\n\\n.dash-input-stepper:active {\\n background: var(--Dash-Fill-Primary-Active);\\n}\\n\\n.dash-input-stepper:disabled {\\n background: var(--Dash-Fill-Inverse-Strong);\\n opacity: 0.5;\\n cursor: default;\\n}\\n\\n@container (max-width: 99px) {\\n .dash-input-stepper {\\n display: none;\\n }\\n}\\n\\n/* Decrement button specific styles */\\n.dash-input-stepper.dash-stepper-decrement {\\n border-right: 1px solid var(--Dash-Stroke-Weak);\\n border-radius: var(--Dash-Spacing) 0 0 var(--Dash-Spacing);\\n order: 1;\\n}\\n\\n/* Increment button specific styles */\\n.dash-input-stepper.dash-stepper-increment {\\n border-left: 1px solid var(--Dash-Stroke-Weak);\\n border-radius: 0 var(--Dash-Spacing) var(--Dash-Spacing) 0;\\n order: 3;\\n}\\n\\n/* Hidden input type */\\n.dash-input-container.dash-input-hidden {\\n display: none;\\n}\\n\\ninput.dash-input-element:invalid {\\n color: red;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-options-list-option {\\n padding: var(--Dash-Spacing) 0;\\n background: var(--Dash-Fill-Inverse-strong);\\n color: var(--Dash-Text-Strong);\\n cursor: pointer;\\n display: flex;\\n align-items: baseline;\\n user-select: none;\\n}\\n\\n.dash-options-list-option:not(:has(input[disabled])):hover,\\n.dash-options-list-option:not(:has(input[disabled])):focus-within {\\n color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-options-list-option:has(input[disabled]) {\\n color: var(--Dash-Text-Disabled);\\n cursor: not-allowed;\\n}\\n\\n.dash-options-list-option-wrapper,\\n.dash-options-list-option-text {\\n display: flex;\\n align-items: center;\\n}\\n\\n.dash-options-list-option-checkbox {\\n display: inline-block;\\n margin: 0 calc(var(--Dash-Spacing) * 2) 0 0;\\n box-sizing: border-box;\\n border: 1px solid var(--Dash-Stroke-Strong);\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n outline-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/optionslist.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,8BAA8B;IAC9B,2CAA2C;IAC3C,8BAA8B;IAC9B,eAAe;IACf,aAAa;IACb,qBAAqB;IACrB,iBAAiB;AACrB;;AAEA;;IAEI,0CAA0C;AAC9C;;AAEA;IACI,gCAAgC;IAChC,mBAAmB;AACvB;;AAEA;;IAEI,aAAa;IACb,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;IACrB,2CAA2C;IAC3C,sBAAsB;IACtB,2CAA2C;IAC3C,iDAAiD;IACjD,kDAAkD;AACtD\",\"sourcesContent\":[\".dash-options-list-option {\\n padding: var(--Dash-Spacing) 0;\\n background: var(--Dash-Fill-Inverse-strong);\\n color: var(--Dash-Text-Strong);\\n cursor: pointer;\\n display: flex;\\n align-items: baseline;\\n user-select: none;\\n}\\n\\n.dash-options-list-option:not(:has(input[disabled])):hover,\\n.dash-options-list-option:not(:has(input[disabled])):focus-within {\\n color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-options-list-option:has(input[disabled]) {\\n color: var(--Dash-Text-Disabled);\\n cursor: not-allowed;\\n}\\n\\n.dash-options-list-option-wrapper,\\n.dash-options-list-option-text {\\n display: flex;\\n align-items: center;\\n}\\n\\n.dash-options-list-option-checkbox {\\n display: inline-block;\\n margin: 0 calc(var(--Dash-Spacing) * 2) 0 0;\\n box-sizing: border-box;\\n border: 1px solid var(--Dash-Stroke-Strong);\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n outline-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-options-list-option.dash-radioitems-inline {\\n display: inline-flex;\\n margin-right: calc(var(--Dash-Spacing) * 4);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/radioitems.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,oBAAoB;IACpB,2CAA2C;AAC/C\",\"sourcesContent\":[\".dash-options-list-option.dash-radioitems-inline {\\n display: inline-flex;\\n margin-right: calc(var(--Dash-Spacing) * 4);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-slider-root {\\n position: relative;\\n z-index: 0;\\n display: flex;\\n align-items: center;\\n user-select: none;\\n touch-action: none;\\n width: 100%;\\n height: 14px;\\n padding: 17px 0 17px 0;\\n box-sizing: border-box;\\n /* Override Radix's default margin/padding behavior */\\n --radix-slider-thumb-width: 16px;\\n}\\n\\n.dash-slider-root.has-marks {\\n padding: 6px 0 28px 0;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'].has-marks {\\n padding-bottom: 0px;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] {\\n flex-direction: column;\\n width: 20px;\\n height: 100%;\\n}\\n\\n.dash-slider-track {\\n position: relative;\\n flex-grow: 1;\\n border-radius: 9999px;\\n height: 4px;\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-track {\\n width: 4px;\\n height: auto;\\n overflow-y: hidden;\\n}\\n\\n.dash-slider-range {\\n position: absolute;\\n border-radius: 9999px;\\n height: 100%;\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-range {\\n width: 100%;\\n height: auto;\\n}\\n\\n.dash-slider-thumb {\\n position: relative;\\n z-index: 1;\\n display: block;\\n width: 16px;\\n height: 16px;\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n border: 2px solid var(--Dash-Fill-Inverse-Strong);\\n border-radius: 50%;\\n box-shadow: 0 1px 3px 0 var(--Dash-Shading-Weak);\\n cursor: pointer;\\n outline: none;\\n transition: all 0.15s ease-in-out;\\n}\\n\\n.dash-slider-thumb:focus,\\n.dash-slider-thumb:hover {\\n transform: scale(1.125); /* Scale to make 16px thumb appear as 18px */\\n box-shadow: 0 4px 6px -1px var(--Dash-Shading-Weak);\\n}\\n\\n.dash-slider-thumb:focus {\\n outline: 2px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-thumb:focus .dash-slider-tooltip,\\n.dash-slider-thumb:hover .dash-slider-tooltip {\\n display: block;\\n}\\n\\n.dash-slider-thumb[data-disabled],\\n.dash-range-slider-input:disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n\\n.dash-slider-mark {\\n position: absolute;\\n font-size: 12px;\\n height: 12px;\\n line-height: 12px;\\n color: var(--Dash-Text-Strong);\\n white-space: nowrap;\\n pointer-events: none;\\n}\\n\\n.dash-slider-mark-outside-selection {\\n color: var(--Dash-Text-Disabled);\\n}\\n\\n.dash-slider-mark:before {\\n content: '';\\n position: absolute;\\n bottom: 100%;\\n left: 50%;\\n transform: translateX(-50%);\\n background-color: var(--Dash-Fill-Disabled);\\n width: 4px;\\n height: 6px;\\n border-radius: 2px;\\n margin-bottom: 2px;\\n}\\n.dash-slider-mark.with-dots:before {\\n content: initial;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-mark:before {\\n content: initial;\\n}\\n\\n.dash-slider-dot {\\n pointer-events: none;\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: var(--Dash-Fill-Primary-Active);\\n}\\n\\n.dash-slider-dot-outside-selection {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-tooltip {\\n display: none;\\n position: absolute;\\n border-radius: var(--Dash-Spacing);\\n padding: calc(var(--Dash-Spacing) * 3);\\n font-size: 12px;\\n line-height: 1;\\n box-shadow: 0 0 8px var(--Dash-Shading-Strong);\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n user-select: none;\\n z-index: 1000;\\n fill: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n.dash-slider-tooltip.always-visible {\\n display: block;\\n}\\n\\n/* Include property to mimic rc-slider behavior */\\n.dash-slider-root:not([data-included='false']) .dash-slider-range {\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-root[data-included='false'] .dash-slider-range {\\n background-color: transparent;\\n}\\n\\n/* Disabled state */\\n.dash-slider-root[data-disabled] {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-track {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-range {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-thumb {\\n cursor: not-allowed;\\n border-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-container {\\n display: flex;\\n align-items: center;\\n gap: 16px;\\n width: 100%;\\n container-type: inline-size;\\n}\\n\\n.dash-slider-wrapper {\\n flex: 1;\\n min-width: 0;\\n}\\n\\n.dash-range-slider-inputs {\\n display: flex;\\n flex-direction: column;\\n gap: 4px;\\n min-width: 64px;\\n}\\n\\n.dash-range-slider-min-input {\\n text-align: center;\\n}\\n\\n.dash-range-slider-max-input {\\n order: 1;\\n}\\n\\n.dash-range-slider-input {\\n min-width: 5cqw; /* 5% of container width */\\n max-width: 25cqw; /* 25% of container width */\\n text-align: center;\\n -webkit-appearance: textfield;\\n -moz-appearance: textfield;\\n appearance: textfield;\\n font-family: inherit;\\n font-size: inherit;\\n box-sizing: content-box;\\n height: 30px;\\n}\\n\\n.dash-range-slider-input:only-of-type {\\n max-width: 33cqw;\\n}\\n\\n.dash-range-slider-input::selection,\\n.dash-range-slider-input::-webkit-selection {\\n color: var(--Dash-Fill-Inverse-Strong);\\n background: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-range-slider-input:focus {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Hide the number input spinners */\\n.dash-range-slider-input::-webkit-inner-spin-button,\\n.dash-range-slider-input::-webkit-outer-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n\\n/* Hide inputs on small containers using container queries */\\n/* single slider input */\\n@container (max-width: 200px) {\\n .dash-slider-container .dash-range-slider-input:only-of-type {\\n display: none;\\n }\\n}\\n\\n/* range slider inputs */\\n@container (max-width: 300px) {\\n .dash-slider-container .dash-range-slider-min-input,\\n .dash-slider-container .dash-range-slider-max-input {\\n display: none;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/sliders.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\".dash-slider-root {\\n position: relative;\\n z-index: 0;\\n display: flex;\\n align-items: center;\\n user-select: none;\\n touch-action: none;\\n width: 100%;\\n height: 14px;\\n padding: 17px 0 17px 0;\\n box-sizing: border-box;\\n /* Override Radix's default margin/padding behavior */\\n --radix-slider-thumb-width: 16px;\\n}\\n\\n.dash-slider-root.has-marks {\\n padding: 6px 0 28px 0;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'].has-marks {\\n padding-bottom: 0px;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] {\\n flex-direction: column;\\n width: 20px;\\n height: 100%;\\n}\\n\\n.dash-slider-track {\\n position: relative;\\n flex-grow: 1;\\n border-radius: 9999px;\\n height: 4px;\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-track {\\n width: 4px;\\n height: auto;\\n overflow-y: hidden;\\n}\\n\\n.dash-slider-range {\\n position: absolute;\\n border-radius: 9999px;\\n height: 100%;\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-range {\\n width: 100%;\\n height: auto;\\n}\\n\\n.dash-slider-thumb {\\n position: relative;\\n z-index: 1;\\n display: block;\\n width: 16px;\\n height: 16px;\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n border: 2px solid var(--Dash-Fill-Inverse-Strong);\\n border-radius: 50%;\\n box-shadow: 0 1px 3px 0 var(--Dash-Shading-Weak);\\n cursor: pointer;\\n outline: none;\\n transition: all 0.15s ease-in-out;\\n}\\n\\n.dash-slider-thumb:focus,\\n.dash-slider-thumb:hover {\\n transform: scale(1.125); /* Scale to make 16px thumb appear as 18px */\\n box-shadow: 0 4px 6px -1px var(--Dash-Shading-Weak);\\n}\\n\\n.dash-slider-thumb:focus {\\n outline: 2px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-thumb:focus .dash-slider-tooltip,\\n.dash-slider-thumb:hover .dash-slider-tooltip {\\n display: block;\\n}\\n\\n.dash-slider-thumb[data-disabled],\\n.dash-range-slider-input:disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n\\n.dash-slider-mark {\\n position: absolute;\\n font-size: 12px;\\n height: 12px;\\n line-height: 12px;\\n color: var(--Dash-Text-Strong);\\n white-space: nowrap;\\n pointer-events: none;\\n}\\n\\n.dash-slider-mark-outside-selection {\\n color: var(--Dash-Text-Disabled);\\n}\\n\\n.dash-slider-mark:before {\\n content: '';\\n position: absolute;\\n bottom: 100%;\\n left: 50%;\\n transform: translateX(-50%);\\n background-color: var(--Dash-Fill-Disabled);\\n width: 4px;\\n height: 6px;\\n border-radius: 2px;\\n margin-bottom: 2px;\\n}\\n.dash-slider-mark.with-dots:before {\\n content: initial;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-mark:before {\\n content: initial;\\n}\\n\\n.dash-slider-dot {\\n pointer-events: none;\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: var(--Dash-Fill-Primary-Active);\\n}\\n\\n.dash-slider-dot-outside-selection {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-tooltip {\\n display: none;\\n position: absolute;\\n border-radius: var(--Dash-Spacing);\\n padding: calc(var(--Dash-Spacing) * 3);\\n font-size: 12px;\\n line-height: 1;\\n box-shadow: 0 0 8px var(--Dash-Shading-Strong);\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n user-select: none;\\n z-index: 1000;\\n fill: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n.dash-slider-tooltip.always-visible {\\n display: block;\\n}\\n\\n/* Include property to mimic rc-slider behavior */\\n.dash-slider-root:not([data-included='false']) .dash-slider-range {\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-root[data-included='false'] .dash-slider-range {\\n background-color: transparent;\\n}\\n\\n/* Disabled state */\\n.dash-slider-root[data-disabled] {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-track {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-range {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-thumb {\\n cursor: not-allowed;\\n border-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-container {\\n display: flex;\\n align-items: center;\\n gap: 16px;\\n width: 100%;\\n container-type: inline-size;\\n}\\n\\n.dash-slider-wrapper {\\n flex: 1;\\n min-width: 0;\\n}\\n\\n.dash-range-slider-inputs {\\n display: flex;\\n flex-direction: column;\\n gap: 4px;\\n min-width: 64px;\\n}\\n\\n.dash-range-slider-min-input {\\n text-align: center;\\n}\\n\\n.dash-range-slider-max-input {\\n order: 1;\\n}\\n\\n.dash-range-slider-input {\\n min-width: 5cqw; /* 5% of container width */\\n max-width: 25cqw; /* 25% of container width */\\n text-align: center;\\n -webkit-appearance: textfield;\\n -moz-appearance: textfield;\\n appearance: textfield;\\n font-family: inherit;\\n font-size: inherit;\\n box-sizing: content-box;\\n height: 30px;\\n}\\n\\n.dash-range-slider-input:only-of-type {\\n max-width: 33cqw;\\n}\\n\\n.dash-range-slider-input::selection,\\n.dash-range-slider-input::-webkit-selection {\\n color: var(--Dash-Fill-Inverse-Strong);\\n background: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-range-slider-input:focus {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Hide the number input spinners */\\n.dash-range-slider-input::-webkit-inner-spin-button,\\n.dash-range-slider-input::-webkit-outer-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n\\n/* Hide inputs on small containers using container queries */\\n/* single slider input */\\n@container (max-width: 200px) {\\n .dash-slider-container .dash-range-slider-input:only-of-type {\\n display: none;\\n }\\n}\\n\\n/* range slider inputs */\\n@container (max-width: 300px) {\\n .dash-slider-container .dash-range-slider-min-input,\\n .dash-slider-container .dash-range-slider-max-input {\\n display: none;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Tab parent container */\\n.tab-parent {\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n\\n/* Tab container (holds all tabs) */\\n.tab-container {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.tab-container--vert {\\n display: inline-flex;\\n}\\n\\n/* Individual tab */\\n.tab {\\n flex: 1 1 0;\\n min-width: 0;\\n background-color: var(--tabs-background);\\n border: 1px solid var(--tabs-border);\\n border-bottom: none;\\n padding: 20px 25px;\\n transition: background-color, color 200ms;\\n text-align: center;\\n box-sizing: border-box;\\n cursor: pointer;\\n}\\n\\n/* Tab selected state */\\n.tab--selected {\\n border-top: 2px solid var(--tabs-primary);\\n color: var(--Dash-Text-Primary);\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n.tab--selected:hover {\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Tab disabled state */\\n.tab--disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n/* Tab content area */\\n.tab-content--vert {\\n display: inline-flex;\\n flex-direction: column;\\n}\\n\\n/* Desktop/tablet styles (when above breakpoint) */\\n.tab-parent--above-breakpoint .tab {\\n border: 1px solid var(--tabs-border);\\n border-right: none;\\n}\\n\\n.tab-parent--above-breakpoint .tab:last-child {\\n border-right: 1px solid var(--tabs-border);\\n border-bottom: 1px solid var(--tabs-border);\\n}\\n\\n.tab-parent--above-breakpoint .tab--selected,\\n.tab-parent--above-breakpoint .tab:last-child.tab--selected {\\n border-bottom: none;\\n}\\n\\n/* Vertical tabs: left border for selected */\\n.tab-parent--above-breakpoint .tab-container--vert .tab--selected {\\n border-left: 2px solid var(--tabs-primary);\\n}\\n\\n/* Horizontal tabs: top border for selected */\\n.tab-parent--above-breakpoint\\n .tab-container:not(.tab-container--vert)\\n .tab--selected,\\n.tab-parent--above-breakpoint\\n .tab-container:not(.tab-container--vert)\\n .tab:last-child.tab--selected {\\n border-top: 2px solid var(--tabs-primary);\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab {\\n width: auto;\\n border-right: none !important;\\n border-bottom: none !important;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab:last-child {\\n border-bottom: 1px solid var(--tabs-border) !important;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab--selected {\\n border-top: 1px solid var(--tabs-border);\\n border-left: 2px solid var(--tabs-primary);\\n border-right: none;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container {\\n flex-direction: row;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert {\\n flex-direction: column;\\n}\\n\\n.tab-parent--above-breakpoint.tab-parent--vert {\\n display: inline-flex;\\n flex-direction: row;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/tabs.css\"],\"names\":[],\"mappings\":\"AAAA,yBAAyB;AACzB;IACI,aAAa;IACb,sBAAsB;IACtB,gBAAgB;AACpB;;AAEA,mCAAmC;AACnC;IACI,aAAa;IACb,sBAAsB;AAC1B;;AAEA;IACI,oBAAoB;AACxB;;AAEA,mBAAmB;AACnB;IACI,WAAW;IACX,YAAY;IACZ,wCAAwC;IACxC,oCAAoC;IACpC,mBAAmB;IACnB,kBAAkB;IAClB,yCAAyC;IACzC,kBAAkB;IAClB,sBAAsB;IACtB,eAAe;AACnB;;AAEA,uBAAuB;AACvB;IACI,yCAAyC;IACzC,+BAA+B;IAC/B,iDAAiD;AACrD;;AAEA;IACI,iDAAiD;AACrD;;AAEA,uBAAuB;AACvB;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA,qBAAqB;AACrB;IACI,oBAAoB;IACpB,sBAAsB;AAC1B;;AAEA,kDAAkD;AAClD;IACI,oCAAoC;IACpC,kBAAkB;AACtB;;AAEA;IACI,0CAA0C;IAC1C,2CAA2C;AAC/C;;AAEA;;IAEI,mBAAmB;AACvB;;AAEA,4CAA4C;AAC5C;IACI,0CAA0C;AAC9C;;AAEA,6CAA6C;AAC7C;;;;;;IAMI,yCAAyC;AAC7C;;AAEA;IACI,WAAW;IACX,6BAA6B;IAC7B,8BAA8B;AAClC;;AAEA;IACI,sDAAsD;AAC1D;;AAEA;IACI,wCAAwC;IACxC,0CAA0C;IAC1C,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,oBAAoB;IACpB,mBAAmB;AACvB\",\"sourcesContent\":[\"/* Tab parent container */\\n.tab-parent {\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n\\n/* Tab container (holds all tabs) */\\n.tab-container {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.tab-container--vert {\\n display: inline-flex;\\n}\\n\\n/* Individual tab */\\n.tab {\\n flex: 1 1 0;\\n min-width: 0;\\n background-color: var(--tabs-background);\\n border: 1px solid var(--tabs-border);\\n border-bottom: none;\\n padding: 20px 25px;\\n transition: background-color, color 200ms;\\n text-align: center;\\n box-sizing: border-box;\\n cursor: pointer;\\n}\\n\\n/* Tab selected state */\\n.tab--selected {\\n border-top: 2px solid var(--tabs-primary);\\n color: var(--Dash-Text-Primary);\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n.tab--selected:hover {\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Tab disabled state */\\n.tab--disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n/* Tab content area */\\n.tab-content--vert {\\n display: inline-flex;\\n flex-direction: column;\\n}\\n\\n/* Desktop/tablet styles (when above breakpoint) */\\n.tab-parent--above-breakpoint .tab {\\n border: 1px solid var(--tabs-border);\\n border-right: none;\\n}\\n\\n.tab-parent--above-breakpoint .tab:last-child {\\n border-right: 1px solid var(--tabs-border);\\n border-bottom: 1px solid var(--tabs-border);\\n}\\n\\n.tab-parent--above-breakpoint .tab--selected,\\n.tab-parent--above-breakpoint .tab:last-child.tab--selected {\\n border-bottom: none;\\n}\\n\\n/* Vertical tabs: left border for selected */\\n.tab-parent--above-breakpoint .tab-container--vert .tab--selected {\\n border-left: 2px solid var(--tabs-primary);\\n}\\n\\n/* Horizontal tabs: top border for selected */\\n.tab-parent--above-breakpoint\\n .tab-container:not(.tab-container--vert)\\n .tab--selected,\\n.tab-parent--above-breakpoint\\n .tab-container:not(.tab-container--vert)\\n .tab:last-child.tab--selected {\\n border-top: 2px solid var(--tabs-primary);\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab {\\n width: auto;\\n border-right: none !important;\\n border-bottom: none !important;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab:last-child {\\n border-bottom: 1px solid var(--tabs-border) !important;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab--selected {\\n border-top: 1px solid var(--tabs-border);\\n border-left: 2px solid var(--tabs-primary);\\n border-right: none;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container {\\n flex-direction: row;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert {\\n flex-direction: column;\\n}\\n\\n.tab-parent--above-breakpoint.tab-parent--vert {\\n display: inline-flex;\\n flex-direction: row;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Input container styles */\\n.dash-textarea {\\n background: var(--Dash-Fill-Inverse-Strong);\\n border-radius: var(--Dash-Spacing);\\n border: 1px solid var(--Dash-Stroke-Strong);\\n box-sizing: border-box;\\n color: inherit;\\n padding: var(--Dash-Spacing) calc(2 * var(--Dash-Spacing));\\n width: 100%;\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n outline-color: var(--Dash-Fill-Interactive-Strong);\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n.dash-textarea:focus-within {\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-textarea:focus-visible {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-textarea:disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n.dash-textarea:invalid {\\n outline: solid red;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/textarea.css\"],\"names\":[],\"mappings\":\"AAAA,2BAA2B;AAC3B;IACI,2CAA2C;IAC3C,kCAAkC;IAClC,2CAA2C;IAC3C,sBAAsB;IACtB,cAAc;IACd,0DAA0D;IAC1D,WAAW;IACX,iDAAiD;IACjD,kDAAkD;IAClD,oBAAoB;IACpB,kBAAkB;AACtB;;AAEA;IACI,qDAAqD;AACzD;;AAEA;IACI,sDAAsD;AAC1D;;AAEA;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA;IACI,kBAAkB;AACtB\",\"sourcesContent\":[\"/* Input container styles */\\n.dash-textarea {\\n background: var(--Dash-Fill-Inverse-Strong);\\n border-radius: var(--Dash-Spacing);\\n border: 1px solid var(--Dash-Stroke-Strong);\\n box-sizing: border-box;\\n color: inherit;\\n padding: var(--Dash-Spacing) calc(2 * var(--Dash-Spacing));\\n width: 100%;\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n outline-color: var(--Dash-Fill-Interactive-Strong);\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n.dash-textarea:focus-within {\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-textarea:focus-visible {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-textarea:disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n.dash-textarea:invalid {\\n outline: solid red;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-tooltip {\\n position: absolute;\\n}\\n\\n.hover {\\n position: absolute;\\n}\\n.hover-right {\\n /* Offset so that the triangle caret lands directly on what's hovered */\\n transform: translate(5px, 0);\\n top: 50%;\\n left: 100%;\\n}\\n.hover-left {\\n transform: translate(-5px, 0);\\n top: 50%;\\n}\\n.hover-bottom {\\n transform: translate(0, 6px);\\n top: 100%;\\n left: 50%;\\n}\\n.hover-top {\\n transform: translate(0, -5px);\\n left: 50%;\\n}\\n.hover-content {\\n position: absolute;\\n border: 1px solid var(--Dash-Tooltip-Border-Color);\\n border-radius: 2px;\\n padding: 5px 10px;\\n background: var(--Dash-Tooltip-Background-Color);\\n white-space: nowrap;\\n z-index: var(--Dash-Tooltip-ZIndex);\\n pointer-events: var(--Dash-Tooltip-PointerEvents);\\n box-shadow: 0px 10px 38px -10px var(--Dash-Shading-Strong),\\n 0px 10px 20px -15px var(--Dash-Shading-Weak);\\n}\\n.hover .hover-content,\\n.hover-right .hover-content {\\n transform: translate(0, -50%);\\n}\\n.hover-left .hover-content {\\n transform: translate(-100%, -50%);\\n}\\n.hover-top .hover-content {\\n transform: translate(-50%, -100%);\\n}\\n.hover-bottom .hover-content {\\n transform: translate(-50%, 0);\\n}\\n/* Add a small triangle on the left side of the box */\\n.hover:before,\\n.hover:after {\\n content: '';\\n width: 0;\\n height: 0;\\n position: absolute;\\n border-style: solid;\\n top: -6px;\\n z-index: var(--Dash-Tooltip-ZIndex);\\n}\\n.hover:before,\\n.hover:after,\\n.hover-right:before,\\n.hover-right:after {\\n border-width: 6px 6px 6px 0;\\n}\\n.hover-top:before,\\n.hover-top:after {\\n border-width: 6px 6px 0 6px;\\n}\\n.hover-bottom:before,\\n.hover-bottom:after {\\n border-width: 0 6px 6px 6px;\\n}\\n.hover-left:before,\\n.hover-left:after {\\n border-width: 6px 0 6px 6px;\\n}\\n.hover:before,\\n.hover-right:before {\\n border-color: transparent var(--Dash-Tooltip-Border-Color) transparent\\n transparent;\\n left: -5px;\\n}\\n.hover:after,\\n.hover-right:after {\\n border-color: transparent var(--Dash-Tooltip-Background-Color) transparent\\n transparent;\\n left: -4px;\\n}\\n.hover-left:before {\\n border-color: transparent transparent transparent\\n var(--Dash-Tooltip-Border-Color);\\n left: -1px;\\n}\\n.hover-left:after {\\n border-color: transparent transparent transparent\\n var(--Dash-Tooltip-Background-Color);\\n left: -2px;\\n}\\n.hover-top:before,\\n.hover-top:after,\\n.hover-bottom:before,\\n.hover-bottom:after {\\n left: -6px;\\n}\\n.hover-bottom:before {\\n border-color: transparent transparent var(--Dash-Tooltip-Border-Color)\\n transparent;\\n}\\n.hover-bottom:after {\\n border-color: transparent transparent var(--Dash-Tooltip-Background-Color)\\n transparent;\\n top: -5px;\\n}\\n.hover-top:before {\\n border-color: var(--Dash-Tooltip-Border-Color) transparent transparent\\n transparent;\\n top: -1px;\\n}\\n.hover-top:after {\\n border-color: var(--Dash-Tooltip-Border-Color) transparent transparent\\n transparent;\\n top: -2px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/tooltip.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,kBAAkB;AACtB;;AAEA;IACI,kBAAkB;AACtB;AACA;IACI,uEAAuE;IACvE,4BAA4B;IAC5B,QAAQ;IACR,UAAU;AACd;AACA;IACI,6BAA6B;IAC7B,QAAQ;AACZ;AACA;IACI,4BAA4B;IAC5B,SAAS;IACT,SAAS;AACb;AACA;IACI,6BAA6B;IAC7B,SAAS;AACb;AACA;IACI,kBAAkB;IAClB,kDAAkD;IAClD,kBAAkB;IAClB,iBAAiB;IACjB,gDAAgD;IAChD,mBAAmB;IACnB,mCAAmC;IACnC,iDAAiD;IACjD;oDACgD;AACpD;AACA;;IAEI,6BAA6B;AACjC;AACA;IACI,iCAAiC;AACrC;AACA;IACI,iCAAiC;AACrC;AACA;IACI,6BAA6B;AACjC;AACA,qDAAqD;AACrD;;IAEI,WAAW;IACX,QAAQ;IACR,SAAS;IACT,kBAAkB;IAClB,mBAAmB;IACnB,SAAS;IACT,mCAAmC;AACvC;AACA;;;;IAII,2BAA2B;AAC/B;AACA;;IAEI,2BAA2B;AAC/B;AACA;;IAEI,2BAA2B;AAC/B;AACA;;IAEI,2BAA2B;AAC/B;AACA;;IAEI;mBACe;IACf,UAAU;AACd;AACA;;IAEI;mBACe;IACf,UAAU;AACd;AACA;IACI;wCACoC;IACpC,UAAU;AACd;AACA;IACI;4CACwC;IACxC,UAAU;AACd;AACA;;;;IAII,UAAU;AACd;AACA;IACI;mBACe;AACnB;AACA;IACI;mBACe;IACf,SAAS;AACb;AACA;IACI;mBACe;IACf,SAAS;AACb;AACA;IACI;mBACe;IACf,SAAS;AACb\",\"sourcesContent\":[\".dash-tooltip {\\n position: absolute;\\n}\\n\\n.hover {\\n position: absolute;\\n}\\n.hover-right {\\n /* Offset so that the triangle caret lands directly on what's hovered */\\n transform: translate(5px, 0);\\n top: 50%;\\n left: 100%;\\n}\\n.hover-left {\\n transform: translate(-5px, 0);\\n top: 50%;\\n}\\n.hover-bottom {\\n transform: translate(0, 6px);\\n top: 100%;\\n left: 50%;\\n}\\n.hover-top {\\n transform: translate(0, -5px);\\n left: 50%;\\n}\\n.hover-content {\\n position: absolute;\\n border: 1px solid var(--Dash-Tooltip-Border-Color);\\n border-radius: 2px;\\n padding: 5px 10px;\\n background: var(--Dash-Tooltip-Background-Color);\\n white-space: nowrap;\\n z-index: var(--Dash-Tooltip-ZIndex);\\n pointer-events: var(--Dash-Tooltip-PointerEvents);\\n box-shadow: 0px 10px 38px -10px var(--Dash-Shading-Strong),\\n 0px 10px 20px -15px var(--Dash-Shading-Weak);\\n}\\n.hover .hover-content,\\n.hover-right .hover-content {\\n transform: translate(0, -50%);\\n}\\n.hover-left .hover-content {\\n transform: translate(-100%, -50%);\\n}\\n.hover-top .hover-content {\\n transform: translate(-50%, -100%);\\n}\\n.hover-bottom .hover-content {\\n transform: translate(-50%, 0);\\n}\\n/* Add a small triangle on the left side of the box */\\n.hover:before,\\n.hover:after {\\n content: '';\\n width: 0;\\n height: 0;\\n position: absolute;\\n border-style: solid;\\n top: -6px;\\n z-index: var(--Dash-Tooltip-ZIndex);\\n}\\n.hover:before,\\n.hover:after,\\n.hover-right:before,\\n.hover-right:after {\\n border-width: 6px 6px 6px 0;\\n}\\n.hover-top:before,\\n.hover-top:after {\\n border-width: 6px 6px 0 6px;\\n}\\n.hover-bottom:before,\\n.hover-bottom:after {\\n border-width: 0 6px 6px 6px;\\n}\\n.hover-left:before,\\n.hover-left:after {\\n border-width: 6px 0 6px 6px;\\n}\\n.hover:before,\\n.hover-right:before {\\n border-color: transparent var(--Dash-Tooltip-Border-Color) transparent\\n transparent;\\n left: -5px;\\n}\\n.hover:after,\\n.hover-right:after {\\n border-color: transparent var(--Dash-Tooltip-Background-Color) transparent\\n transparent;\\n left: -4px;\\n}\\n.hover-left:before {\\n border-color: transparent transparent transparent\\n var(--Dash-Tooltip-Border-Color);\\n left: -1px;\\n}\\n.hover-left:after {\\n border-color: transparent transparent transparent\\n var(--Dash-Tooltip-Background-Color);\\n left: -2px;\\n}\\n.hover-top:before,\\n.hover-top:after,\\n.hover-bottom:before,\\n.hover-bottom:after {\\n left: -6px;\\n}\\n.hover-bottom:before {\\n border-color: transparent transparent var(--Dash-Tooltip-Border-Color)\\n transparent;\\n}\\n.hover-bottom:after {\\n border-color: transparent transparent var(--Dash-Tooltip-Background-Color)\\n transparent;\\n top: -5px;\\n}\\n.hover-top:before {\\n border-color: var(--Dash-Tooltip-Border-Color) transparent transparent\\n transparent;\\n top: -1px;\\n}\\n.hover-top:after {\\n border-color: var(--Dash-Tooltip-Border-Color) transparent transparent\\n transparent;\\n top: -2px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/** @type {(arr: A, iterator: (this: This | void, value: A[number], index: number, arr: A) => void, receiver: This | undefined) => void} */\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\n/** @type {(string: S, iterator: (this: This | void, value: S[number], index: number, string: S) => void, receiver: This | undefined) => void} */\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\n/** @type {(obj: O, iterator: (this: This | void, value: O[keyof O], index: keyof O, obj: O) => void, receiver: This | undefined) => void} */\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\n/** @type {(x: unknown) => x is readonly unknown[]} */\nfunction isArray(x) {\n return toStr.call(x) === '[object Array]';\n}\n\n/** @type {import('.')._internal} */\nmodule.exports = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (isArray(list)) {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bound');\n\nvar $toString = callBound('Object.prototype.toString');\n\n/** @type {import('.')} */\nvar isStandardArguments = function isArguments(value) {\n\tif (\n\t\thasToStringTag\n\t\t&& value\n\t\t&& typeof value === 'object'\n\t\t&& Symbol.toStringTag in value\n\t) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\n/** @type {import('.')} */\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null\n\t\t&& typeof value === 'object'\n\t\t&& 'length' in value\n\t\t&& typeof value.length === 'number'\n\t\t&& value.length >= 0\n\t\t&& $toString(value) !== '[object Array]'\n\t\t&& 'callee' in value\n\t\t&& $toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\n// @ts-expect-error TODO make this not error\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\n/** @type {import('.')} */\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar callBound = require('call-bound');\nvar safeRegexTest = require('safe-regex-test');\nvar isFnRegex = safeRegexTest(/^\\s*(?:function)?\\*/);\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = require('get-proto');\n\nvar toStr = callBound('Object.prototype.toString');\nvar fnToStr = callBound('Function.prototype.toString');\n\nvar getGeneratorFunction = require('generator-function');\n\n/** @type {import('.')} */\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex(fnToStr(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tvar GeneratorFunction = getGeneratorFunction();\n\treturn GeneratorFunction && getProto(fn) === GeneratorFunction.prototype;\n};\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar callBound = require('call-bound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar gOPD = require('gopd');\n\n/** @type {import('.')} */\nvar fn;\n\nif (hasToStringTag) {\n\t/** @type {(receiver: ThisParameterType, ...args: Parameters) => ReturnType} */\n\tvar $exec = callBound('RegExp.prototype.exec');\n\t/** @type {object} */\n\tvar isRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\t/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */\n\tvar badStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n\n\t/** @type {import('.')} */\n\t// @ts-expect-error TS can't figure out that the $exec call always throws\n\t// eslint-disable-next-line consistent-return\n\tfn = function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {NonNullable} */ (gOPD)(/** @type {{ lastIndex?: unknown }} */ (value), 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && hasOwn(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t$exec(value, /** @type {string} */ (/** @type {unknown} */ (badStringifier)));\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t};\n} else {\n\t/** @type {(receiver: ThisParameterType, ...args: Parameters) => ReturnType} */\n\tvar $toString = callBound('Object.prototype.toString');\n\t/** @const @type {'[object RegExp]'} */\n\tvar regexClass = '[object RegExp]';\n\n\t/** @type {import('.')} */\n\tfn = function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n}\n\nmodule.exports = fn;\n","'use strict';\r\n\r\n/**\r\n * Is this string all whitespace?\r\n * This solution kind of makes my brain hurt, but it's significantly faster\r\n * than !str.trim() or any other solution I could find.\r\n *\r\n * whitespace codes from: http://en.wikipedia.org/wiki/Whitespace_character\r\n * and verified with:\r\n *\r\n * for(var i = 0; i < 65536; i++) {\r\n * var s = String.fromCharCode(i);\r\n * if(+s===0 && !s.trim()) console.log(i, s);\r\n * }\r\n *\r\n * which counts a couple of these as *not* whitespace, but finds nothing else\r\n * that *is* whitespace. Note that charCodeAt stops at 16 bits, but it appears\r\n * that there are no whitespace characters above this, and code points above\r\n * this do not map onto white space characters.\r\n */\r\n\r\nmodule.exports = function(str){\r\n var l = str.length,\r\n a;\r\n for(var i = 0; i < l; i++) {\r\n a = str.charCodeAt(i);\r\n if((a < 9 || a > 13) && (a !== 32) && (a !== 133) && (a !== 160) &&\r\n (a !== 5760) && (a !== 6158) && (a < 8192 || a > 8205) &&\r\n (a !== 8232) && (a !== 8233) && (a !== 8239) && (a !== 8287) &&\r\n (a !== 8288) && (a !== 12288) && (a !== 65279)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar objectKeys = require('object-keys');\nvar hasSymbols = require('has-symbols/shams')();\nvar callBound = require('call-bound');\nvar $Object = require('es-object-atoms');\nvar $push = callBound('Array.prototype.push');\nvar $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar originalGetSymbols = hasSymbols ? $Object.getOwnPropertySymbols : null;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function assign(target, source1) {\n\tif (target == null) { throw new TypeError('target must be an object'); }\n\tvar to = $Object(target); // step 1\n\tif (arguments.length === 1) {\n\t\treturn to; // step 2\n\t}\n\tfor (var s = 1; s < arguments.length; ++s) {\n\t\tvar from = $Object(arguments[s]); // step 3.a.i\n\n\t\t// step 3.a.ii:\n\t\tvar keys = objectKeys(from);\n\t\tvar getSymbols = hasSymbols && ($Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tvar syms = getSymbols(from);\n\t\t\tfor (var j = 0; j < syms.length; ++j) {\n\t\t\t\tvar key = syms[j];\n\t\t\t\tif ($propIsEnumerable(from, key)) {\n\t\t\t\t\t$push(keys, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// step 3.a.iii:\n\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\tvar nextKey = keys[i];\n\t\t\tif ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2\n\t\t\t\tvar propValue = from[nextKey]; // step 3.a.iii.2.a\n\t\t\t\tto[nextKey] = propValue; // step 3.a.iii.2.b\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to; // step 4\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float16Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar callBound = require('call-bound');\nvar isRegex = require('is-regex');\n\nvar $exec = callBound('RegExp.prototype.exec');\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function regexTester(regex) {\n\tif (!isRegex(regex)) {\n\t\tthrow new $TypeError('`regex` must be a RegExp');\n\t}\n\treturn function test(s) {\n\t\treturn $exec(regex, s) !== null;\n\t};\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","/* \n(The MIT License)\nCopyright (c) 2014-2021 Halász Ádám \nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n// Unique Hexatridecimal ID Generator\n// ================================================\n\n// Dependencies\n// ================================================\nvar pid = typeof process !== 'undefined' && process.pid ? process.pid.toString(36) : '' ;\nvar address = '';\nif(typeof __webpack_require__ !== 'function' && typeof require !== 'undefined'){\n var mac = '', os = require('os'); \n if(os.networkInterfaces) var networkInterfaces = os.networkInterfaces();\n if(networkInterfaces){\n loop:\n for(let interface_key in networkInterfaces){\n const networkInterface = networkInterfaces[interface_key];\n const length = networkInterface.length;\n for(var i = 0; i < length; i++){\n if(networkInterface[i] !== undefined && networkInterface[i].mac && networkInterface[i].mac != '00:00:00:00:00:00'){\n mac = networkInterface[i].mac; break loop;\n }\n }\n }\n address = mac ? parseInt(mac.replace(/\\:|\\D+/gi, '')).toString(36) : '' ;\n }\n} \n\n// Exports\n// ================================================\nmodule.exports = module.exports.default = function(prefix, suffix){ return (prefix ? prefix : '') + address + pid + now().toString(36) + (suffix ? suffix : ''); }\nmodule.exports.process = function(prefix, suffix){ return (prefix ? prefix : '') + pid + now().toString(36) + (suffix ? suffix : ''); }\nmodule.exports.time = function(prefix, suffix){ return (prefix ? prefix : '') + now().toString(36) + (suffix ? suffix : ''); }\n\n// Helpers\n// ================================================\nfunction now(){\n var time = Date.now();\n var last = now.last || time;\n return now.last = time > last ? time : last + 1;\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bound');\nvar gOPD = require('gopd');\nvar getProto = require('get-proto');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\n\n/** @import { BoundSet, BoundSlice, Cache, Getter } from './types' */\n/** @import { TypedArrayName } from '.' */\n\n/** @type {(array: readonly T[], value: unknown) => number} */\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n/** @type {Cache} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getProto) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr && getProto) {\n\t\t\tvar proto = getProto(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor && proto) {\n\t\t\t\tvar superProto = getProto(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\tif (descriptor && descriptor.get) {\n\t\t\t\tvar bound = callBind(descriptor.get);\n\t\t\t\tcache[\n\t\t\t\t\t/** @type {`$${TypedArrayName}`} */\n\t\t\t\t\t('$' + typedArray)\n\t\t\t\t] = bound;\n\t\t\t}\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\tvar bound = /** @type {BoundSlice | BoundSet} */ (\n\t\t\t\t// @ts-expect-error TODO FIXME\n\t\t\t\tcallBind(fn)\n\t\t\t);\n\t\t\tcache[\n\t\t\t\t/** @type {`$${TypedArrayName}`} */\n\t\t\t\t('$' + typedArray)\n\t\t\t] = bound;\n\t\t}\n\t});\n}\n\n/** @type {(value: object) => false | TypedArrayName} */\nfunction tryTypedArrays(value) {\n\t/** @type {ReturnType} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`$${TypedArrayName}`, Getter>} */ (cache),\n\t\t/** @param {Getter} getter @param {`$${TypedArrayName}`} typedArray */\n\t\tfunction (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = /** @type {TypedArrayName} */ ($slice(typedArray, 1));\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n}\n\n/** @type {(value: object) => false | TypedArrayName} */\nfunction trySlices(value) {\n\t/** @type {ReturnType} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`$${TypedArrayName}`, Getter>} */(cache),\n\t\t/** @param {Getter} getter @param {`$${TypedArrayName}`} name */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = /** @type {TypedArrayName} */ ($slice(name, 1));\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n}\n\n/** @type {(tag: unknown) => tag is typeof typedArrays[number]} */\nfunction isTATag(tag) {\n\treturn $indexOf(typedArrays, tag) > -1;\n}\n\n/**\n * @type {import('.')}\n * @param {unknown} value\n */\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif (isTATag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","module.exports = (window.ReactJSXRuntime || (window.ReactJSXRuntime = (function (React) {\n function jsx(type, config, maybeKey) {\n var props = {};\n var children = null;\n if (config != null) {\n if (config.key !== undefined) {\n props.key = '' + config.key;\n }\n for (var propName in config) {\n if (\n Object.prototype.hasOwnProperty.call(config, propName) &&\n propName !== 'key' &&\n propName !== '__self' &&\n propName !== '__source'\n ) {\n if (propName === 'children') {\n children = config[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n }\n if (maybeKey !== undefined) {\n props.key = '' + maybeKey;\n }\n if (children === null || children === undefined) {\n return React.createElement(type, props);\n }\n return Array.isArray(children)\n ? React.createElement.apply(React, [type, props].concat(children))\n : React.createElement(type, props, children);\n }\n return {jsx: jsx, jsxs: jsx, jsxDEV: jsx, Fragment: React.Fragment};\n})(window.React)));","module.exports = window[\"PropTypes\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDayOfYear} function options.\n */\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date, options) {\n const _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfYear} function options.\n */\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date, options) {\n const date_ = toDate(date, options?.in);\n date_.setFullYear(date_.getFullYear(), 0, 1);\n date_.setHours(0, 0, 0, 0);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\n\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(+date / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n return addLeadingZeros(+date, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date, options?.in);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeek} function options.\n */\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(options?.in || date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(options?.in || date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(options?.in || date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (+_date >= +startOfNextYear) {\n return year + 1;\n } else if (+_date >= +startOfThisYear) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertible into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n return !((!isDate(date) && typeof date !== \"number\") || isNaN(+toDate(date)));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import {\n millisecondsInHour,\n millisecondsInMinute,\n} from \"./constants.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link parseISO} function options.\n */\n\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n * @param options - An object with options\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport function parseISO(argument, options) {\n const invalidDate = () => constructFrom(options?.in, NaN);\n\n const additionalDigits = options?.additionalDigits ?? 2;\n const dateStrings = splitDateString(argument);\n\n let date;\n if (dateStrings.date) {\n const parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(+date)) return invalidDate();\n\n const timestamp = +date;\n let time = 0;\n let offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) return invalidDate();\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) return invalidDate();\n } else {\n const tmpDate = new Date(timestamp + time);\n const result = toDate(0, options?.in);\n result.setFullYear(\n tmpDate.getUTCFullYear(),\n tmpDate.getUTCMonth(),\n tmpDate.getUTCDate(),\n );\n result.setHours(\n tmpDate.getUTCHours(),\n tmpDate.getUTCMinutes(),\n tmpDate.getUTCSeconds(),\n tmpDate.getUTCMilliseconds(),\n );\n return result;\n }\n\n return toDate(timestamp + time + offset, options?.in);\n}\n\nconst patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/,\n};\n\nconst dateRegex =\n /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nconst timeRegex =\n /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nconst timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n\nfunction splitDateString(dateString) {\n const dateStrings = {};\n const array = dateString.split(patterns.dateTimeDelimiter);\n let timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(\n dateStrings.date.length,\n dateString.length,\n );\n }\n }\n\n if (timeString) {\n const token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], \"\");\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n const regex = new RegExp(\n \"^(?:(\\\\d{4}|[+-]\\\\d{\" +\n (4 + additionalDigits) +\n \"})|(\\\\d{2}|[+-]\\\\d{\" +\n (2 + additionalDigits) +\n \"})$)\",\n );\n\n const captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return { year: NaN, restDateString: \"\" };\n\n const year = captures[1] ? parseInt(captures[1]) : null;\n const century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length),\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n\n const captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n\n const isWeekDate = !!captures[4];\n const dayOfYear = parseDateUnit(captures[1]);\n const month = parseDateUnit(captures[2]) - 1;\n const day = parseDateUnit(captures[3]);\n const week = parseDateUnit(captures[4]);\n const dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n const date = new Date(0);\n if (\n !validateDate(year, month, day) ||\n !validateDayOfYearDate(year, dayOfYear)\n ) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n const captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n const hours = parseTimeUnit(captures[1]);\n const minutes = parseTimeUnit(captures[2]);\n const seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return (\n hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000\n );\n}\n\nfunction parseTimeUnit(value) {\n return (value && parseFloat(value.replace(\",\", \".\"))) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === \"Z\") return 0;\n\n const captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n\n const sign = captures[1] === \"+\" ? -1 : 1;\n const hours = parseInt(captures[2]);\n const minutes = (captures[3] && parseInt(captures[3])) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n const date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n const fourthOfJanuaryDay = date.getUTCDay() || 7;\n const diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nconst daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n\nfunction validateDate(year, month, date) {\n return (\n month >= 0 &&\n month <= 11 &&\n date >= 1 &&\n date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28))\n );\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return (\n seconds >= 0 &&\n seconds < 60 &&\n minutes >= 0 &&\n minutes < 60 &&\n hours >= 0 &&\n hours < 25\n );\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\n\n// Fallback for modularized imports:\nexport default parseISO;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","'use strict';\n\n// eslint-disable-next-line no-extra-parens, no-empty-function\nconst cached = /** @type {GeneratorFunctionConstructor} */ (function* () {}.constructor);\n\n/** @type {import('.')} */\nmodule.exports = () => cached;\n\n","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n * list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n * R.append('tests', []); //=> ['tests']\n * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\nvar append = /*#__PURE__*/_curry2(function append(el, list) {\n return _concat(list, [el]);\n});\nexport default append;","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n idx = 0;\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n idx = 0;\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n return result;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport _isString from \"./internal/_isString.js\";\nimport toString from \"./toString.js\";\n\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n * R.concat('ABC', 'DEF'); // 'ABCDEF'\n * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n * R.concat([], []); //=> []\n */\nvar concat = /*#__PURE__*/_curry2(function concat(a, b) {\n if (_isArray(a)) {\n if (_isArray(b)) {\n return a.concat(b);\n }\n throw new TypeError(toString(b) + ' is not an array');\n }\n if (_isString(a)) {\n if (_isString(b)) {\n return a + b;\n }\n throw new TypeError(toString(b) + ' is not a string');\n }\n if (a != null && _isFunction(a['fantasy-land/concat'])) {\n return a['fantasy-land/concat'](b);\n }\n if (a != null && _isFunction(a.concat)) {\n return a.concat(b);\n }\n throw new TypeError(toString(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\nexport default concat;","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n return list;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparison of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n var b = _arrayFromIterator(bIterator);\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n }\n\n // if *a* array contains any element that is not included in *b*\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n var typeA = type(a);\n if (typeA !== type(b)) {\n return false;\n }\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n break;\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n break;\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n break;\n case 'Error':\n return a.name === b.name && a.message === b.message;\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n break;\n }\n var idx = stackA.length - 1;\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n idx -= 1;\n }\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n var keysA = keys(a);\n if (keysA.length !== keys(b).length) {\n return false;\n }\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n while (idx >= 0) {\n var key = keysA[idx];\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n idx -= 1;\n }\n return true;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\nvar equals = /*#__PURE__*/_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\nexport default equals;","import _xfBase from \"./_xfBase.js\";\nvar XFilter = /*#__PURE__*/function () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n return XFilter;\n}();\nexport default function _xfilter(f) {\n return function (xf) {\n return new XFilter(f, xf);\n };\n}","import _arrayReduce from \"./internal/_arrayReduce.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _filter from \"./internal/_filter.js\";\nimport _filterMap from \"./internal/_filterMap.js\";\nimport _isMap from \"./internal/_isMap.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _xfilter from \"./internal/_xfilter.js\";\nimport keys from \"./keys.js\";\n\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects, Maps, or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @category Object\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * const isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar filter = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/filter', 'filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _arrayReduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n return acc;\n }, {}, keys(filterable)) : _isMap(filterable) ? _filterMap(pred, filterable) :\n // else\n _filter(pred, filterable);\n}));\nexport default filter;","export default function _arrayReduce(reducer, acc, list) {\n var index = 0;\n var length = list.length;\n while (index < length) {\n acc = reducer(acc, list[index]);\n index += 1;\n }\n return acc;\n}","export default function _isMap(x) {\n return Object.prototype.toString.call(x) === '[object Map]';\n}","export default function _filterMap(fn, map) {\n var result = new Map();\n var iterator = map.entries();\n var current = iterator.next();\n while (!current.done) {\n if (fn(current.value[1])) {\n result.set(current.value[0], current.value[1]);\n }\n current = iterator.next();\n }\n return result;\n}","export default function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n return result;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _has from \"./internal/_has.js\";\nimport isNil from \"./isNil.js\";\n\n/**\n * Returns whether or not a path exists in an object. Only the object's\n * own properties are checked.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> {a} -> Boolean\n * @param {Array} path The path to use.\n * @param {Object} obj The object to check the path in.\n * @return {Boolean} Whether the path exists.\n * @see R.has\n * @example\n *\n * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true\n * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true\n * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false\n * R.hasPath(['a', 'b'], {}); // => false\n */\nvar hasPath = /*#__PURE__*/_curry2(function hasPath(_path, obj) {\n if (_path.length === 0 || isNil(obj)) {\n return false;\n }\n var val = obj;\n var idx = 0;\n while (idx < _path.length) {\n if (!isNil(val) && _has(_path[idx], val)) {\n val = val[_path[idx]];\n idx += 1;\n } else {\n return false;\n }\n }\n return true;\n});\nexport default hasPath;","import _curry2 from \"./internal/_curry2.js\";\nimport hasPath from \"./hasPath.js\";\n\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * const hasName = R.has('name');\n * hasName({name: 'alice'}); //=> true\n * hasName({name: 'bob'}); //=> true\n * hasName({}); //=> false\n *\n * const point = {x: 0, y: 0};\n * const pointHas = R.has(R.__, point);\n * pointHas('x'); //=> true\n * pointHas('y'); //=> true\n * pointHas('z'); //=> false\n */\nvar has = /*#__PURE__*/_curry2(function has(prop, obj) {\n return hasPath([prop], obj);\n});\nexport default has;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Also works with strings.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.includes(3, [1, 2, 3]); //=> true\n * R.includes(4, [1, 2, 3]); //=> false\n * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.includes([42], [[42]]); //=> true\n * R.includes('ba', 'banana'); //=>true\n */\nvar includes = /*#__PURE__*/_curry2(_includes);\nexport default includes;","import _isPlaceholder from \"./_isPlaceholder.js\";\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer created by [transducerCreator] to return a new transformer\n * (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} transducerCreator transducer factory if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\nexport default function _dispatchable(methodNames, transducerCreator, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n var obj = arguments[arguments.length - 1];\n if (!_isArray(obj)) {\n var idx = 0;\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1));\n }\n idx += 1;\n }\n if (_isTransformer(obj)) {\n var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1));\n return transducer(obj);\n }\n }\n return fn.apply(this, arguments);\n };\n}","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _indexOf from \"./_indexOf.js\";\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","import equals from \"../equals.js\";\nexport default function _indexOf(list, a, idx) {\n var inf, item;\n // Array.prototype.indexOf doesn't exist below IE9\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n while (idx < list.length) {\n item = list[idx];\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n }\n // non-zero numbers can utilise Set\n return list.indexOf(a, idx);\n\n // all these types can utilise Set\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n }\n }\n // anything else not covered above, defer to R.equals\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\nvar _isArguments = /*#__PURE__*/function () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\nexport default _isArguments;","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","export default function _isFunction(x) {\n var type = Object.prototype.toString.call(x);\n return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]';\n}","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _curry1 from \"./internal/_curry1.js\";\n\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\nvar isNil = /*#__PURE__*/_curry1(function isNil(x) {\n return x == null;\n});\nexport default isNil;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\";\n\n// cover IE < 9 keys issues\nvar hasEnumBug = ! /*#__PURE__*/{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n// Safari bug\nvar hasArgsEnumBug = /*#__PURE__*/function () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\nvar contains = function contains(list, item) {\n var idx = 0;\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n idx += 1;\n }\n return false;\n};\n\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values, R.toPairs\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) : /*#__PURE__*/_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n var prop, nIdx;\n var ks = [];\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n nIdx -= 1;\n }\n }\n return ks;\n});\nexport default keys;","import _curry2 from \"./internal/_curry2.js\";\n\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\nvar omit = /*#__PURE__*/_curry2(function omit(names, obj) {\n var result = {};\n var index = {};\n var idx = 0;\n var len = names.length;\n while (idx < len) {\n index[names[idx]] = 1;\n idx += 1;\n }\n for (var prop in obj) {\n if (!index.hasOwnProperty(prop)) {\n result[prop] = obj[prop];\n }\n }\n return result;\n});\nexport default omit;","import _curry2 from \"./internal/_curry2.js\";\n\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\nvar pick = /*#__PURE__*/_curry2(function pick(names, obj) {\n var result = {};\n var idx = 0;\n while (idx < names.length) {\n if (names[idx] in obj) {\n result[names[idx]] = obj[names[idx]];\n }\n idx += 1;\n }\n return result;\n});\nexport default pick;","import _complement from \"./internal/_complement.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport filter from \"./filter.js\";\n\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * const isOdd = (n) => n % 2 !== 0;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar reject = /*#__PURE__*/_curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\nexport default reject;","export default function _complement(f) {\n return function () {\n return !f.apply(this, arguments);\n };\n}","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n return result;\n}","export default function _quote(s) {\n var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}","/**\n * Polyfill from .\n */\nvar pad = function pad(n) {\n return (n < 10 ? '0' : '') + n;\n};\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n return d.toISOString();\n} : function _toISOString(d) {\n return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\nexport default _toISOString;","import _includes from \"./_includes.js\";\nimport _map from \"./_map.js\";\nimport _quote from \"./_quote.js\";\nimport _toISOString from \"./_toISOString.js\";\nimport keys from \"../keys.js\";\nimport reject from \"../reject.js\";\nexport default function _toString(x, seen) {\n var recur = function recur(y) {\n var xs = seen.concat([x]);\n return _includes(y, xs) ? '' : _toString(y, xs);\n };\n\n // mapPairs :: (Object, [String]) -> [String]\n var mapPairs = function (obj, keys) {\n return _map(function (k) {\n return _quote(k) + ': ' + recur(obj[k]);\n }, keys.slice().sort());\n };\n switch (Object.prototype.toString.call(x)) {\n case '[object Arguments]':\n return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n case '[object Array]':\n return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n return /^\\d+$/.test(k);\n }, keys(x)))).join(', ') + ']';\n case '[object Boolean]':\n return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n case '[object Date]':\n return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n case '[object Map]':\n return 'new Map(' + recur(Array.from(x)) + ')';\n case '[object Null]':\n return 'null';\n case '[object Number]':\n return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n case '[object Set]':\n return 'new Set(' + recur(Array.from(x).sort()) + ')';\n case '[object String]':\n return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n case '[object Undefined]':\n return 'undefined';\n default:\n if (typeof x.toString === 'function') {\n var repr = x.toString();\n if (repr !== '[object Object]') {\n return repr;\n }\n }\n return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n }\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _toString from \"./internal/_toString.js\";\n\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n * function Point(x, y) {\n * this.x = x;\n * this.y = y;\n * }\n *\n * Point.prototype.toString = function() {\n * return 'new Point(' + this.x + ', ' + this.y + ')';\n * };\n *\n * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n * R.toString(42); //=> '42'\n * R.toString('abc'); //=> '\"abc\"'\n * R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\nvar toString = /*#__PURE__*/_curry1(function toString(val) {\n return _toString(val, []);\n});\nexport default toString;","import _curry1 from \"./internal/_curry1.js\";\n\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig * -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(new Map); //=> \"Map\"\n * R.type(new Set); //=> \"Set\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(async () => {}); //=> \"AsyncFunction\"\n * R.type(undefined); //=> \"Undefined\"\n * R.type(BigInt(123)); //=> \"BigInt\"\n */\nvar type = /*#__PURE__*/_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\nexport default type;","import _includes from \"./_includes.js\";\nvar _Set = /*#__PURE__*/function () {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n }\n // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n _Set.prototype.add = function (item) {\n return !hasOrAdd(item, true, this);\n };\n\n //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n _Set.prototype.has = function (item) {\n return hasOrAdd(item, false, this);\n };\n\n //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n return _Set;\n}();\nfunction hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n return false;\n }\n }\n // these types can all utilise the native Set\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n return false;\n }\n }\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n return false;\n }\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n return false;\n }\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n return false;\n }\n return true;\n }\n /* falls through */\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n // scan through all previously applied items\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n}\n\n// A simple Set type that honours R.equals semantics\nexport default _Set;","import _curry2 from \"./internal/_curry2.js\";\nimport _Set from \"./internal/_Set.js\";\nimport reject from \"./reject.js\";\n\n/**\n * Returns a new list without values in the first argument.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce, R.difference, R.remove\n * @example\n *\n * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\nvar without = /*#__PURE__*/_curry2(function without(xs, list) {\n var toRemove = new _Set();\n for (var i = 0; i < xs.length; i += 1) {\n toRemove.add(xs[i]);\n }\n return reject(toRemove.has.bind(toRemove), list);\n});\nexport default without;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// wrap a concatenated module body as a lazy, memoized accessor; mod is\n// set before the body runs so re-entrant calls (require cycles) observe\n// the partial exports like Node.js\n__webpack_require__.cw = function(body) {\n\tvar mod;\n\treturn function() {\n\t\tif (body) {\n\t\t\tvar fn = body;\n\t\t\tbody = 0;\n\t\t\tmod = { exports: {} };\n\t\t\tfn.call(mod.exports, mod, mod.exports);\n\t\t}\n\t\treturn mod.exports;\n\t};\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) { return {\"81\":\"async-mathjax\",\"113\":\"async-upload\",\"157\":\"async-dropdown\",\"254\":\"async-highlight\",\"384\":\"dash_core_components-shared\",\"400\":\"async-datepicker\",\"641\":\"async-markdown\",\"737\":\"async-slider\",\"746\":\"async-graph\"}[chunkId] + \".js\"; };","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); };","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^https?:/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:|[?#].*$/g, \"\").replace(/\\/[^/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var getCurrentScript = function() {\n var script = document.currentScript;\n if (!script) {\n /* Shim for IE11 and below */\n /* Do not take into account async scripts and inline scripts */\n\n var doc_scripts = document.getElementsByTagName('script');\n var scripts = [];\n\n for (var i = 0; i < doc_scripts.length; i++) {\n scripts.push(doc_scripts[i]);\n }\n\n scripts = scripts.filter(function(s) { return !s.async && !s.text && !s.textContent; });\n script = scripts.slice(-1)[0];\n }\n\n return script;\n};\n\nvar isLocalScript = function(script) {\n return /\\/_dash-component-suites\\//.test(script.src);\n};\n\nObject.defineProperty(__webpack_require__, 'p', {\n get: (function () {\n var script = getCurrentScript();\n\n var url = script.src.split('/').slice(0, -1).join('/') + '/';\n\n return function() {\n return url;\n };\n })()\n});\n\nif (typeof jsonpScriptSrc !== 'undefined') {\n var __jsonpScriptSrc__ = jsonpScriptSrc;\n jsonpScriptSrc = function(chunkId) {\n var script = getCurrentScript();\n var isLocal = isLocalScript(script);\n\n var src = __jsonpScriptSrc__(chunkId);\n\n if(!isLocal) {\n return src;\n }\n\n var srcFragments = src.split('/');\n var fileFragments = srcFragments.slice(-1)[0].split('.');\n\n fileFragments.splice(1, 0, \"v4_5_3m1793300642\");\n srcFragments.splice(-1, 1, fileFragments.join('.'))\n\n return srcFragments.join('/');\n };\n}\n","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\terror.event = event;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(__webpack_require__.p + __webpack_require__.u(chunkId), loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdash_core_components\"] = self[\"webpackChunkdash_core_components\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./button.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./button.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport {ButtonProps} from '../types';\nimport './css/button.css';\n\n/**\n * Similar to dash.html.Button, but with theming and styles applied.\n */\nconst Button = ({\n setProps,\n n_blur = 0,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n n_blur_timestamp = -1,\n n_clicks = 0,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n n_clicks_timestamp = -1,\n type = 'button',\n className,\n children,\n ...props\n}: ButtonProps) => {\n const ctx = window.dash_component_api.useDashContext();\n const isLoading = ctx.useLoading();\n\n return (\n {\n setProps({\n n_blur: n_blur + 1,\n n_blur_timestamp: Date.now(),\n });\n }}\n onClick={() => {\n setProps({\n n_clicks: n_clicks + 1,\n n_clicks_timestamp: Date.now(),\n });\n }}\n type={type}\n {...props}\n >\n {children}\n \n );\n};\n\nexport default Button;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./checklist.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./checklist.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {useMemo} from 'react';\nimport {ChecklistProps, PersistedProps, PersistenceTypes} from '../types';\nimport './css/checklist.css';\n\nimport {sanitizeOptions} from '../utils/optionTypes';\nimport LoadingElement from '../utils/_LoadingElement';\nimport {OptionsList} from '../utils/optionRendering';\n\n/**\n * Checklist is a component that encapsulates several checkboxes.\n * The values and labels of the checklist are specified in the `options`\n * property and the checked items are specified with the `value` property.\n * Each checkbox is rendered as an input with a surrounding label.\n */\nexport default function Checklist({\n className,\n id,\n style,\n setProps,\n inputStyle = {},\n inputClassName = '',\n labelStyle = {},\n labelClassName = '',\n options = [],\n value = [],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n inline = false,\n}: ChecklistProps) {\n const sanitizedOptions = useMemo(() => {\n return sanitizeOptions(options).options;\n }, [options]);\n\n const stylingProps = {\n id,\n className: 'dash-checklist ' + (className ?? ''),\n style,\n optionClassName: inline ? 'dash-checklist-inline' : undefined,\n inputStyle,\n inputClassName,\n labelStyle,\n labelClassName,\n };\n\n return (\n \n {loadingProps => (\n {\n setProps({value: selection});\n }}\n {...stylingProps}\n />\n )}\n \n );\n}\n\nChecklist.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\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 _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\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\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/i; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY].concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n // For example \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.4\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\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\nfunction _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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\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\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++) arr2[i] = arr[i];\n\n return arr2;\n}\n\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\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded$1 = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded$1);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar _excluded = [\"forwardedRef\"];\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId,\n maskId = props.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"far\";\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z\"]\n};\nvar faAngry = {\n prefix: 'far',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"]\n};\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"]\n};\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"]\n};\nvar faCalendarAlt = {\n prefix: 'far',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"]\n};\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarTimes = {\n prefix: 'far',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'far',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'far',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'far',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'far',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\"]\n};\nvar faCheckCircle = {\n prefix: 'far',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"]\n};\nvar faCheckSquare = {\n prefix: 'far',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"]\n};\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"]\n};\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"]\n};\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"]\n};\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"]\n};\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faCommentAlt = {\n prefix: 'far',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"]\n};\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"]\n};\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"]\n};\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"]\n};\nvar faDizzy = {\n prefix: 'far',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"]\n};\nvar faDotCircle = {\n prefix: 'far',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"]\n};\nvar faEdit = {\n prefix: 'far',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"]\n};\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"]\n};\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"]\n};\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"]\n};\nvar faFileAlt = {\n prefix: 'far',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"]\n};\nvar faFileArchive = {\n prefix: 'far',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"]\n};\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"]\n};\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z\"]\n};\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"]\n};\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"]\n};\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"]\n};\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"]\n};\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"]\n};\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"]\n};\nvar faFlushed = {\n prefix: 'far',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z\"]\n};\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'far',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFrown = {\n prefix: 'far',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"]\n};\nvar faFrownOpen = {\n prefix: 'far',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z\"]\n};\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [496, 512, [], \"f1e3\", \"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"]\n};\nvar faGrimace = {\n prefix: 'far',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z\"]\n};\nvar faGrin = {\n prefix: 'far',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faGrinAlt = {\n prefix: 'far',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'far',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'far',\n iconName: 'grin-beam-sweat',\n icon: [496, 512, [], \"f583\", \"M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinHearts = {\n prefix: 'far',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"]\n};\nvar faGrinSquint = {\n prefix: 'far',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'far',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z\"]\n};\nvar faGrinStars = {\n prefix: 'far',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z\"]\n};\nvar faGrinTears = {\n prefix: 'far',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinTongue = {\n prefix: 'far',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'far',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'far',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z\"]\n};\nvar faGrinWink = {\n prefix: 'far',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"]\n};\nvar faHandPaper = {\n prefix: 'far',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"]\n};\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [448, 512, [], \"f0a7\", \"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"]\n};\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [448, 512, [], \"f0a6\", \"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"]\n};\nvar faHandRock = {\n prefix: 'far',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"]\n};\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"]\n};\nvar faHdd = {\n prefix: 'far',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"]\n};\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"]\n};\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"]\n};\nvar faKiss = {\n prefix: 'far',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faKissBeam = {\n prefix: 'far',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'far',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z\"]\n};\nvar faLaugh = {\n prefix: 'far',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughBeam = {\n prefix: 'far',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughSquint = {\n prefix: 'far',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughWink = {\n prefix: 'far',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"]\n};\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"]\n};\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z\"]\n};\nvar faListAlt = {\n prefix: 'far',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z\"]\n};\nvar faMeh = {\n prefix: 'far',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMehBlank = {\n prefix: 'far',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'far',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMinusSquare = {\n prefix: 'far',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'far',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z\"]\n};\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"]\n};\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"]\n};\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"]\n};\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"]\n};\nvar faPauseCircle = {\n prefix: 'far',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"]\n};\nvar faPlayCircle = {\n prefix: 'far',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"]\n};\nvar faPlusSquare = {\n prefix: 'far',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faQuestionCircle = {\n prefix: 'far',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"]\n};\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"]\n};\nvar faSadCry = {\n prefix: 'far',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z\"]\n};\nvar faSadTear = {\n prefix: 'far',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z\"]\n};\nvar faSave = {\n prefix: 'far',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"]\n};\nvar faShareSquare = {\n prefix: 'far',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"]\n};\nvar faSmile = {\n prefix: 'far',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"]\n};\nvar faSmileBeam = {\n prefix: 'far',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z\"]\n};\nvar faSmileWink = {\n prefix: 'far',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z\"]\n};\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"]\n};\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"]\n};\nvar faStickyNote = {\n prefix: 'far',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"]\n};\nvar faStopCircle = {\n prefix: 'far',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"]\n};\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z\"]\n};\nvar faSurprise = {\n prefix: 'far',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"]\n};\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faTimesCircle = {\n prefix: 'far',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"]\n};\nvar faTired = {\n prefix: 'far',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z\"]\n};\nvar faTrashAlt = {\n prefix: 'far',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z\"]\n};\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\"]\n};\nvar faUserCircle = {\n prefix: 'far',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z\"]\n};\nvar faWindowClose = {\n prefix: 'far',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"]\n};\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"]\n};\nvar _iconsCache = {\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAngry: faAngry,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBookmark: faBookmark,\n faBuilding: faBuilding,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faChartBar: faChartBar,\n faCheckCircle: faCheckCircle,\n faCheckSquare: faCheckSquare,\n faCircle: faCircle,\n faClipboard: faClipboard,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDots: faCommentDots,\n faComments: faComments,\n faCompass: faCompass,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCreditCard: faCreditCard,\n faDizzy: faDizzy,\n faDotCircle: faDotCircle,\n faEdit: faEdit,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEye: faEye,\n faEyeSlash: faEyeSlash,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileExcel: faFileExcel,\n faFileImage: faFileImage,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFlag: faFlag,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderOpen: faFolderOpen,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFutbol: faFutbol,\n faGem: faGem,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faHandLizard: faHandLizard,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSpock: faHandSpock,\n faHandshake: faHandshake,\n faHdd: faHdd,\n faHeart: faHeart,\n faHospital: faHospital,\n faHourglass: faHourglass,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faImage: faImage,\n faImages: faImages,\n faKeyboard: faKeyboard,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLemon: faLemon,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faListAlt: faListAlt,\n faMap: faMap,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMinusSquare: faMinusSquare,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoon: faMoon,\n faNewspaper: faNewspaper,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faPaperPlane: faPaperPlane,\n faPauseCircle: faPauseCircle,\n faPlayCircle: faPlayCircle,\n faPlusSquare: faPlusSquare,\n faQuestionCircle: faQuestionCircle,\n faRegistered: faRegistered,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSave: faSave,\n faShareSquare: faShareSquare,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSnowflake: faSnowflake,\n faSquare: faSquare,\n faStar: faStar,\n faStarHalf: faStarHalf,\n faStickyNote: faStickyNote,\n faStopCircle: faStopCircle,\n faSun: faSun,\n faSurprise: faSurprise,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faTimesCircle: faTimesCircle,\n faTired: faTired,\n faTrashAlt: faTrashAlt,\n faUser: faUser,\n faUserCircle: faUserCircle,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore\n};\n\nexport { _iconsCache as far, prefix, faAddressBook, faAddressCard, faAngry, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faBell, faBellSlash, faBookmark, faBuilding, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faChartBar, faCheckCircle, faCheckSquare, faCircle, faClipboard, faClock, faClone, faClosedCaptioning, faComment, faCommentAlt, faCommentDots, faComments, faCompass, faCopy, faCopyright, faCreditCard, faDizzy, faDotCircle, faEdit, faEnvelope, faEnvelopeOpen, faEye, faEyeSlash, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileExcel, faFileImage, faFilePdf, faFilePowerpoint, faFileVideo, faFileWord, faFlag, faFlushed, faFolder, faFolderOpen, faFontAwesomeLogoFull, faFrown, faFrownOpen, faFutbol, faGem, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faHandLizard, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSpock, faHandshake, faHdd, faHeart, faHospital, faHourglass, faIdBadge, faIdCard, faImage, faImages, faKeyboard, faKiss, faKissBeam, faKissWinkHeart, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLemon, faLifeRing, faLightbulb, faListAlt, faMap, faMeh, faMehBlank, faMehRollingEyes, faMinusSquare, faMoneyBillAlt, faMoon, faNewspaper, faObjectGroup, faObjectUngroup, faPaperPlane, faPauseCircle, faPlayCircle, faPlusSquare, faQuestionCircle, faRegistered, faSadCry, faSadTear, faSave, faShareSquare, faSmile, faSmileBeam, faSmileWink, faSnowflake, faSquare, faStar, faStarHalf, faStickyNote, faStopCircle, faSun, faSurprise, faThumbsDown, faThumbsUp, faTimesCircle, faTired, faTrashAlt, faUser, faUserCircle, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore };\n","import React, {Component} from 'react'; // eslint-disable-line no-unused-vars\nimport PropTypes from 'prop-types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCopy, faCheckCircle} from '@fortawesome/free-regular-svg-icons';\n\nimport LoadingElement from '../utils/LoadingElement';\n\nconst clipboardAPI = navigator.clipboard;\n\nfunction wait(ms) {\n return new Promise(r => setTimeout(r, ms));\n}\n\n/**\n * The Clipboard component copies text to the clipboard\n */\n\nexport default class Clipboard extends React.Component {\n static contextType = window.dash_component_api.DashContext;\n\n constructor(props) {\n super(props);\n this.copyToClipboard = this.copyToClipboard.bind(this);\n this.onClickHandler = this.onClickHandler.bind(this);\n this.copySuccess = this.copySuccess.bind(this);\n this.getTargetText = this.getTargetText.bind(this);\n this.loading = this.loading.bind(this);\n this.stringifyId = this.stringifyId.bind(this);\n this.state = {\n copied: false,\n };\n }\n\n onClickHandler() {\n this.props.setProps({n_clicks: this.props.n_clicks + 1});\n }\n\n componentDidUpdate(prevProps) {\n // If the clicks has not changed, do nothing\n if (\n !this.props.n_clicks ||\n this.props.n_clicks === prevProps.n_clicks\n ) {\n return;\n }\n // If the clicks has changed, copy to clipboard\n this.copyToClipboard();\n }\n\n // stringifies object ids used in pattern matching callbacks\n stringifyId(id) {\n if (typeof id !== 'object') {\n return id;\n }\n const stringifyVal = v => (v && v.wild) || JSON.stringify(v);\n const parts = Object.keys(id)\n .sort()\n .map(k => JSON.stringify(k) + ':' + stringifyVal(id[k]));\n return '{' + parts.join(',') + '}';\n }\n\n async copySuccess(content, htmlContent) {\n const showCopiedIcon = 1000;\n if (htmlContent) {\n const blobHtml = new Blob([htmlContent], {type: 'text/html'});\n const blobText = new Blob([content ?? htmlContent], {\n type: 'text/plain',\n });\n const data = [\n new ClipboardItem({\n ['text/plain']: blobText,\n ['text/html']: blobHtml,\n }),\n ];\n await navigator.clipboard.write(data);\n } else {\n await clipboardAPI.writeText(content);\n }\n this.setState({copied: true});\n await wait(showCopiedIcon);\n this.setState({copied: false});\n }\n\n getTargetText() {\n // get the inner text. If none, use the content of the value param\n const id = this.stringifyId(this.props.target_id);\n const target = document.getElementById(id);\n if (!target) {\n throw new Error(\n 'Clipboard copy failed: no element found for target_id ' +\n this.props.target_id\n );\n }\n let content = target.innerText;\n if (!content) {\n content = target.value;\n content = content === undefined ? null : content;\n }\n return content;\n }\n\n async loading() {\n while (this.context.isLoading()) {\n await wait(100);\n }\n }\n\n async copyToClipboard() {\n let content;\n let htmlContent;\n if (this.props.target_id) {\n content = this.getTargetText();\n } else {\n await wait(100); // gives time for callback to start\n await this.loading();\n content = this.props.content;\n htmlContent = this.props.html_content;\n }\n if (content || htmlContent) {\n this.copySuccess(content, htmlContent);\n }\n }\n\n componentDidMount() {\n if (!clipboardAPI) {\n console.warn('Copy to clipboard not available with this browser'); // eslint-disable-line no-console\n }\n }\n\n render() {\n const {id, title, className, style, children, copied_children} =\n this.props;\n\n const isCopied = this.state.copied;\n\n const button_children = isCopied\n ? copied_children ?? \n : children ?? ;\n\n return clipboardAPI ? (\n \n {button_children}\n \n ) : null;\n }\n}\n\nClipboard.defaultProps = {\n content: null,\n html_content: null,\n target_id: null,\n n_clicks: 0,\n};\n\nClipboard.propTypes = {\n /**\n * The ID used to identify this component.\n */\n id: PropTypes.string,\n\n /**\n * Children rendered inside the Clipboard button before copying. By default, a copy icon.\n */\n children: PropTypes.node,\n\n /**\n * Children rendered inside the Clipboard button after the value has been copied. By default, a check icon.\n */\n copied_children: PropTypes.node,\n\n /**\n * The id of target component containing text to copy to the clipboard.\n * The inner text of the `children` prop will be copied to the clipboard. If none, then the text from the\n * `value` prop will be copied.\n */\n target_id: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n /**\n * The text to be copied to the clipboard if the `target_id` is None.\n */\n content: PropTypes.string,\n\n /**\n * The number of times Clipboard button was clicked\n */\n n_clicks: PropTypes.number,\n\n /**\n * The clipboard html text be copied to the clipboard if the `target_id` is None.\n */\n html_content: PropTypes.string,\n\n /**\n * The text shown as a tooltip when hovering over the copy icon.\n */\n title: PropTypes.string,\n\n /**\n * The icon's styles\n */\n style: PropTypes.object,\n\n /**\n * The class name of the icon element\n */\n className: PropTypes.string,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\nimport {Component} from 'react';\n\n/**\n * ConfirmDialog is used to display the browser's native \"confirm\" modal,\n * with an optional message and two buttons (\"OK\" and \"Cancel\").\n * This ConfirmDialog can be used in conjunction with buttons when the user\n * is performing an action that should require an extra step of verification.\n */\nexport default class ConfirmDialog extends Component {\n componentDidUpdate(prevProps) {\n this._update(!prevProps.displayed && this.props.displayed);\n }\n\n componentDidMount() {\n this._update(this.props.displayed);\n }\n\n _update(shouldTriggerDisplay) {\n const {message, setProps, cancel_n_clicks, submit_n_clicks} =\n this.props;\n\n if (shouldTriggerDisplay) {\n new Promise(resolve => resolve(window.confirm(message))).then(\n result => {\n if (result) {\n setProps({\n submit_n_clicks: submit_n_clicks + 1,\n submit_n_clicks_timestamp: Date.now(),\n displayed: false,\n });\n } else {\n setProps({\n cancel_n_clicks: cancel_n_clicks + 1,\n cancel_n_clicks_timestamp: Date.now(),\n displayed: false,\n });\n }\n }\n );\n }\n }\n\n render() {\n return null;\n }\n}\n\nConfirmDialog.defaultProps = {\n submit_n_clicks: 0,\n submit_n_clicks_timestamp: -1,\n cancel_n_clicks: 0,\n cancel_n_clicks_timestamp: -1,\n};\n\nConfirmDialog.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Message to show in the popup.\n */\n message: PropTypes.string,\n /**\n * Number of times the submit button was clicked\n */\n submit_n_clicks: PropTypes.number,\n /**\n * Last time the submit button was clicked.\n */\n submit_n_clicks_timestamp: PropTypes.number,\n /**\n * Number of times the popup was canceled.\n */\n cancel_n_clicks: PropTypes.number,\n /**\n * Last time the cancel button was clicked.\n */\n cancel_n_clicks_timestamp: PropTypes.number,\n /**\n * Set to true to send the ConfirmDialog.\n */\n displayed: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ConfirmDialog from './ConfirmDialog.react';\nimport LoadingElement from '../utils/LoadingElement';\n\n/**\n * A wrapper component that will display a confirmation dialog\n * when its child component has been clicked on.\n *\n * For example:\n * ```\n * dcc.ConfirmDialogProvider(\n * html.Button('click me', id='btn'),\n * message='Danger - Are you sure you want to continue.'\n * id='confirm')\n * ```\n */\nexport default class ConfirmDialogProvider extends React.Component {\n render() {\n const {displayed, id, setProps, children} = this.props;\n\n // Will lose the previous onClick of the child\n const wrapClick = child =>\n React.cloneElement(child, {\n onClick: () => setProps({displayed: true}),\n });\n\n return (\n \n {Array.isArray(children)\n ? children.map(wrapClick)\n : wrapClick(children)}\n \n \n );\n }\n}\n\nConfirmDialogProvider.defaultProps = {\n submit_n_clicks: 0,\n submit_n_clicks_timestamp: -1,\n cancel_n_clicks: 0,\n cancel_n_clicks_timestamp: -1,\n};\n\nConfirmDialogProvider.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Message to show in the popup.\n */\n message: PropTypes.string,\n /**\n * Number of times the submit was clicked\n */\n submit_n_clicks: PropTypes.number,\n /**\n * Last time the submit button was clicked.\n */\n submit_n_clicks_timestamp: PropTypes.number,\n /**\n * Number of times the popup was canceled.\n */\n cancel_n_clicks: PropTypes.number,\n /**\n * Last time the cancel button was clicked.\n */\n cancel_n_clicks_timestamp: PropTypes.number,\n /**\n * Is the modal currently displayed.\n */\n displayed: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n /**\n * The children to hijack clicks from and display the popup.\n */\n children: PropTypes.any,\n};\n","export default () =>\n import(\n /* webpackChunkName: \"datepicker\" */ '../../fragments/DatePickerRange'\n );\n","import {format, startOfDay, parseISO} from 'date-fns';\nimport {isNil} from 'ramda';\n\nexport default {\n extract: (propValue?: string) => {\n if (isNil(propValue)) {\n return propValue;\n }\n\n const parsed = parseISO(propValue);\n return format(startOfDay(parsed), 'yyyy-MM-dd');\n },\n apply: (storedValue?: string) => storedValue,\n};\n","import React, {lazy, Suspense} from 'react';\nimport datePickerRange from '../utils/LazyLoader/datePickerRange';\nimport transformDate from '../utils/DatePickerPersistence';\nimport {DatePickerRangeProps, PersistedProps, PersistenceTypes} from '../types';\n\nconst RealDatePickerRange = lazy(datePickerRange);\n\n/**\n * DatePickerRange is designed for selecting a timespan across multiple days off\n * of a calendar.\n *\n * The DatePicker integrates well with the Python datetime module with the\n * startDate and endDate being returned in a string format suitable for\n * creating datetime objects.\n *\n */\nexport default function DatePickerRange({\n calendar_orientation = 'horizontal',\n is_RTL = false,\n // eslint-disable-next-line no-magic-numbers\n day_size = 34,\n with_portal = false,\n with_full_screen_portal = false,\n first_day_of_week = 0,\n number_of_months_shown = 2,\n stay_open_on_select = false,\n reopen_calendar_on_clear = false,\n show_outside_days = false,\n clearable = false,\n disabled = false,\n updatemode = 'singledate',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.start_date, PersistedProps.end_date],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n disabled_days = [],\n ...props\n}: DatePickerRangeProps) {\n return (\n \n \n \n );\n}\n\nDatePickerRange.dashPersistence = {\n persisted_props: [PersistedProps.start_date, PersistedProps.end_date],\n persistence_type: PersistenceTypes.local,\n};\n\nDatePickerRange.persistenceTransforms = {\n end_date: transformDate,\n start_date: transformDate,\n};\n","export default () =>\n import(\n /* webpackChunkName: \"datepicker\" */ '../../fragments/DatePickerSingle'\n );\n","import React, {lazy, Suspense} from 'react';\nimport datePickerSingle from '../utils/LazyLoader/datePickerSingle';\nimport transformDate from '../utils/DatePickerPersistence';\nimport {\n DatePickerSingleProps,\n PersistedProps,\n PersistenceTypes,\n} from '../types';\n\nconst RealDatePickerSingle = lazy(datePickerSingle);\n\n/**\n * DatePickerSingle is a tailor made component designed for selecting\n * a single day off of a calendar.\n *\n * The DatePicker integrates well with the Python datetime module with the\n * startDate and endDate being returned in a string format suitable for\n * creating datetime objects.\n */\nexport default function DatePickerSingle({\n placeholder = 'Select Date',\n calendar_orientation = 'horizontal',\n is_RTL = false,\n // eslint-disable-next-line no-magic-numbers\n day_size = 34,\n with_portal = false,\n with_full_screen_portal = false,\n show_outside_days = true,\n first_day_of_week = 0,\n number_of_months_shown = 1,\n stay_open_on_select = false,\n reopen_calendar_on_clear = false,\n clearable = false,\n disabled = false,\n disabled_days = [],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.date],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n ...props\n}: DatePickerSingleProps) {\n return (\n \n \n \n );\n}\n\nDatePickerSingle.dashPersistence = {\n persisted_props: [PersistedProps.date],\n persistence_type: PersistenceTypes.local,\n};\n\nDatePickerSingle.persistenceTransforms = {\n date: transformDate,\n};\n","import PropTypes from 'prop-types';\nimport {Component} from 'react';\nimport {toByteArray} from 'base64-js';\nimport {saveAs} from 'file-saver';\n\nconst getValue = (src, fallback, key) =>\n key in src ? src[key] : fallback[key];\n\n/**\n * The Download component opens a download dialog when the data property changes.\n */\nexport default class Download extends Component {\n componentDidUpdate(prevProps) {\n const {data} = this.props;\n // If the data hasn't changed, do nothing.\n if (!data || data === prevProps.data) {\n return;\n }\n // Extract options from data if provided, fallback to props.\n const type = getValue(data, this.props, 'type');\n const base64 = getValue(data, this.props, 'base64');\n // Invoke the download using a Blob.\n const content = base64 ? toByteArray(data.content) : data.content;\n const blob = new Blob([content], {type: type});\n saveAs(blob, data.filename);\n }\n\n render() {\n return null;\n }\n}\n\nDownload.propTypes = {\n /**\n * The ID of this component, used to identify dash components in callbacks.\n */\n id: PropTypes.string,\n\n /**\n * On change, a download is invoked.\n */\n data: PropTypes.exact({\n /**\n * Suggested filename in the download dialogue.\n */\n filename: PropTypes.string.isRequired,\n /**\n * File content.\n */\n content: PropTypes.string.isRequired,\n /**\n * Set to true, when data is base64 encoded.\n */\n base64: PropTypes.bool,\n /**\n * Blob type, usually a MIME-type.\n */\n type: PropTypes.string,\n }),\n\n /**\n * Default value for base64, used when not set as part of the data property.\n */\n base64: PropTypes.bool,\n\n /**\n * Default value for type, used when not set as part of the data property.\n */\n type: PropTypes.string,\n\n /**\n * Dash-supplied function for updating props.\n */\n setProps: PropTypes.func,\n};\n\nDownload.defaultProps = {\n type: 'text/plain',\n base64: false,\n};\n","import {Component} from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * The CurrentLocation component gets geolocation of the device from the web browser. See more info here:\n * https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API\n */\n\nexport default class Geolocation extends Component {\n constructor(props) {\n super(props);\n this.success = this.success.bind(this);\n this.error = this.error.bind(this);\n }\n updatePosition() {\n if (this.props.update_now) {\n this.props.setProps({\n update_now: false,\n });\n }\n if (!navigator.geolocation) {\n this.error({\n code: 999,\n message: 'Your browser does not support Geolocation',\n });\n } else {\n const positionOptions = {\n enableHighAccuracy: this.props.high_accuracy,\n maximumAge: this.props.maximum_age,\n timeout: this.props.timeout,\n };\n\n navigator.geolocation.getCurrentPosition(\n this.success,\n this.error,\n positionOptions\n );\n }\n }\n\n componentDidMount() {\n this.updatePosition();\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.update_now ||\n prevProps.maximum_age !== this.props.maximum_age ||\n prevProps.timeout !== this.props.timeout ||\n prevProps.high_accuracy !== this.props.high_accuracy\n ) {\n this.updatePosition();\n }\n }\n\n success(pos) {\n const crd = pos.coords;\n const position_obj = {\n lat: crd.latitude ?? null,\n lon: crd.longitude ?? null,\n accuracy: crd.accuracy ?? null,\n alt: crd.altitude ?? null,\n alt_accuracy: crd.altitudeAccuracy ?? null,\n speed: crd.speed ?? null,\n heading: crd.heading ?? null,\n };\n\n this.props.setProps({\n local_date: new Date(pos.timestamp).toLocaleString(),\n timestamp: pos.timestamp,\n position: position_obj,\n position_error: null,\n });\n }\n\n error(err) {\n if (this.props.show_alert) {\n alert(`ERROR(${err.code}): ${err.message}`);\n }\n this.props.setProps({\n position: null,\n position_error: {\n code: err.code,\n message: err.message,\n },\n });\n }\n\n render() {\n return null;\n }\n}\n\nGeolocation.defaultProps = {\n update_now: false,\n high_accuracy: false,\n position_error: null,\n maximum_age: 0,\n timeout: Infinity,\n show_alert: false,\n};\n\nGeolocation.propTypes = {\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: PropTypes.string,\n\n /**\n * The local date and time when the device position was updated.\n * Format: MM/DD/YYYY, hh:mm:ss p where p is AM or PM\n */\n local_date: PropTypes.string,\n\n /**\n * The Unix timestamp from when the position was updated\n */\n timestamp: PropTypes.number,\n\n /**\n * The position of the device. `lat`, `lon`, and `accuracy` will always be returned. The other data will be included\n * when available, otherwise it will be NaN.\n *\n * `lat` is latitude in degrees.\n * `lon` is longitude in degrees.\n * `accuracy` is the accuracy of the lat/lon in meters. *\n *\n * `alt` is altitude above mean sea level in meters.\n * `alt_accuracy` is the accuracy of the altitude in meters.\n * `heading` is the compass heading in degrees.\n * `speed` is the speed in meters per second.\n *\n */\n position: PropTypes.shape({\n lat: PropTypes.number,\n lon: PropTypes.number,\n accuracy: PropTypes.number,\n alt: PropTypes.number,\n alt_accuracy: PropTypes.number,\n heading: PropTypes.number,\n speed: PropTypes.number,\n }),\n\n /**\n * Position error\n */\n position_error: PropTypes.shape({\n code: PropTypes.number,\n message: PropTypes.string,\n }),\n\n /**\n * If true, error messages will be displayed as an alert\n */\n show_alert: PropTypes.bool,\n\n /**\n * Forces a one-time update of the position data. If set to True in a callback, the browser\n * will update the position data and reset update_now back to False. This can, for example, be used to update the\n * position with a button or an interval timer.\n */\n update_now: PropTypes.bool,\n\n /**\n * If true and if the device is able to provide a more accurate position,\n * it will do so. Note that this can result in slower response times or increased power consumption (with a GPS\n * chip on a mobile device for example). If false (the default value), the device can save resources by\n * responding more quickly and/or using less power.\n */\n high_accuracy: PropTypes.bool,\n\n /**\n * The maximum age in milliseconds of a possible cached position that is acceptable to return. If set to 0,\n * it means that the device cannot use a cached position and must attempt to retrieve the real current position.\n * If set to Infinity the device must return a cached position regardless of its age. Default: 0.\n */\n maximum_age: PropTypes.number,\n\n /**\n * The maximum length of time (in milliseconds) the device is allowed to take in order to return a position.\n * The default value is Infinity, meaning that data will not be return until the position is available.\n */\n timeout: PropTypes.number,\n\n /**\n * Dash-assigned callback that should be called to report property changes\n * to Dash, to make them available for callbacks.\n */\n setProps: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\nimport React, {Component} from 'react'; // eslint-disable-line no-unused-vars\n\n/**\n * A component that repeatedly increments a counter `n_intervals`\n * with a fixed time delay between each increment.\n * Interval is good for triggering a component on a recurring basis.\n * The time delay is set with the property \"interval\" in milliseconds.\n */\nexport default class Interval extends Component {\n constructor(props) {\n super(props);\n this.intervalId = null;\n this.reportInterval = this.reportInterval.bind(this);\n this.handleTimer = this.handleTimer.bind(this);\n }\n\n handleTimer(props) {\n // Check if timer should stop or shouldn't even start\n if (\n props.max_intervals === 0 ||\n props.disabled ||\n (props.n_intervals >= props.max_intervals &&\n props.max_intervals !== -1)\n ) {\n // stop existing timer\n if (this.intervalId) {\n this.clearTimer();\n }\n // and don't start a timer\n return;\n }\n\n // keep the existing timer running\n if (this.intervalId) {\n return;\n }\n\n // it hasn't started yet (& it should start)\n this.intervalId = window.setInterval(\n this.reportInterval,\n props.interval\n );\n }\n\n resetTimer(props) {\n this.clearTimer();\n this.handleTimer(props);\n }\n\n clearTimer() {\n window.clearInterval(this.intervalId);\n this.intervalId = null;\n }\n\n reportInterval() {\n const {setProps, n_intervals} = this.props;\n setProps({n_intervals: n_intervals + 1});\n }\n\n componentDidMount() {\n this.handleTimer(this.props);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.interval !== this.props.interval) {\n this.resetTimer(nextProps);\n } else {\n this.handleTimer(nextProps);\n }\n }\n\n componentWillUnmount() {\n this.clearTimer();\n }\n\n render() {\n return null;\n }\n}\n\nInterval.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n /**\n * This component will increment the counter `n_intervals` every\n * `interval` milliseconds\n */\n interval: PropTypes.number,\n\n /**\n * If True, the counter will no longer update\n */\n disabled: PropTypes.bool,\n\n /**\n * Number of times the interval has passed\n */\n n_intervals: PropTypes.number,\n\n /**\n * Number of times the interval will be fired.\n * If -1, then the interval has no limit (the default)\n * and if 0 then the interval stops running.\n */\n max_intervals: PropTypes.number,\n\n /**\n * Dash assigned callback\n */\n setProps: PropTypes.func,\n};\n\nInterval.defaultProps = {\n interval: 1000,\n n_intervals: 0,\n max_intervals: -1,\n};\n","import _has from \"./_has.js\";\nexport default function _toPairs(obj) {\n var pairs = [];\n for (var prop in obj) {\n if (_has(prop, obj)) {\n pairs[pairs.length] = [prop, obj[prop]];\n }\n }\n return pairs;\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _toPairs from \"./internal/_toPairs.js\";\n\n/**\n * Converts an object into an array of key, value arrays. Only the object's\n * own properties are used.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own properties.\n * @see R.fromPairs, R.keys, R.values\n * @example\n *\n * R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]\n */\nvar toPairs = /*#__PURE__*/_curry1(_toPairs);\nexport default toPairs;","import _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\nvar XAny = /*#__PURE__*/function () {\n function XAny(f, xf) {\n this.xf = xf;\n this.f = f;\n this.any = false;\n }\n XAny.prototype['@@transducer/init'] = _xfBase.init;\n XAny.prototype['@@transducer/result'] = function (result) {\n if (!this.any) {\n result = this.xf['@@transducer/step'](result, false);\n }\n return this.xf['@@transducer/result'](result);\n };\n XAny.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.any = true;\n result = _reduced(this.xf['@@transducer/step'](result, true));\n }\n return result;\n };\n return XAny;\n}();\nexport default function _xany(f) {\n return function (xf) {\n return new XAny(f, xf);\n };\n}","export default function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x : {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xany from \"./internal/_xany.js\";\n\n/**\n * Returns `true` if at least one of the elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n * otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n * const lessThan0 = R.flip(R.lt)(0);\n * const lessThan2 = R.flip(R.lt)(2);\n * R.any(lessThan0)([1, 2]); //=> false\n * R.any(lessThan2)([1, 2]); //=> true\n */\nvar any = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['any'], _xany, function any(fn, list) {\n var idx = 0;\n while (idx < list.length) {\n if (fn(list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n}));\nexport default any;","import React from 'react';\nimport {DebugTitleProps} from '../types';\n\nexport default function DebugTitle({id, property}: DebugTitleProps) {\n return (\n

\n Loading #{id}\n 's {property}\n

\n );\n}\n","import React, {useState, useRef, useMemo, useEffect} from 'react';\nimport {equals, concat, includes, toPairs, any} from 'ramda';\n\nimport GraphSpinner from '../fragments/Loading/spinners/GraphSpinner';\nimport DefaultSpinner from '../fragments/Loading/spinners/DefaultSpinner';\nimport CubeSpinner from '../fragments/Loading/spinners/CubeSpinner';\nimport CircleSpinner from '../fragments/Loading/spinners/CircleSpinner';\nimport DotSpinner from '../fragments/Loading/spinners/DotSpinner';\nimport {LoadingProps} from 'src/types';\nimport {DebugTitleProps} from '../fragments/Loading/types';\nimport {DashLayoutPath} from '@dash-renderer/types/component';\n\nconst spinnerComponentOptions = {\n graph: GraphSpinner,\n cube: CubeSpinner,\n circle: CircleSpinner,\n dot: DotSpinner,\n default: DefaultSpinner,\n} as const;\n\nconst getSpinner = (spinnerType: keyof typeof spinnerComponentOptions) =>\n spinnerComponentOptions[spinnerType];\n\nconst coveringSpinner: React.CSSProperties = {\n visibility: 'visible',\n position: 'absolute',\n top: '0',\n height: '100%',\n width: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n};\n\ntype LoadingState = {\n loading: Record;\n};\n\nconst loadingSelector =\n (\n componentPath: DashLayoutPath,\n targetComponents?: Record\n ) =>\n (state: LoadingState): DebugTitleProps[] | null => {\n let stringPath = JSON.stringify(componentPath);\n // Remove the last ] for easy match and add `,` to make sure only children\n // trigger the loading. See issue: https://github.com/plotly/dash/issues/3276\n stringPath = stringPath.substring(0, stringPath.length - 1) + ',';\n const loadingChildren = toPairs(state.loading).reduce(\n (acc, [path, load]) => {\n if (path.startsWith(stringPath) && load.length) {\n if (\n targetComponents &&\n !any((l: DebugTitleProps) => {\n const target = targetComponents[l.id];\n if (!target) {\n return false;\n }\n if (target === '*') {\n return true;\n }\n if (Array.isArray(target)) {\n return includes(l.property, target);\n }\n return l.property === target;\n }, load)\n ) {\n return acc;\n }\n return concat(acc, load);\n }\n return acc;\n },\n [] as DebugTitleProps[]\n );\n if (loadingChildren.length) {\n return loadingChildren;\n }\n return null;\n };\n\nfunction Loading({\n children,\n display = 'auto',\n color = 'var(--Dash-Fill-Interactive-Strong)',\n id,\n className,\n style,\n parent_className,\n parent_style,\n overlay_style,\n fullscreen,\n debug,\n show_initially = true,\n type: spinnerType = 'default',\n delay_hide = 0,\n delay_show = 0,\n target_components,\n custom_spinner,\n}: LoadingProps) {\n const ctx = window.dash_component_api.useDashContext();\n\n const loading = ctx.useSelector(\n loadingSelector(ctx.componentPath, target_components),\n equals\n );\n\n const [showSpinner, setShowSpinner] = useState(show_initially);\n const dismissTimer = useRef();\n const showTimer = useRef();\n\n const containerStyle: React.CSSProperties = useMemo(() => {\n if (showSpinner) {\n return {visibility: 'hidden', ...overlay_style, ...parent_style};\n }\n return parent_style ?? {};\n }, [showSpinner, parent_style]);\n\n useEffect(() => {\n if (display === 'show' || display === 'hide') {\n setShowSpinner(display === 'show');\n return;\n }\n\n if (loading) {\n // if component is currently loading and there's a dismiss timer active\n // we need to clear it.\n if (dismissTimer.current) {\n dismissTimer.current = window.clearTimeout(\n dismissTimer.current\n );\n }\n // if component is currently loading but the spinner is not showing and\n // there is no timer set to show, then set a timeout to show\n if (!showSpinner && !showTimer.current) {\n showTimer.current = window.setTimeout(() => {\n setShowSpinner(true);\n showTimer.current = undefined;\n }, delay_show);\n }\n } else {\n // if component is not currently loading and there's a show timer\n // active we need to clear it\n if (showTimer.current) {\n showTimer.current = window.clearTimeout(showTimer.current);\n }\n // if component is not currently loading and the spinner is showing and\n // there's no timer set to dismiss it, then set a timeout to hide it\n if (showSpinner && !dismissTimer.current) {\n dismissTimer.current = window.setTimeout(() => {\n setShowSpinner(false);\n dismissTimer.current = undefined;\n }, delay_hide);\n }\n }\n }, [delay_hide, delay_show, loading, display, showSpinner]);\n\n const Spinner = getSpinner(spinnerType);\n\n return (\n \n
\n {children}\n
\n
\n {showSpinner &&\n (custom_spinner || (\n \n ))}\n
\n
\n );\n}\n\nexport default Loading;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\nconst GraphSpinner = ({\n status,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default GraphSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\nconst CubeSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n /* eslint-disable no-magic-numbers */\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default CubeSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst CircleSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default CircleSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DotSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default DotSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DefaultSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default DefaultSpinner;\n","import {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {type} from 'ramda';\n\nimport {History} from '@plotly/dash-component-plugins';\n\n/**\n * Update and track the current window.location object through the window.history state.\n * Use in conjunction with the `dash_core_components.Link` component to make apps with multiple pages.\n */\nexport default class Location extends Component {\n constructor(props) {\n super(props);\n this.updateLocation = this.updateLocation.bind(this);\n this.onLocationChange = this.onLocationChange.bind(this);\n }\n\n updateLocation(props) {\n const {hash, href, pathname, refresh, search, setProps} = props;\n\n // Keep track of props relating to window.location that may need to be updated via setProps\n const propsToSet = {};\n\n /**\n * Check if the field exists in props. If the prop with \"fieldName\" is not defined,\n * then it was not set by the user and needs to be equal to the value in window.location.\n * This only happens on page load (since props will no longer be undefined after componentDidMount).\n *\n * @param {string} fieldName\n * The name of the prop in window.location and in the component's prop\n *\n * @returns {boolean}\n * Returns true if the prop with fieldName is different and the window state needs to be updated\n */\n const checkExistsUpdateWindowLocation = fieldName => {\n const propVal = props[fieldName];\n\n if (\n (type(propVal) === 'Undefined' || propVal === null) &&\n type(window.location[fieldName]) !== 'Undefined'\n ) {\n // propVal is undefined or null, but window.location has this fieldName defined\n propsToSet[fieldName] = window.location[fieldName];\n } else if (propVal !== window.location[fieldName]) {\n // Prop has changed?\n if (refresh === true) {\n // Refresh the page?\n if (\n fieldName === 'href' &&\n window.dash_clientside.clean_url(propVal) !== propVal\n ) {\n setProps({\n _dash_error: new Error(\n `Dangerous link detected: ${propVal}`\n ),\n });\n return false;\n }\n window.location[fieldName] = propVal;\n } else if (this.props[fieldName] !== propVal) {\n // If this prop has changed, need to setProps\n propsToSet[fieldName] = propVal;\n // This (`${fieldName}`: propVal) needs to be pushed in the window.history\n return true;\n }\n }\n // This (`${fieldName}`: propVal) DOES NOT need to be pushed in the window.history\n return false;\n };\n\n // Check if the prop value needs to be updated (note that this mutates propsToSet)\n const pathnameUpdated = checkExistsUpdateWindowLocation('pathname');\n const hrefUpdated = checkExistsUpdateWindowLocation('href');\n const hashUpdated = checkExistsUpdateWindowLocation('hash');\n const searchUpdated = checkExistsUpdateWindowLocation('search');\n\n // propsToSet has been updated -- batch update to Dash\n if (Object.keys(propsToSet).length > 0) {\n setProps(propsToSet);\n }\n\n // Special case -- overrides everything!\n if (hrefUpdated) {\n window.history.pushState({}, '', href);\n if (refresh === 'callback-nav') {\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n } else if (pathnameUpdated || hashUpdated || searchUpdated) {\n // Otherwise, we can mash everything together\n const searchVal = type(search) !== 'Undefined' ? search : '';\n const hashVal = type(hash) !== 'Undefined' ? hash : '';\n window.history.pushState(\n {},\n '',\n `${pathname}${searchVal}${hashVal}`\n );\n if (refresh === 'callback-nav') {\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n }\n }\n\n onLocationChange() {\n const {setProps} = this.props;\n const propsToChange = {};\n\n if (this.props.pathname !== window.location.pathname) {\n propsToChange.pathname = window.location.pathname;\n }\n if (this.props.href !== window.location.href) {\n propsToChange.href = window.location.href;\n }\n if (this.props.hash !== window.location.hash) {\n propsToChange.hash = window.location.hash;\n }\n if (this.props.search !== window.location.search) {\n propsToChange.search = window.location.search;\n }\n\n setProps(propsToChange);\n\n History.dispatchChangeEvent();\n }\n\n componentDidMount() {\n window.addEventListener('popstate', this.onLocationChange);\n\n window.addEventListener(\n '_dashprivate_pushstate',\n this.onLocationChange\n );\n this.updateLocation(this.props);\n }\n\n componentWillUnmount() {\n window.removeEventListener('popstate', this.onLocationChange);\n window.removeEventListener(\n '_dashprivate_pushstate',\n this.onLocationChange\n );\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateLocation(nextProps);\n }\n\n render() {\n return null;\n }\n}\n\nLocation.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string.isRequired,\n\n /** pathname in window.location - e.g., \"/my/full/pathname\" */\n pathname: PropTypes.string,\n /** search in window.location - e.g., \"?myargument=1\" */\n search: PropTypes.string,\n /** hash in window.location - e.g., \"#myhash\" */\n hash: PropTypes.string,\n /** href in window.location - e.g., \"/my/full/pathname?myargument=1#myhash\" */\n href: PropTypes.string,\n\n /**\n * Use `True` to navigate outside the Dash app or to manually refresh a page.\n * Use `False` if the same callback that updates the Location component is also\n * updating the page content - typically used in multi-page apps that do not use Pages.\n * Use 'callback-nav' if you are updating the URL in a callback, or a different\n * callback will respond to the new Location with updated content. This is\n * typical with multi-page apps that use Pages. This will allow for\n * navigating to a new page without refreshing the page.\n */\n refresh: PropTypes.oneOfType([\n PropTypes.oneOf(['callback-nav']),\n PropTypes.bool,\n ]),\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n\nLocation.defaultProps = {\n refresh: true,\n};\n","export default () =>\n import(/* webpackChunkName: \"markdown\" */ '../../fragments/Markdown');\n","import React, {lazy, Suspense, useEffect} from 'react';\nimport {MarkdownProps} from '../types';\nimport markdown from '../utils/LazyLoader/markdown';\nimport lazyLoadMathJax from '../utils/LazyLoader/third-party/mathjax';\n\nconst RealMarkdown = lazy(markdown);\n\n/**\n * A component that renders Markdown text as specified by the\n * GitHub Markdown spec. These component uses\n * [react-markdown](https://github.com/remarkjs/react-markdown) under the hood.\n */\nexport default function Markdown({\n mathjax = false,\n dangerously_allow_html = false,\n dedent = true,\n ...props\n}: MarkdownProps) {\n useEffect(() => {\n if (mathjax) {\n lazyLoadMathJax();\n }\n }, [mathjax]);\n\n return (\n \n \n \n );\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./radioitems.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./radioitems.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {useMemo} from 'react';\nimport {RadioItemsProps, PersistedProps, PersistenceTypes} from '../types';\nimport './css/radioitems.css';\n\nimport {sanitizeOptions} from '../utils/optionTypes';\nimport LoadingElement from '../utils/_LoadingElement';\nimport {OptionsList} from '../utils/optionRendering';\nimport {isNil} from 'ramda';\n\n/**\n * RadioItems is a component that encapsulates several radio item inputs.\n * The values and labels of the RadioItems is specified in the `options`\n * property and the seleced item is specified with the `value` property.\n * Each radio item is rendered as an input with a surrounding label.\n */\nexport default function RadioItems({\n className,\n id,\n style,\n setProps,\n value,\n inputStyle = {},\n inputClassName = '',\n labelStyle = {},\n labelClassName = '',\n options = [],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n inline = false,\n}: RadioItemsProps) {\n const sanitizedOptions = useMemo(() => {\n return sanitizeOptions(options).options;\n }, [options]);\n\n const stylingProps = {\n id,\n className: 'dash-radioitems ' + (className ?? ''),\n style,\n optionClassName: inline ? 'dash-radioitems-inline' : undefined,\n inputStyle,\n inputClassName,\n labelStyle,\n labelClassName,\n };\n\n return (\n \n {loadingProps => (\n {\n if (selection.length) {\n setProps({value: selection[selection.length - 1]});\n }\n }}\n {...stylingProps}\n />\n )}\n \n );\n}\n\nRadioItems.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","export default () =>\n import(/* webpackChunkName: \"slider\" */ '../../fragments/RangeSlider');\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./sliders.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./sliders.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {lazy, Suspense} from 'react';\nimport {PersistedProps, PersistenceTypes, RangeSliderProps} from '../types';\nimport rangeSlider from '../utils/LazyLoader/rangeSlider';\n\nimport './css/sliders.css';\n\nconst RealRangeSlider = lazy(rangeSlider);\n\n/**\n * A double slider with two handles.\n * Used for specifying a range of numerical values.\n */\nexport default function RangeSlider({\n updatemode = 'mouseup',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n // eslint-disable-next-line no-magic-numbers\n verticalHeight = 400,\n step = undefined,\n allow_direct_input = true,\n ...props\n}: RangeSliderProps) {\n // Some considerations for the default value of `step`:\n // If the range consists of integers, default to a value of `1`\n // Otherwise, leave it undefined\n if (\n typeof step === 'undefined' &&\n Number.isInteger(props.min) &&\n Number.isInteger(props.max)\n ) {\n step = 1;\n }\n\n return (\n \n \n \n );\n}\n\nRangeSlider.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","import {omit} from 'ramda';\nimport React, {lazy, Suspense, useCallback, useMemo} from 'react';\nimport {\n PersistedProps,\n PersistenceTypes,\n RangeSliderProps,\n SliderProps,\n} from '../types';\nimport rangeSlider from '../utils/LazyLoader/rangeSlider';\nimport './css/sliders.css';\n\nconst RealSlider = lazy(rangeSlider);\n\n/**\n * A slider component with a single handle.\n */\nexport default function Slider({\n updatemode = 'mouseup',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n // eslint-disable-next-line no-magic-numbers\n verticalHeight = 400,\n step = undefined,\n allow_direct_input = true,\n setProps,\n value,\n drag_value,\n ...props\n}: SliderProps) {\n // This is actually a wrapper around a RangeSlider.\n // We'll modify key `Slider` props to be compatible with a Range Slider.\n\n // Some considerations for the default value of `step`:\n // If the range consists of integers, default to a value of `1`\n // Otherwise, leave it undefined\n if (\n typeof step === 'undefined' &&\n Number.isInteger(props.min) &&\n Number.isInteger(props.max)\n ) {\n step = 1;\n }\n\n const mappedValue: RangeSliderProps['value'] = useMemo(() => {\n return typeof value === 'number' ? [value] : value;\n }, [value]);\n\n const mappedDragValue: RangeSliderProps['drag_value'] = useMemo(() => {\n return typeof drag_value === 'number' ? [drag_value] : drag_value;\n }, [drag_value]);\n\n const mappedSetProps: RangeSliderProps['setProps'] = useCallback(\n newProps => {\n const {value, drag_value} = newProps;\n const mappedProps: Partial = omit(\n ['value', 'drag_value', 'setProps'],\n newProps\n );\n if ('value' in newProps) {\n mappedProps.value = value ? value[0] : value;\n }\n if ('drag_value' in newProps) {\n mappedProps.drag_value = drag_value\n ? drag_value[0]\n : drag_value;\n }\n\n setProps(mappedProps);\n },\n [setProps]\n );\n\n return (\n \n \n \n );\n}\n\nSlider.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","import {equals, isNil} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Abstraction for the memory storage_type to work the same way as local/session\n *\n * Each memory Store component get it's own MemStore.\n */\nclass MemStore {\n constructor() {\n this._data = {};\n this._modified = -1;\n }\n\n getItem(key) {\n return this._data[key];\n }\n\n setItem(key, value) {\n this._data[key] = value;\n this.setModified(key);\n }\n\n removeItem(key) {\n delete this._data[key];\n this.setModified(key);\n }\n\n // noinspection JSUnusedLocalSymbols\n setModified(_) {\n this._modified = Date.now();\n }\n\n // noinspection JSUnusedLocalSymbols\n getModified(_) {\n return this._modified;\n }\n}\n\n/**\n * Abstraction for local/session storage_type.\n *\n * Single instances for localStorage, sessionStorage\n */\nclass WebStore {\n constructor(storage) {\n this._storage = storage;\n }\n\n getItem(key) {\n try {\n return JSON.parse(this._storage.getItem(key));\n } catch (e) {\n // in case we somehow got a non-JSON value in storage,\n // just ignore it.\n return null;\n }\n }\n\n setItem(key, value) {\n this._storage.setItem(key, JSON.stringify(value));\n this.setModified(key);\n }\n\n removeItem(key) {\n this._storage.removeItem(key);\n this._storage.removeItem(`${key}-timestamp`);\n }\n\n setModified(key) {\n this._storage.setItem(`${key}-timestamp`, Date.now());\n }\n\n getModified(key) {\n return (\n Number.parseInt(this._storage.getItem(`${key}-timestamp`), 10) || -1\n );\n }\n}\n\n/**\n * Easily keep data on the client side with this component.\n * The data is not inserted in the DOM.\n * Data can be in memory, localStorage or sessionStorage.\n * The data will be kept with the id as key.\n */\nexport default class Store extends React.Component {\n constructor(props) {\n super(props);\n\n if (props.storage_type === 'local') {\n this._backstore = new WebStore(window.localStorage);\n } else if (props.storage_type === 'session') {\n this._backstore = new WebStore(window.sessionStorage);\n } else if (props.storage_type === 'memory') {\n this._backstore = new MemStore();\n }\n\n this.onStorageChange = this.onStorageChange.bind(this);\n }\n\n onStorageChange(e) {\n const {id, setProps} = this.props;\n if (e.key === id && setProps && e.newValue !== e.oldValue) {\n setProps({\n data: JSON.parse(e.newValue),\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n\n UNSAFE_componentWillMount() {\n const {setProps, id, data, storage_type} = this.props;\n if (storage_type !== 'memory') {\n window.addEventListener('storage', this.onStorageChange);\n }\n\n const old = this._backstore.getItem(id);\n if (isNil(old) && !isNil(data)) {\n // Initial data mount\n this._backstore.setItem(id, data);\n setProps({\n modified_timestamp: this._backstore.getModified(id),\n });\n return;\n }\n\n if (!equals(old, data)) {\n setProps({\n data: old,\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n\n componentWillUnmount() {\n if (this.props.storage_type !== 'memory') {\n window.removeEventListener('storage', this.onStorageChange);\n }\n }\n\n componentDidUpdate() {\n const {data, id, clear_data, setProps} = this.props;\n if (clear_data) {\n this._backstore.removeItem(id);\n setProps({\n clear_data: false,\n data: null,\n modified_timestamp: this._backstore.getModified(id),\n });\n return;\n }\n const old = this._backstore.getItem(id);\n // Only set the data if it's not the same data.\n // If the new data is undefined, we got here by overwriting the entire\n // component with a new copy that has no `data` specified - so pull back\n // out the old value.\n // Note: this still allows you to set data to null\n if (!equals(data, old)) {\n if (data === undefined) {\n setProps({data: old});\n } else {\n this._backstore.setItem(id, data);\n setProps({\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n }\n\n render() {\n return null;\n }\n}\n\nStore.defaultProps = {\n storage_type: 'memory',\n clear_data: false,\n modified_timestamp: -1,\n};\n\nStore.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string.isRequired,\n\n /**\n * The type of the web storage.\n *\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n storage_type: PropTypes.oneOf(['local', 'session', 'memory']),\n\n /**\n * The stored data for the id.\n */\n data: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n /**\n * Set to true to remove the data contained in `data_key`.\n */\n clear_data: PropTypes.bool,\n\n /**\n * The last time the storage was modified.\n */\n modified_timestamp: PropTypes.number,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./tabs.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./tabs.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport './css/tabs.css';\nimport {TabProps} from '../types';\n\n/**\n * Part of dcc.Tabs - this is the child Tab component used to render a tabbed page.\n * Its children will be set as the content of that tab, which if clicked will become visible.\n */\nfunction Tab({\n children,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disabled = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disabled_style = {color: 'var(--Dash-Text-Disabled)'},\n}: TabProps) {\n return <>{children};\n}\n\nexport default Tab;\n","import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport {has, isNil} from 'ramda';\n\nimport LoadingElement from '../utils/_LoadingElement';\nimport {PersistedProps, PersistenceTypes, TabProps, TabsProps} from '../types';\nimport './css/tabs.css';\nimport {DashComponent} from '@dash-renderer/types';\n\ninterface EnhancedTabProps extends TabProps {\n selected: boolean;\n componentPath?: (string | number)[];\n}\n\n// EnhancedTab is defined here instead of in Tab.tsx because if exported there,\n// it will mess up the Python imports and metadata.json\nconst EnhancedTab = ({\n id,\n label,\n selected,\n className,\n style,\n selected_className,\n selected_style,\n setProps: selectHandler,\n value,\n disabled = false,\n disabled_style = {color: 'var(--Dash-Text-Disabled)'},\n disabled_className,\n componentPath,\n}: EnhancedTabProps) => {\n const ExternalWrapper = window.dash_component_api.ExternalWrapper;\n const ctx = window.dash_component_api.useDashContext();\n componentPath = componentPath ?? ctx.componentPath;\n // We use the raw path here since it's up one level from\n // the tabs child.\n const isLoading = ctx.useLoading({rawPath: componentPath});\n const tabStyle = useMemo(() => {\n return {\n ...style,\n ...(disabled ? disabled_style : {}),\n ...(selected ? selected_style : {}),\n };\n }, [style, disabled, disabled_style, selected, selected_style]);\n\n const tabClassNames = useMemo(() => {\n let names = 'tab';\n if (disabled) {\n names += ' tab--disabled';\n if (disabled_className) {\n names += ` ${disabled_className}`;\n }\n }\n if (selected) {\n names += ' tab--selected';\n if (selected_className) {\n names += ` ${selected_className}`;\n }\n }\n if (className) {\n names += ` ${className}`;\n }\n return names;\n }, [className, disabled, disabled_className, selected, selected_className]);\n\n let labelDisplay;\n if (typeof label === 'object') {\n labelDisplay = (\n \n );\n } else {\n labelDisplay = {label};\n }\n\n return (\n {\n if (!disabled) {\n selectHandler({value});\n }\n }}\n >\n {labelDisplay}\n
\n );\n};\n\n/**\n * A Dash component that lets you render pages with tabs - the Tabs component's children\n * can be dcc.Tab components, which can hold a label that will be displayed as a tab, and can in turn hold\n * children components that will be that tab's content.\n */\nfunction Tabs({\n // eslint-disable-next-line no-magic-numbers\n mobile_breakpoint = 800,\n colors = {\n border: 'var(--Dash-Stroke-Weak)',\n primary: 'var(--Dash-Fill-Interactive-Strong)',\n background: 'var(--Dash-Fill-Interactive-Weak)',\n },\n vertical = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n children,\n ...props\n}: TabsProps) {\n const initializedRef = useRef(false);\n const [isAboveBreakpoint, setIsAboveBreakpoint] = useState(false);\n\n const parseChildrenToArray = useCallback((): DashComponent[] => {\n if (!children) {\n return [];\n }\n if (children instanceof Array) {\n return children;\n }\n return [children];\n }, [children]);\n\n const valueOrDefault = (): string | undefined => {\n if (has('value', props)) {\n return props.value;\n }\n const children = parseChildrenToArray();\n if (children && children.length && children[0].props.componentPath) {\n const firstChildren: TabProps = window.dash_component_api.getLayout(\n [...children[0].props.componentPath, 'props']\n );\n return firstChildren.value ?? 'tab-1';\n }\n return 'tab-1';\n };\n\n // Initialize value on mount if not set\n useEffect(() => {\n if (!initializedRef.current && !has('value', props)) {\n props.setProps({\n value: `${valueOrDefault()}`,\n });\n initializedRef.current = true;\n }\n }, []);\n\n // Setup matchMedia for responsive breakpoint\n useEffect(() => {\n const mediaQuery = window.matchMedia(\n `(min-width: ${mobile_breakpoint}px)`\n );\n\n // Set initial value\n setIsAboveBreakpoint(mediaQuery.matches);\n\n // Listen for changes\n const handler = (e: MediaQueryListEvent) =>\n setIsAboveBreakpoint(e.matches);\n mediaQuery.addEventListener('change', handler);\n\n return () => mediaQuery.removeEventListener('change', handler);\n }, [mobile_breakpoint]);\n\n let EnhancedTabs: JSX.Element[];\n let selectedTab;\n\n const value = valueOrDefault();\n\n if (children) {\n const children = parseChildrenToArray();\n\n EnhancedTabs = children.map((child, index) => {\n // TODO: handle components that are not dcc.Tab components (throw error)\n // enhance Tab components coming from Dash (as dcc.Tab) with methods needed for handling logic\n let childProps: Omit;\n\n if (React.isValidElement(child) && child.props.componentPath) {\n childProps = window.dash_component_api.getLayout([\n ...child.props.componentPath,\n 'props',\n ]);\n } else {\n // In case the selected tab is a string.\n childProps = {};\n }\n\n if (!childProps.value) {\n childProps = {...childProps, value: `tab-${index + 1}`};\n }\n\n // check if this child/Tab is currently selected\n if (childProps.value === value) {\n selectedTab = child;\n }\n\n const style = childProps.style ?? {};\n if (typeof childProps.width === 'number') {\n style.width = `${childProps.width}px`;\n style.flex = '0 0 auto';\n } else if (typeof childProps.width === 'string') {\n style.width = childProps.width;\n style.flex = '0 0 auto';\n }\n\n return (\n \n );\n });\n }\n\n const selectedTabContent = !isNil(selectedTab) ? selectedTab : '';\n\n const tabContainerClassNames = useMemo(() => {\n let names = 'tab-container';\n if (vertical) {\n names += ` tab-container--vert`;\n }\n if (props.className) {\n names += ` ${props.className}`;\n }\n return names;\n }, [vertical, props.className]);\n\n const tabContentClassNames = useMemo(() => {\n let names = 'tab-content';\n if (vertical) {\n names += ` tab-content--vert`;\n }\n if (props.content_className) {\n names += ` ${props.content_className}`;\n }\n return names;\n }, [vertical, props.content_className]);\n\n const tabParentClassNames = useMemo(() => {\n let names = 'tab-parent';\n if (vertical) {\n names += ` tab-parent--vert`;\n }\n if (isAboveBreakpoint) {\n names += ' tab-parent--above-breakpoint';\n }\n if (props.parent_className) {\n names += ` ${props.parent_className}`;\n }\n return names;\n }, [vertical, isAboveBreakpoint, props.parent_className]);\n\n // Set CSS variables for dynamic styling\n const cssVars = {\n '--tabs-border': colors.border,\n '--tabs-primary': colors.primary,\n '--tabs-background': colors.background,\n } as const;\n\n return (\n \n {loadingProps => (\n \n \n {EnhancedTabs}\n
\n \n {selectedTabContent || ''}\n
\n
\n )}\n \n );\n}\n\nTabs.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n\nTabs.dashChildrenUpdate = true;\n\nexport default Tabs;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./textarea.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./textarea.css\";\n export default content && content.locals ? content.locals : undefined;\n","/* eslint-disable no-unused-vars */\nimport React from 'react';\nimport {pick} from 'ramda';\nimport {PersistedProps, PersistenceTypes, TextAreaProps} from '../types';\nimport './css/textarea.css';\n\nconst textAreaProps = [\n 'id',\n 'cols',\n 'rows',\n 'minLength',\n 'maxLength',\n 'contentEditable',\n 'tabIndex',\n 'form',\n 'name',\n 'placeholder',\n 'wrap',\n 'accessKey',\n 'contextMenu',\n 'dir',\n 'draggable',\n 'lang',\n 'spellCheck',\n 'style',\n 'title',\n] as const;\n\n/**\n * A basic HTML textarea for entering multiline text.\n *\n */\nconst Textarea = ({\n setProps,\n n_blur = 0,\n n_blur_timestamp = -1,\n n_clicks = 0,\n n_clicks_timestamp = -1,\n ...props\n}: TextAreaProps) => {\n const ctx = window.dash_component_api.useDashContext();\n const isLoading = ctx.useLoading();\n\n return (\n
\n
\n \n );\n};\n\nexport default Tooltip;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./dcc.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./dcc.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","e","window","module","exports","__webpack_require__","n","t","r","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","u","a","done","Promise","resolve","then","this","arguments","apply","isReady","lazy","setTimeout","regeneratorRuntime","mark","wrap","prev","next","stop","_dashprivate_isLazyComponentReady","f","length","configurable","writable","key","TypeError","dispatchEvent","CustomEvent","addEventListener","removeEventListener","_typeof","iterator","constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","Constructor","protoProps","staticProps","arg","input","prim","toPrimitive","undefined","res","hint","String","_toPrimitive","isDeepEqual","isDeepStrictEqual","_require$codes","codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","inspect","_require$types","isPromise","isRegExp","objectAssign","objectIs","RegExpPrototypeTest","lazyLoadComparison","comparison","Map","warned","assert","ok","NO_EXCEPTION_SENTINEL","innerFail","obj","message","Error","innerOk","fn","argLen","generatedMessage","err","actual","expected","operator","stackStartFn","_len","args","Array","_key","concat","fail","internalMessage","argsLen","process","emitWarning","console","warn","errArgs","equal","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","strictEqual","notStrictEqual","Comparison","keys","_this","instance","_classCallCheck","forEach","expectedException","msg","name","push","b","compareExceptionKey","isPrototypeOf","getActual","checkIsPromise","catch","waitForActual","promiseFn","resultPromise","expectsError","error","details","fnType","expectsNoError","internalMatch","string","regexp","fnName","match","strict","_len6","_key6","throws","_len2","_key2","rejects","_len3","_key3","result","doesNotThrow","_len4","_key4","doesNotReject","_len5","_key5","ifError","newErr","origStack","stack","tmp2","split","shift","tmp1","pos","indexOf","slice","join","doesNotMatch","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","getOwnPropertyDescriptors","defineProperties","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Function","toString","has","set","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","setPrototypeOf","__proto__","getPrototypeOf","endsWith","str","search","this_len","substring","blue","green","red","white","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","copyError","source","inspectValue","val","compact","customInspect","depth","maxArrayLength","Infinity","showHidden","breakLength","showProxy","sorted","getters","_Error","_inspect$custom","subClass","superClass","_inherits","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","options","limit","stackTraceLimit","stderr","isTTY","getColorDepth","other","lastPos","end","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","columns","count","Math","floor","maxCount","log","repeat","pop","maxLines","max","_actualLines","printedLines","skippedMsg","cur","expectedLine","actualLine","divergingLines","createErrDiff","base","_res","knownOperators","code","captureStackTrace","recurseTimes","ctx","custom","util","createErrorType","Base","NodeError","_Base","arg1","arg2","arg3","getMessage","oneOf","thing","isArray","len","map","determiner","start","substr","replace","type","reason","inspected","RangeError","_slicedToArray","arr","_arrayWithHoles","return","_iterableToArrayLimit","minLen","_arrayLikeToArray","from","test","_unsupportedIterableToArray","_nonIterableRest","arr2","regexFlagsSupported","flags","arrayFromSet","array","arrayFromMap","is","objectGetOwnPropertySymbols","numberIsNaN","Number","isNaN","uncurryThis","propertyIsEnumerable","objectToString","isAnyArrayBuffer","isArrayBufferView","isDate","isMap","isSet","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","charCodeAt","pow","getOwnNonIndexProperties","compare","x","y","min","innerDeepEqual","val1","val2","memos","buf1","buf2","val1Tag","keys1","keys2","keyCheck","Date","getTime","RegExp","byteLength","Uint8Array","buffer","byteOffset","areSimilarTypedArrays","offset","areSimilarFloatArrays","_keys","_keys2","size","BigInt","isEqualBoxedPrimitive","getEnumerables","k","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","position","val2MemoA","val2MemoB","areEq","memo","aValues","Set","add","setMightHaveLoosePrim","bValues","_i","_val","setHasEqualElement","setEquiv","aEntries","_aEntries$i","item1","item2","mapMightHaveLoosePrim","bEntries","_i2","_bEntries$_i","item","mapHasEqualEntry","mapEquiv","keysA","objEquiv","delete","setValues","findLooseMatchingPrimitives","altValue","curB","key1","key2","privatePropTypes","_dashprivate_transformConfig","PropTypes","_dashprivate_transformFigure","_dashprivate_onFigureModified","EMPTY_DATA","PlotlyGraph","_Component","_callSuper","mathjax","_loadMathjax","state","prependData","extendData","clearState","setState","nextProps","figure","dataKey","data","React","ControlledPlotlyGraph","_extends","Component","RealPlotlyGraph","asyncDecorator","all","Plotly","reject","timeoutId","element","document","createElement","src","_dashPlotlyJSURL","async","onload","clearTimeout","onerror","querySelector","appendChild","lazyLoadMathJax","_ref","className","id","extendedClassName","Suspense","fallback","displayName","propTypes","responsive","clickData","clickAnnotationData","hoverData","clear_on_unhover","selectedData","relayoutData","restyleData","layout","frames","style","animate","animation_options","config","staticPlot","plotlyServerURL","editable","editSelection","edits","annotationPosition","annotationTail","annotationText","axisTitleText","colorbarPosition","colorbarTitleText","legendPosition","legendText","shapePosition","titleText","autosizable","queueLength","fillFrame","frameMargins","scrollZoom","doubleClick","doubleClickDelay","showTips","showAxisDragHandles","showAxisRangeEntryBoxes","showLink","sendData","linkText","displayModeBar","showSendToCloud","showEditInChartStudio","modeBarButtonsToRemove","modeBarButtonsToAdd","modeBarButtons","toImageButtonOptions","format","filename","width","height","scale","displaylogo","watermark","plotGlPixelRatio","topojsonURL","mapboxAccessToken","locale","locales","displayNotifier","setProps","defaultProps","frame","redraw","transition","duration","ease","graphPropTypes","graphDefaultProps","Graph_react","upload","RealUpload","Upload","contents","last_modified","children","accept","disabled","disable_click","max_size","min_size","multiple","enable_folder_selection","className_active","className_reject","className_disabled","style_active","style_reject","style_disabled","borderStyle","borderColor","backgroundColor","opacity","LoadingElement","ref","_ref$elementType","elementType","_objectWithoutProperties","_excluded","loading","dash_component_api","useDashContext","useLoading","givenProps","__webpack_exports__","A","dropdown","RealDropdown","defaultLabels","select_all","deselect_all","selected_count","clear_search","clear_selection","no_options_found","Dropdown","_ref$clearable","clearable","_ref$disabled","_ref$multi","multi","_ref$searchable","searchable","_ref$labels","labels","_ref$optionHeight","optionHeight","_ref$maxHeight","maxHeight","_ref$closeOnSelect","closeOnSelect","persisted_props","PersistedProps","persistence_type","PersistenceTypes","local","dashPersistence","allBlankCharCodes","is_string_blank_namespaceFn","original","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","parent","lastInsertedElement","_lastElementInsertedByStyleLoader","nextSibling","insertBefore","firstChild","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","locals","convert","fastIsNumeric","isNumeric","NaN","isEquivalent","v1","v2","inputProps","Input","_ref$type","HTMLInputTypes","text","_ref$inputMode","inputMode","_ref$n_blur","n_blur","_ref$n_submit","n_blur_timestamp","n_submit","_ref$debounce","n_submit_timestamp","debounce","_ref$step","step","_ref$autoComplete","autoComplete","useRef","_useState2","useState","setValue","_useState4","pendingEvent","setPendingEvent","inputId","uniqid","valprops","number","setPropValue","useCallback","current","checkValidity","onEvent","inputValue","valueAsNumber","propValue","onBlur","now","onChange","onKeyDown","setInputValue","debounceEvent","seconds","handleStepperClick","direction","currentValue","parseFloat","stepAsNum","decimalPlaces","constrainedValue","roundedValue","toFixed","useEffect","cursorPosition","selectionStart","isFinite","setSelectionRange","disabledAsBool","includes","pickedInputs","pick","isNumberInput","currentNumericValue","minValue","maxValue","isDecrementDisabled","isIncrementDisabled","loadingProps","hidden","trim","onClick","components_Input","_ref$refresh","refresh","_ref$scrollToTop","scrollToTop","href","title","cleanUrl","dash_clientside","clean_url","sanitizedUrl","useMemo","updateLocation","metaKey","shiftKey","altKey","ctrlKey","isNil","preventDefault","location","history","pushState","scrollTo","_dash_error","CalendarDirection","MathJax","additionalProps","assign","safeIsNaN","isEqual","first","second","areInputsEqual","newInputs","lastInputs","memoize_one_esm","resultFn","lastThis","lastResult","lastArgs","calledOnce","newArgs","performance","cancelTimeout","timeoutID","cancelAnimationFrame","getScrollbarSize","recalculate","div","overflow","body","offsetWidth","clientWidth","removeChild","cachedRTLResult","getRTLOffsetType","outerDiv","outerStyle","innerDiv","innerStyle","scrollLeft","defaultItemKey$1","index","createListComponent","_class","getItemOffset","getEstimatedTotalSize","getItemSize","getOffsetForIndexAndAlignment","getStartIndexForOffset","getStopIndexForStartIndex","initInstanceProps","shouldResetStyleCacheOnItemSizeChange","validateProps","_PureComponent","List","_instanceProps","_outerRef","_resetIsScrollingTimeoutId","isScrolling","scrollDirection","scrollOffset","initialScrollOffset","scrollUpdateWasRequested","_callOnItemsRendered","memoizeOne","overscanStartIndex","overscanStopIndex","visibleStartIndex","visibleStopIndex","onItemsRendered","_callOnScroll","onScroll","_getItemStyle","_this$props","itemSize","itemStyleCache","_getItemStyleCache","isHorizontal","isRtl","offsetHorizontal","left","right","top","_offset","_","__","___","_onScrollHorizontal","event","_event$currentTarget","currentTarget","scrollWidth","prevState","_resetIsScrollingDebounced","_onScrollVertical","_event$currentTarget2","clientHeight","scrollHeight","scrollTop","_outerRefSetter","outerRef","callback","delay","_resetIsScrolling","requestAnimationFrame","tick","getDerivedStateFromProps","validateSharedProps","_proto","scrollToItem","align","_this$props2","itemCount","scrollbarSize","componentDidMount","_this$props3","_callPropsCallbacks","componentDidUpdate","_this$props4","_this$state","componentWillUnmount","render","_this$props5","innerRef","innerElementType","innerTagName","itemData","_this$props5$itemKey","itemKey","outerElementType","outerTagName","useIsScrolling","_this$_getRangeToRend","_getRangeToRender","startIndex","stopIndex","items","_index","estimatedTotalSize","WebkitOverflowScrolling","willChange","pointerEvents","_this$_getRangeToRend2","_overscanStartIndex","_overscanStopIndex","_visibleStartIndex","_visibleStopIndex","_this$state2","_scrollDirection","_scrollOffset","_scrollUpdateWasRequested","_this$props6","overscanCount","_this$state3","overscanBackward","overscanForward","PureComponent","validateSharedProps$1","_ref2","_ref3","getItemMetadata$1","instanceProps","itemMetadataMap","lastMeasuredIndex","itemMetadata","findNearestItemBinarySearch$1","high","low","middle","currentOffset","estimatedItemSize","totalSizeOfMeasuredItems","VariableSizeList","maxOffset","minOffset","round","findNearestItemBinarySearch","interval","findNearestItemExponentialSearch","findNearestItem$1","getItemMetadata","resetAfterIndex","shouldForceUpdate","forceUpdate","_ref5","optionslist","OptionLabel","label","ExternalWrapper","component","componentPath","displayLabel","Option","option","isSelected","optionClassName","optionStyle","_ref2$inputType","inputType","inputClassName","inputStyle","labelClassName","labelStyle","classNames","inputClassNames","labelClassNames","role","checked","onKeyUp","readOnly","Row","selected","passThruProps","setOptionHeight","measureRef","el","immediateHeight","getBoundingClientRect","ResizeObserver","_ref4","_entry$borderBoxSize$","_entry$borderBoxSize","entry","borderBoxSize","blockSize","contentRect","observe","OptionsList","forwardRef","_ref6","onSelectionChange","_ref6$maxHeight","innerHeight","listRef","containerRef","pendingFocusRef","heightsRef","measuredHeight","setMeasuredHeight","defaultOptionHeight","getOptionHeight","_heightsRef$current$g","_listRef$current","useLayoutEffect","_listRef$current2","h","defaultListHeight","listHeight","focusOption","optionIndex","_containerRef$current","deferred","HTMLElement","focus","useImperativeHandle","focusItem","handleChange","newValue","without","append","handleItemsRendered","sizerDiv","longestOption","maxLen","_data$options$index$v","_data$options$index","sanitizeOptions","valueSet","opt","isOptionValue","entries","$apply","$call","$reflectApply","actualApply","$TypeError","$actualApply","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$defineProperty","callBindBasic","applyBind","originalFunction","func","adjustedLength","times","g","functions","time","object","expression","tuple","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","version","sources","names","mappings","sourcesContent","sourceRoot","cssWithMappingToString","list","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","sourceMapping","$SyntaxError","gopd","property","nonEnumerable","nonWritable","nonConfigurable","loose","desc","hasSymbols","toStr","defineDataProperty","supportsDescriptors","predicate","predicates","hasProtoAccessor","gOPD","$Object","$getPrototypeOf","EvalError","SyntaxError","URIError","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","XMLHttpRequest","open","responseType","response","send","status","MouseEvent","createEvent","initMouseEvent","global","navigator","userAgent","saveAs","HTMLAnchorElement","URL","webkitURL","j","download","rel","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","innerText","safari","FileReader","onloadend","readAsDataURL","isCallable","thisArg","receiver","forEachArray","charAt","forEachString","forEachObject","concatty","that","bound","arrLike","slicy","boundLength","boundArgs","joiny","Empty","implementation","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","abs","sign","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","$ObjectGPO","$ReflectGPO","needsEval","TypedArray","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt64Array","BigUint64Array","DataView","decodeURI","decodeURIComponent","encodeURI","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","parseInt","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","$exec","exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","last","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","reflectGetProto","originalGetProto","getDunderProto","O","hasPropertyDescriptors","hasArrayLengthDefineBug","origSymbol","hasSymbolSham","sym","symObj","getOwnPropertyNames","syms","$hasOwn","ctor","superCtor","super_","TempCtor","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","strClass","isFnRegex","safeRegexTest","getGeneratorFunction","GeneratorFunction","define","getPolyfill","shim","polyfill","isRegexMarker","throwRegexMarker","badStringifier","whichTypedArray","$isNaN","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isObject","isFunction","isArguments","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","objectKeys","$push","$propIsEnumerable","originalGetSymbols","source1","to","getSymbols","nextKey","letters","lacksProperEnumerationOrder","preventExtensions","thrower","assignHasPendingExceptions","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","isRegex","regex","hasDescriptors","$floor","functionLengthIsConfigurable","functionLengthIsWritable","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","css","sourceMap","references","updater","addElementStyle","byIndex","api","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","attributes","styleElement","nonce","nc","setAttribute","parentNode","removeStyleElement","styleSheet","cssText","createTextNode","pid","prefix","suffix","copy","fill","readUInt8","isArgumentsObject","isGeneratorFunction","isTypedArray","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","method","descriptors","formatRegExp","objects","isNull","deprecate","noDeprecation","throwDeprecation","traceDeprecation","trace","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","toUpperCase","opts","seen","stylize","stylizeNoColor","colors","isBoolean","_extend","isUndefined","stylizeWithColor","formatValue","styleType","styles","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","hash","idx","arrayToHash","isError","formatError","output","braces","toUTCString","formatProperty","formatArray","reduce","reduceToSingleString","line","ar","re","pad","debuglog","bold","italic","underline","inverse","grey","black","cyan","magenta","yellow","special","boolean","null","date","types","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","months","prop","getHours","getMinutes","getSeconds","getDate","getMonth","inherits","kCustomPromisifiedSymbol","callbackifyOnRejected","cb","newReason","promisify","promiseResolve","promiseReject","promise","callbackify","callbackified","maybeCb","rej","availableTypedArrays","globalThis","typedArrays","$slice","cache","typedArray","proto","superProto","tag","isTATag","found","getter","trySlices","tryTypedArrays","ReactJSXRuntime","jsx","maybeKey","propName","jsxs","jsxDEV","Fragment","possibleNames","out","defaultOptions","getDefaultOptions","dateLongFormatter","pattern","formatLong","timeLongFormatter","longFormatters","P","dateTimeLongFormatter","dateTimeFormat","matchResult","datePattern","timePattern","dateTime","getTimezoneOffsetInMilliseconds","_date","toDate","utcDate","UTC","getFullYear","getMilliseconds","setUTCFullYear","normalizeDates","context","dates","normalize","constructFrom","find","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isProtectedDayOfYearToken","token","isProtectedWeekYearToken","warnOrThrowProtectedError","_message","subject","toLowerCase","millisecondsInWeek","millisecondsInDay","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","constructFromSymbol","for","differenceInCalendarDays","laterDate","earlierDate","_normalizeDates2","in","laterDate_","earlierDate_","laterStartOfDay","startOfDay","earlierStartOfDay","laterTimestamp","earlierTimestamp","getDayOfYear","date_","setFullYear","setHours","startOfYear","addLeadingZeros","targetLength","padStart","lightFormatters","signedYear","year","M","month","dayPeriodEnumValue","H","S","numberOfDigits","milliseconds","trunc","formatters","G","localize","era","ordinalNumber","unit","Y","signedWeekYear","getWeekYear","weekYear","R","getISOWeekYear","Q","quarter","ceil","q","L","w","week","getWeek","I","isoWeek","getISOWeek","D","dayOfYear","E","dayOfWeek","getDay","day","localDayOfWeek","weekStartsOn","isoDayOfWeek","dayPeriod","hours","B","K","X","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","z","T","delimiter","absOffset","minutes","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","_options$locale","_options$firstWeekCon","_options$locale2","_defaultOptions$local","_ref7","_options$weekStartsOn","_options$locale3","_defaultOptions$local2","defaultLocale","firstWeekContainsDate","originalDate","isValid","firstCharacter","longFormatter","isToken","matched","preprocessor","formatterOptions","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","formatter","diff","startOfISOWeek","fourthOfJanuary","startOfISOWeekYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfWeek","firstWeek","startOfWeekYear","firstWeekOfNextYear","firstWeekOfThisYear","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","buildFormatLongFn","defaultWidth","formats","full","long","medium","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","values","argumentCallback","dirtyNumber","_options","rem100","narrow","abbreviated","wide","am","pm","midnight","noon","morning","afternoon","evening","night","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findIndex","findKey","valueCallback","rest","parsePattern","parseResult","any","enUS","formatDistance","tokenValue","addSuffix","formatRelative","_baseDate","parseISO","argument","_options$additionalDi","invalidDate","additionalDigits","dateStrings","dateString","timeString","patterns","dateTimeDelimiter","timeZoneDelimiter","timezone","splitDateString","parseYearResult","captures","restDateString","century","parseYear","dateRegex","isWeekDate","parseDateUnit","_year","validateWeekDate","isoWeekYear","getUTCDay","setUTCDate","getUTCDate","dayOfISOWeekYear","daysInMonths","isLeapYearIndex","validateDate","validateDayOfYearDate","parseDate","timestamp","timeRegex","parseTimeUnit","validateTime","parseTime","tmpDate","getUTCFullYear","getUTCMonth","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","timezoneString","timezoneRegex","_hours","validateTimezone","parseTimezone","setDate","cached","es_append","set1","set2","len1","len2","_concat","_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__","_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__","_toString_js__WEBPACK_IMPORTED_MODULE_4__","_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__","_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__","_arrayFromIterator","iter","_includesWith","pred","internal_objectIs","_uniqContentEquals","aIterator","bIterator","stackA","stackB","eq","_a","_b","_equals","aItem","typeA","equals","ignoreCase","multiline","sticky","unicode","extendedStackA","extendedStackB","_has","es_equals","_curry2","XFilter","xf","_xfBase","init","_xfilter","es_filter","_dispatchable","filterable","_isObject","reducer","acc","_arrayReduce","_filterMap","_filter","es_hasPath","_path","es_has","_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__","_curry1","f1","_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__","f2","_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__","_curry1_js__WEBPACK_IMPORTED_MODULE_0__","methodNames","transducerCreator","_isArray","_isTransformer","transducer","_includes","inf","_indexOf","_isArguments","_has_js__WEBPACK_IMPORTED_MODULE_0__","_isFunction","_isPlaceholder","_isString","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","contains","_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__","nIdx","ks","checkArgsLength","_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__","_internal_has_js__WEBPACK_IMPORTED_MODULE_1__","omit","es_reject","_map","functor","_quote","internal_toISOString","toISOString","_toString","recur","xs","mapPairs","sort","repr","es_toString","hasOrAdd","shouldAdd","prevSize","_items","_nativeSet","bIdx","internal_Set","_Set","es_without","toRemove","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","cw","mod","mode","ns","def","definition","chunkId","promises","url","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","onScriptComplete","doneFns","head","scriptUrl","importScripts","currentScript","tagName","getCurrentScript","doc_scripts","textContent","jsonpScriptSrc","__jsonpScriptSrc__","isLocal","srcFragments","fileFragments","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","bg","b64","tmp","lens","validLen","getLens","placeHoldersLen","Arr","_byteLength","curByte","revLookup","lookup","css_button","components_Button","_ref$n_clicks","n_clicks","n_clicks_timestamp","isLoading","checklist_options","checklist","Checklist","_ref$inputStyle","_ref$inputClassName","_ref$labelStyle","_ref$labelClassName","_ref$options","_ref$value","_ref$inline","inline","sanitizedOptions","stylingProps","selection","_defineProperty","_arr","_n","_d","_e","_s","_WINDOW","_DOCUMENT","_PERFORMANCE","measure","MutationObserver","_ref$userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","NAMESPACE_IDENTIFIER","DEFAULT_REPLACEMENT_CLASS","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","FontAwesomeConfig","attr","coerce","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","hooks","shims","namespace","doScroll","readyState","listener","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","invokeCallback","subscriber","owner","settled","_state","_data","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","resolver","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","results","remaining","race","meaninglessTransform","rotate","flipX","flipY","nextUniqueId","random","htmlEscape","joinStyles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","fillBlack","abstract","force","initialValue","thisContext","bindInternal4","defineIcons","icons","_params$skipHooks","skipHooks","normalized","iconName","icon","addPack","build","ligatures","ligature","hasRegular","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","joinAttributes","MissingIcon","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","asFoundIcon","vectorData","class","cx","cy","Library","definitions","additions","_pullDefinitions","_normalized$key","ensureCss","_cssInserted","innerHTML","headChildren","childNodes","beforeChild","child","insertCss","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","findIconDefinition","iconLookup","_iconLookup$prefix","library","parse","transformString","parseTransformString","iconDefinition","abstractCreator","params","_params$transform","_params$symbol","symbol","_params$mask","mask","_params$maskId","maskId","_params$title","_params$titleId","titleId","_params$classes","classes","_params$attributes","_params$styles","_params$icons","main","extra","_params$watchable","watchable","isUploadedIcon","widthClass","attrClass","xmlns","viewBox","uploadedIconWidthStyle","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","asIcon","makeInlineSvgAbstract","container","html","maybeIconDefinition","enumerableOnly","symbols","_objectSpread2","index_es_defineProperty","index_es_typeof","index_es_objectWithoutProperties","excluded","sourceKeys","index_es_objectWithoutPropertiesLoose","sourceSymbolKeys","index_es_toConsumableArray","index_es_arrayWithoutHoles","index_es_iterableToArray","index_es_nonIterableSpread","camelize","chr","_excluded$1","index_es_PRODUCTION","normalizeIconArgs","objectWithKey","index_es_excluded","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","_classes","beat","fade","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","border","listItem","flip","rotation","pull","swapOpacity","classList","renderedIcon","_console","index_es_console","extraProps","convertCurry","external_PropTypes_default","bool","oneOfType","mixins","attrs","pair","startsWith","_extraProps$style","existingStyle","external_React_default","faCheckCircle","faCopy","Generator","_regeneratorDefine2","v","GeneratorFunctionPrototype","_regenerator","_invoke","asyncGeneratorStep","_asyncToGenerator","_next","_throw","clipboardAPI","clipboard","wait","ms","Clipboard","_React$Component","copyToClipboard","onClickHandler","copySuccess","getTargetText","stringifyId","copied","prevProps","wild","_copySuccess","_callee","htmlContent","showCopiedIcon","blobHtml","blobText","_context","ClipboardItem","write","writeText","_x","_x2","target_id","getElementById","_loading","_callee2","_context2","_copyToClipboard","_callee3","_context3","html_content","copied_children","button_children","DashContext","ConfirmDialog","_update","displayed","shouldTriggerDisplay","cancel_n_clicks","submit_n_clicks","confirm","submit_n_clicks_timestamp","cancel_n_clicks_timestamp","ConfirmDialogProvider","wrapClick","datePickerRange","DatePickerPersistence","extract","parsed","storedValue","RealDatePickerRange","DatePickerRange","_ref$calendar_orienta","calendar_orientation","_ref$is_RTL","is_RTL","_ref$day_size","day_size","_ref$with_portal","with_portal","_ref$with_full_screen","with_full_screen_portal","_ref$first_day_of_wee","first_day_of_week","_ref$number_of_months","number_of_months_shown","_ref$stay_open_on_sel","stay_open_on_select","_ref$reopen_calendar_","reopen_calendar_on_clear","_ref$show_outside_day","show_outside_days","_ref$updatemode","updatemode","_ref$disabled_days","start_date","end_date","disabled_days","persistenceTransforms","transformDate","datePickerSingle","RealDatePickerSingle","DatePickerSingle","_ref$placeholder","placeholder","getValue","Download","toByteArray","blob","isRequired","Geolocation","success","update_now","geolocation","positionOptions","enableHighAccuracy","high_accuracy","maximumAge","maximum_age","getCurrentPosition","updatePosition","_crd$latitude","_crd$longitude","_crd$accuracy","_crd$altitude","_crd$altitudeAccuracy","_crd$speed","_crd$heading","crd","coords","position_obj","lat","latitude","lon","longitude","accuracy","alt","altitude","alt_accuracy","altitudeAccuracy","speed","heading","local_date","toLocaleString","position_error","show_alert","alert","Interval","intervalId","reportInterval","handleTimer","max_intervals","n_intervals","clearTimer","setInterval","clearInterval","resetTimer","_toPairs","pairs","es_toPairs","XAny","_xany","es_any","DebugTitle","spinnerComponentOptions","graph","debugTitle","fullscreen","debug","spinnerClass","cube","color","circle","dot","coveringSpinner","visibility","display","justifyContent","alignItems","components_Loading","targetComponents","_ref3$display","_ref3$color","parent_className","parent_style","overlay_style","_ref3$show_initially","show_initially","_ref3$type","spinnerType","_ref3$delay_hide","delay_hide","_ref3$delay_show","delay_show","target_components","custom_spinner","useSelector","stringPath","loadingChildren","toPairs","load","showSpinner","setShowSpinner","dismissTimer","showTimer","containerStyle","Spinner","getSpinner","Location","onLocationChange","_this2","pathname","propsToSet","checkExistsUpdateWindowLocation","fieldName","propVal","pathnameUpdated","hrefUpdated","hashUpdated","searchUpdated","searchVal","hashVal","propsToChange","History","dispatchChangeEvent","markdown","RealMarkdown","Markdown","_ref$mathjax","_ref$dangerously_allo","dangerously_allow_html","_ref$dedent","dedent","radioitems_options","RadioItems","radioitems","rangeSlider","sliders_options","sliders","RealRangeSlider","RangeSlider","_ref$verticalHeight","verticalHeight","_ref$allow_direct_inp","allow_direct_input","isInteger","RealSlider","Slider","drag_value","mappedValue","mappedDragValue","mappedSetProps","newProps","mappedProps","MemStore","_modified","setModified","WebStore","storage","_storage","getItem","setItem","removeItem","Store","storage_type","_backstore","localStorage","sessionStorage","onStorageChange","oldValue","modified_timestamp","getModified","old","clear_data","tabs_options","tabs","components_Tab","disabled_style","EnhancedTab","selected_className","selected_style","selectHandler","_ref$disabled_style","disabled_className","labelDisplay","rawPath","tabStyle","tabClassNames","_toConsumableArray","Tabs","EnhancedTabs","selectedTab","_ref2$mobile_breakpoi","mobile_breakpoint","_ref2$colors","primary","background","_ref2$vertical","vertical","initializedRef","isAboveBreakpoint","setIsAboveBreakpoint","parseChildrenToArray","valueOrDefault","_firstChildren$value","getLayout","mediaQuery","matchMedia","matches","handler","_childProps$style","childProps","flex","selectedTabContent","tabContainerClassNames","tabContentClassNames","content_className","tabParentClassNames","cssVars","content_style","dashChildrenUpdate","components_Tabs","textarea_options","css_textarea","textAreaProps","Textarea","required","autoFocus","components_Textarea","tooltip_options","tooltip","components_Tooltip","_ref$show","show","_ref$targetable","targetable","_ref$direction","_ref$border_color","border_color","_ref$background_color","background_color","_ref$className","_ref$zindex","zindex","_ref$loading_text","loading_text","bbox","show_tooltip","is_loading","x0","x1","y0","y1","dcc_options","dcc"],"sourceRoot":""} \ No newline at end of file diff --git a/dash/dcc/package-info.json b/dash/dcc/package-info.json index 67011908dd..31944242c3 100644 --- a/dash/dcc/package-info.json +++ b/dash/dcc/package-info.json @@ -1,6 +1,6 @@ { "name": "dash-core-components", - "version": "4.5.2", + "version": "4.5.3", "description": "Core component suite for Dash", "repository": { "type": "git", diff --git a/dash/html/package-info.json b/dash/html/package-info.json index c8a91b33f9..7ee88ed685 100644 --- a/dash/html/package-info.json +++ b/dash/html/package-info.json @@ -1,6 +1,6 @@ { "name": "dash-html-components", - "version": "4.5.2", + "version": "4.5.3", "description": "Vanilla HTML components for Dash", "main": "lib/index.js", "repository": {